《PeptideBERT》
https://github.com/ChakradharG/PeptideBERT
METHODS
本文的Method(方法)部分详细描述了PeptideBERT模型的架构、数据集、训练过程、以及模型微调和数据增强等内容。以下是详细的拆解:
1. 模型架构
- PeptideBERT架构基于Transformer的ProtBERT模型。ProtBERT包含12层隐藏层和12个注意力头,用于处理蛋白质序列。其核心思想是将肽序列视为“句子”,每个氨基酸对应一个“词”。
- 微调过程:在PeptideBERT的基础上,为每个特定任务(如溶血性、抗污性、溶解度预测)增加了多层感知机(MLP)作为分类头。通过对ProtBERT进行微调,模型能够适应这些下游任务。
总体步骤: 1. 首先对肽序列进行标记化处理。 2. 将这些标记化的序列输入到ProtBERT模型中,以生成特征表示。 3. 在最后一层添加分类头,用于针对不同的任务(如溶血性、抗污性、溶解度)进行分类。
2. 数据集
为了训练和测试模型,作者使用了三个不同的数据集,分别用于预测溶血性、抗污性和溶解度。每个数据集都有其特定的特征和样本分布:
- 溶血性数据集:用于预测肽类是否会引发红细胞溶解。该数据集包含9316条序列,其中19.6%为阳性样本(具有溶血性),80.4%为阴性样本(无溶血性)。数据来源于DBAASPv3数据库,主要包含L型和标准氨基酸的序列。值得注意的是,约40%的样本在不同实验中显示出相反的溶血性结果,因此相同序列可能在不同情况下被标记为阳性或阴性。
- 抗污性数据集:该任务的数据集主要包含较短的肽序列,长度在2到20个残基之间。阳性样本占20.9%,阴性样本占79.1%。这些数据来源于非溶解性和溶血性肽类,以及一些经过扰乱处理的阳性样本。
- 溶解度数据集:该数据集包含18,453条序列,阳性样本(可溶解)占47.6%,阴性样本(不可溶解)占52.4%。数据来自PROSO II数据库,溶解度的判定基于实验数据中的不同时间点对比(2009年和2010年)。
3. 数据预处理与编码
- 所有数据集的氨基酸序列都经过特定的编码方式处理,作者使用了一种基于整数的编码方法,将每个氨基酸映射为一个特定的整数。例如,氨基酸序列“A M N D V”被转换为“1 13 3 4 20”。
- 为了与ProtBERT的标记器兼容,作者首先将这些整数映射回字符形式,之后再使用ProtBERT的编码器进行重新编码。最后每个氨基酸得到embedding(一般为768维)
- 在每个序列的开头都有一个特殊的[CLS]标记,ProtBERT的输出中,[CLS]标记的嵌入向量通常被视为整个序列的全局表示。与自然语言处理中一样,[CLS]标记用于对整个序列的特征进行总结,便于下游任务中的分类操作。
4. 数据划分与增强
- 数据集划分:每个数据集按照81%训练集,9%验证集,10%测试集进行划分。通过这种划分方式,作者确保了与之前研究结果的公平比较。
- 数据增强:为了提高模型在溶解度预测任务中的表现,作者应用了多种数据增强技术:
- 随机替换(random_replace):随机替换肽序列中的一部分氨基酸为其他随机氨基酸。
- 随机删除(random_delete):随机删除序列中的部分氨基酸。
- 随机替换为A(random_replace_with_A):随机将部分氨基酸替换为“A”。
- 随机交换(random_swap):随机交换相邻氨基酸的顺序。
- 随机插入A(random_insertion_with_A):随机在序列中插入“A”氨基酸。
- 随机掩码(random_mask):随机使用[MASK]标记替换序列中的部分元素。
作者在增强数据时,首先假设过多的增强可能引入过多的噪声,因此他们逐步调整增强比例,最终选择了0.02作为大多数技术的增强比例(掩码比例例外),并通过实验确定这一比例带来了最佳性能。
数据增强后仍继承原标签。
5. 模型训练
- 优化器:使用AdamW优化器,损失函数为二元交叉熵损失函数。
- 超参数:初始学习率为0.00001,批次大小为32,模型总共训练30个epoch。在验证准确率未提高的情况下,使用ReduceLROnPlateau调度器将学习率缩小10倍。
- 硬件支持:模型训练在NVIDIA GeForce GTX 1080Ti GPU上进行。
6. 实验与微调
作者分别针对三个下游任务对模型进行了微调,每个任务对应的模型都经过了单独的训练与验证。模型通过调整超参数和应用数据增强技术来提高分类性能,并对每个任务的结果进行了分析与比较。
7. 可视化与评估
作者通过t-SNE(t分布随机邻居嵌入)对模型的分类结果进行可视化,展示了PeptideBERT对不同肽类特性的理解和分类能力。通过可视化结果可以看到,类似性质的肽类被聚类在一起,模型在不同任务中的分类效果清晰可见。
小结
本文方法部分详尽描述了PeptideBERT模型的训练和优化过程,包含了数据预处理、模型微调、数据增强、超参数调整等细节。通过在多个数据集上应用PeptideBERT,作者展示了其在不同任务中的性能,并通过可视化方法验证了模型在分类任务中的有效性。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Shouei的Blog!
评论