NeurIPS 2020 | ChemBERTa+:用于分子性质预测的大规模自监督预训练

原文标题:ChemBERTa: Large-Scale Self-Supervised Pretraining for Molecular Property Prediction

Chithrananda, Seyone, Gabriel Grand, and Bharath Ramsundar. "ChemBERTa: large-scale self-supervised pretraining for molecular property prediction." arXiv preprint arXiv:2010.09885 (2020).

地址:https://arxiv.org/abs/2209.01712v1

基于HuggingFace中的RoBERTa transformer实现。对RoBERTa的实现使用了12个注意力头和6层,产生了72种不同的注意力机制。mask每个输入字符串中15%的令牌。用的是最大值。词汇表大小为52Ktoken和最大值。序列长度512个token。在所有PubChem子集上训练了10个epoch,除了10M子集,在10M子集上训练了3个epoch,以避免观察到的过拟合。在学习恢复masked token时,模型形成了化学空间的表征拓扑,该拓扑应该推广到属性预测任务。

在MoleculeNet的几个分类任务上评估了模型:

使用DeepChem[31]中的scaffold splitter生成80/10/10的train/valid/test拆分。在微调过程中,我们添加了一个线性分类层,并通过基本模型反向传播。我们对模型进行了长达25个时期的微调,并在ROCAUC上进行了早期停止。

下游任务中:

随着预训练数据集扩大的大小(100K、250K、1M、10M)可以持续改善BBBP、ClinTox和Tox21的下游任务性能。

注意力可视化

Tokenizer

默认token策略使用来自HuggingFace tokenizer库的字节对编码器(BPE)。BPE是字符级和单词级表示的混合体,允许处理自然语言语料库中的大型词汇表。基于稀有和未知单词通常可以分解为多个已知子单词的直觉,BPE通过迭代和贪婪地合并频繁字符对来寻找最佳分词。

这种tokenizer算法与基于正则表达式的自定义SmilesTokenizer进行比较,Tox21 SR-p53任务评估预训练模型。发现SmilesTokenizer以∆PRC-AUC = +0.015略微优于BPE。尽管这一结果表明,语义上更相关的tokenizer可能会带来性能上的好处,但还需要对额外的数据集进行进一步的基准测试来验证。

from deepchem.feat import SmilesTokenizer

vocab_path = '../datasets/vocab.txt'  # path to vocab.txt
tokenizer = SmilesTokenizer(vocab_path)  # SmilesTokenizer
tokenizer.add_special_tokens({'bos_token':'[DEC]'})
tokenizer.add_special_tokens({'additional_special_tokens':['[ENC]']})
tokenizer.enc_token_id = tokenizer.additional_special_tokens_ids[0]
print(tokenizer.enc_token_id)
smiles = tokenizer('Cc1ccc(C[NH2+]CCC2CCCC(C)C2)o1')

'''
{
'input_ids': [12, 16, 15, 20, 15, 15, 15, 17, 16, 116, 16, 16, 16, 21, 16, 16, 16, 16, 17, 16, 18, 16, 21, 18, 44, 20, 13],
 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
 }
'''

由于现在ChemBERTa-2已经出来了,尽量使用ChemBERTa-2吧。

附上链接:

arxiv202209 | ChemBERTa-2+:Towards Chemical Foundation Models_羊飘的博客-CSDN博客

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值