目录
循环神经网络RNN(Recurrent Neural Network)
前置知识
AI for chemistry
①可以使用手动的特征工程对已有数据进行编码、特征提取,例如task1中将SMILES表达式编码为分子指纹。
②深度神经网络可以学习特征,可以用来替代前期的手动特征工程。学习教程中提到了几个常见的例子:word2vec:对分子进行向量化,促进更多的新型分子指纹出现;基于seq2seq模型学习表示为序列类型的化学数据;基于diffusion重建分子三维空间结构等等。
SMILES编码为分子指纹
SMILES表示方法缺点:①同一个物质可能有多种表示方法②空间关系无法完全表达(例如对映异构)
分子指纹是一个具有固定长度的位向量,相当于把分子向量化,每个维度代表某个基团,对应维度是1代表该分子有这个基团,若为0则没有这个基团。分子指纹的维度常常是几千,例如task1里面的分子指纹,是4个2000维度的分子指纹进行拼接得到一个维度8000的位向量,是十分庞大的数据量。所以可以采用一些降维方式对数据进行处理。类似NLP中的Bag of Word
分子指纹仍然无法准确反应分子真正的空间结构,例如苯环上基团的邻间对关系,通过深度学习可以促进更多分子指纹表示方法出现。类似NLP中word2vec方法
学习教程拓展:使用图数据(graph)表示分子是非常合适的。图网络相比于基于SMILES的序列网络,在某些方面会更胜一筹。
循环神经网络RNN(Recurrent Neural Network)
task1中使用的是机器学习中常见的决策树和随机森林模型,在task2中,引入深度学习,通过神经网络学习数据的特征和分布,简化了手动特征工程步骤。
RNN对SMILES建模是早期的一个主要方法
①RNN参数设置:学习者可以自行尝试不同的参数,对比模型的性能。
②同时,也可以学习和思考,如何将Additive , Solvent这两段的SMILES以一种“高效”的方式添加到模型的学习中,以增强模型的性能。
RNN缺点:①对长序列的记忆能力较弱,②一层一层传递导致并行能力差,耗时长。
可以尝试使用transformer架构,可以解决RNN暴露的缺点。
baseline实战
!mkdir ../model
!mkdir ../output #新建两个文件夹
首先需要准备好对应的文件夹,
优化思路和调参尝试
数据处理:考虑降维
分子指纹的选取:相关文献
调参:多研究博客/笔记。10686 一次 CTC-RNN 调参经历
阅读文献笔记
赛题官网提供了四个文献,下面是一些摘要,可以为模型优化提供灵感。
- 随机森林可能并不是优选模型,尤其是在处理使用大量特征的小型(基于反应的)数据集时。因为随机森林对于过拟合现象并不敏感,而同时高树深又被认为是过拟合的指标,这就可以解释调参时将树深增大到某一个临界值时,反而效果会下降。
- 机器学习算法模型选择的超参数优化都仅基于训练数据,如嵌套交叉验证。
- 每个指纹对每个问题集的表现都不同,并且不存在普遍适用的指纹。为了规避这个问题,可以使用多个指纹数组来生成一个输入,以提供更准确和更稳健的Lewis结构表示。在反应性预测的背景下,该模型的表现也优于可学习的表示,例如最近受到广泛关注的图卷积神经网络(GCNN)
- 研究者使用根据变压器(BERT)-编码器的双向编码器表示,通过用回归层扩展它来预测反应产率,从而对Schweller等人的rxnfp模型进行微调。
- 未来的工作可以研究注意力权重,以找出哪些标记和分子对预测的贡献最大。