本人已参与【新人创作礼】活动,一起开启掘金创作之路。
论文名称:Self-referencing embedded strings (SELFIES): A 100% robust molecular string representation 论文地址:iopscience.iop.org/article/10.… 论文作者:Mario Krenn, Florian Häse, AkshatKumar Nigam, Pascal Friederich, Alan Aspuru-Guzik 作者博客:aspuru Machine Learning: Science and Technology
Who?
多伦多大学的团队,2019年中旬第一次发布。 一作 Mario Krenn是17年从维也纳大学毕业,现在是MPI的research group leader,他在科学美国人上有篇文章总结了他的研究内容:AI Designs Quantum Physics 通讯作者Alan Aspuru-Guzik是多大搞化学信息学的教授,接近5w citations,最高被引的是NeurIPS 15的一篇用CNN来学习分子的fingerprint的工作,第一次跳出传统的circular fingerprints的特征提取,引用量2k3百多。
What?
提出了称为SELFIES的分子表示方法
Why?
用SMILES生成分子:
- 语法(synthactical)规则不合法:比如括号编号对不上什么的
- 语义(semantic)规则不合法:比如化合价(valence)对不上 DeepSMILES解决了大部分语法问题,但是没有解决语义问题。 另外,用Graph生成分子不容易体现结构信息(如环的存在),字符串的表示可以理解为是2.5D的表示,所以字符串更好。
How?
Previous works 之前有专门为了ML针对SMILES的改进:DeepSMILES DeepSMILES主要就是针对环和分支特殊处理 SELFIES设计
- Branch和Ring单独被表达(语法问题)
- 用一个状态转移矩阵表示偏移(语义问题)
从而做到:即使任意生成的字符串都是合法的
具体来看,
状态转移矩阵
假设生成的SELFIES为:
[F][=C][=C][#N]那么一开始代入X0,第一行找到[F]得到[FX1]。现在是X_1,下一个字符是[=C],那就找到行为X1列为[=C]的元素,为[CX3],替掉X1就得到现在的表达式为FCX3。现在是X3,下一个字符是[=C],那就找到对应元素为[=CX2],现在的表达式更新为FC=CX2。再来一次得到[=N],表达式为FC=C=N,没有X了,所以是最终表达式。 这个例子没有展示环和分支的处理,可以看到如果进入环或者分支的话会得到函数或者,表示的是用接下来的个符号,并在这个子结构开始于的状态,出了这个子结构以状态继续。 另外, 是空字符串,ign是这个结构之后的SELFIES符号都可以被忽略,即break。 这个表只是展示了QM9数据集出现的非离子情况,SELFIES实现了对离子,同分异构体的扩展状态转移矩阵。 这里可以看到,即使生成的SELFIES不合法,经过状态转移矩阵“解码”为SMILES表达式之后也会变成合法的,有效保证了语义规则的合法性。 单独表达Branch和Ring 先讲状态转移矩阵的原因是在单独表达Branch和Ring的时候需要引入长度的概念,而这个长度是通过状态转移矩阵得到的。举个例子:SMILES字符串的生成应该熟悉了,这里没有特殊表示芳香环。然后看到SELFIES这里在
[Branch]和[Ring]之后的字符虽然都是某个原子,但是在状态转移矩阵里他们就都是数字,Branch之后的数字Q表示的是从这里之后几个字符都是在分支内,Ring之后的数字Q+1表示他和主链上成环原子的距离。 Comparison 和SMILES的对比看这个很有意思的可视化就够了:先拿VAE在QM9数据集上训练得到241维latent。上面一行:选取任意一个平面(z0和z1357),原点为圆心采样的区域(没选中的维度都是0),将他们全部解码到对应的分子评估他们合法性的比例,绿色是100%,红色是0%。下面一行:选两维(z0和z1),还是从原点为圆心,但是偏移第三个维度(-2,-1,1,2)得到的结果。 和DeepSMILES一起比,作者做的是添加扰动的实验,对合法的字符串添加1,2,3处扰动看三种表达式扰动后的合法性。SMILES是26.6%, 9,0% and 3.7%,DeepSMILES是58,9%, 35,8% and 24,3%,SELFIES全是100%。
And?
- Code实现覆盖了最完整的合成分子数据集PubChem,只用不到500个字符覆盖了72million的分子。另外支持每个环上或每个分支内最多8000个原子。
- 现在SELFIES还没办法像SMILES那样包含所有性质,包括polyvalency, aromaticity, isotopic substitution等特性。
#todo
- 这些特性是啥
- Important question:是否100%合法的latent space就都能提供足够有用的信息