教学参考-38
来自cslt Wiki
教学目标
- 了解化学反应的复杂性以及对化学反应进行分类的重要性
- 理解将化学反应方程表示为SMILIES格式的意义
- 了解BERT序列建模的方法,以及利用BERT进行化学反应分类的基本思路
- 引导学生思考用自然语言模型来处理化学反应分类背后的跨学科思路
- 引导学生思考用类似的方法解决更复杂化学问题的方法,如判断反应能否发生,或发现更强大的催化剂等
教学内容
无处不在的化学反应
- 化学反应的重要性不言而喻,我们身边无时无刻都有化学反应在发生。小到你的每一次呼吸,大到火山喷发,都伴随着大量的化学反应。
- 随着科技的发展,化学反应也越来越多地影响着我们的生活。20世纪初合成氨技术的出现让我们走出了靠天吃饭的第一步;2021年中国科学院在国际上首次实现了从二氧化碳合成淀粉,让人类看到了彻底解决饥饿问题的希望。
扑朔迷离的化学反应
- 化学反应虽然就在我们身边,但是大多数反应过程都非常复杂,科学家们要理解和掌握他们并不容易。以氨气合成为例,合成它的原材料看起来非常简单,反应过程也很直接,然而,从氨气首次被人们发现到实现高效的工业化量产足足经历了一个多世纪的时间。
- 科学家们为了合成氨气可谓是手段尽出,包括高压电弧、催化剂、高温加热等,最后均以失败告终。科学家们甚至一度以为氨的直接合成是不可能的。直到20世纪初,德国化学家通过理论计算才最终找到了氨的高效合成路径,实现了工业化量产。
化学反应的类别
- 化学反应是不同分子间的原子发生重组的过程。为了掌握化学反应的规律,科学家们对化学反应进行了分类,例如我们熟知的氧化还原反应、化合分解反应等。有机化学反应更是精确到特定的反应类型,例如硝化反应、卤化反应、氨化反应等。
- 不同反应类型具有不同的特性,如果能对化学反应的类型有清楚的认识,可以极大提高对反应条件和反应过程的理解。
BERT模型与反应方程序列化
- 2021年IBM和伯尔尼大学的研究人员在《自然-机器智能》杂志上发表了他们的最新研究成果,利用一种称为BERT的深度神经网络,成功实现了对化学反应的分类。
- BERT常用于自然语处理领域。它基于一种称为Transformer的网络结构,可以将一个序列(如一句话)总结成一个向量。这一向量包括了序列中所包含的元素以及元素之间的顺序信息。基于这一向量,可以训练一个分类器(如线性分类器或神经网络分类器),实现对序列数据的分类。
- 为了将BERT模型应用于化学反应分类,研究者首先将化学反应方程转化成一种称为SMILES的符号串格式,这相当于设计了一门描述化学反应的符号语言,并应用BERT模型来学习这门语言。右图是将化学方程式转化成SMILES符号串的示意图。
基于BERT的化学反应分类
- BERT可用于化学反应分类。首先将化学反应方程写成SMILES格式,并将首字符设为“CLS”,用来代表整个符号串。将该符号串输入到BERT模型,经过若干Transformer层后即得到一个上下文相关的编码序列,其中首字符位置输出整个符号串的代表向量。将这一向量作为数据样本训练一个分类器,即可实现对该化学反应的分类。
- 研究人员在13.2万个化学反应上做了测试,发现分类准确率可达到98.2%,而此前方法的准确率只有41.0%。不仅如此,这一模型还可以发现对分类影响最大的成分。