谷歌造出AI调香师:看一眼分子结构,就知道它闻起来什么味儿

郭一璞 发自 凹非寺

量子位 报道 | 公众号 QbitAI

图像、语言、声音、游戏,一直是AI界最喜欢“调戏”的几个目标。

不过现在,谷歌把手伸向了一个不同的领域——气味。

把一个物质的分子结构,经过两轮神经网络的处理,就能把知道这种东西闻起来是玫瑰的芬芳,还是烤肉的香气。

这就是一个AI调香师嘛!

而且,还能顺便把气味“量化”,让计算机理解气味。

这不禁让人觉得,或许有一天我们可以通过计算机和通信系统传输气味了呢,看美食纪录片的时候也能闻到节目里的菜品了。

万物皆可向量

向量,一直是机器学习er的好盆友,不止在研究语言的时候有词向量,研究分子的时候,也可以把它用向量表示。

我们知道,分子是很多不同原子按照一定规则连接在一起的,每个原子就是一个节点,因此可以把每个节点用一个向量表示,然后每个节点上的原子再把向量传递到它的邻居原子那里去。

谷歌造出AI调香师:看一眼分子结构,就知道它闻起来什么味儿

每个向量里,可以把它是什么元素、氢键的数量等各种中学化学课本里的基本特性带上。

而每个原子和什么样的原子连接,构成了分子的模样,也决定了它是什么物质。因此,需要把每个节点上的原子和它“邻居”们的信息打包在一起,用神经网络转换成关于这个节点的新信息。

谷歌造出AI调香师:看一眼分子结构,就知道它闻起来什么味儿

这样,就可以用计算机的“思维方式”表述一种化学物质了,这种方法可以用图(graph)表示。

然后,把图扔进一个图神经网络(GNN)里,就可以预测出这种分子闻起来是什么味儿了。

看这张动图,就为我们展示了这个过程的全貌:

谷歌造出AI调香师:看一眼分子结构,就知道它闻起来什么味儿

整个过程需要两只神经网络,完成这样的转化:

谷歌造出AI调香师:看一眼分子结构,就知道它闻起来什么味儿

 画的不好,大家感受下

香味数据集

思路已经有了,那么为了训练神经网络,需要一些数据,能把一种分子和它是什么味儿的对应起来。

这下,香水行业的人类专家们发挥了自己的作用。

研究者们找到了两个经过专业调香师标注的数据集,有3784个分子的GoodScents香水材料数据集和有3561个分子的Leffingwell PMP 2001数据集,去重之后剩下了5030个分子,组成了QSOR的数据集。

每种分子都配有一到十几个文字描述的标签,比如菠萝味、奶酪味、面包味、坚果味,或者……没味。

谷歌造出AI调香师:看一眼分子结构,就知道它闻起来什么味儿

 有X个标签的分子 & 每个标签下有多少种分子

这样复杂的描述听起来很像高级红酒、咖啡、或巧克力对它们味道的描述,写着有柑橘味、莓果味、坚果味,可是你喝的时候却感觉差别不大,只能得出一个结论:真香。

毕竟,普通人也不知道标签里的Sweet Green是什么味道啊!

不过,这个数据集也有个bug:

因为它是香水行业的数据集,所以只有香味,没有臭味……这也可能是个feature?

最后,不用的方法在这个QSOR数据集上的表现是这样的,GNN得到了最高的分数:

谷歌造出AI调香师:看一眼分子结构,就知道它闻起来什么味儿

如何量化气味

不过,如果只是能用香菜味、烤肉味这样的词汇来形容气味,势必无法完成更深入的研究,因此,需要用计算机的方法系统的将各种分子和气味表示出来。

我们知道,图像在计算机上是一个一个的像素格子,然后把每个格子的颜色表示为RGB值,只要知道了RGB值,就能知道它是红的还是绿的,深色还是浅色。

谷歌造出AI调香师:看一眼分子结构,就知道它闻起来什么味儿

音频也有自己的波形图。

谷歌造出AI调香师:看一眼分子结构,就知道它闻起来什么味儿

那么,气味该怎么表示?

和NLP世界的词嵌入一样,研究者们用了一种叫“气味嵌入(odor embedding)”的方法:

谷歌造出AI调香师:看一眼分子结构,就知道它闻起来什么味儿
谷歌造出AI调香师:看一眼分子结构,就知道它闻起来什么味儿

在用气味嵌入的方法后,看起来和PS里的RGB图非常类似,不同的区域意味着不同的味道。

这样,计算机就可以用自己的方式理解气味了,气味也和图像、文字、声音一样,实现了电子化。

传送门

论文:

Machine Learning for Scent: Learning Generalizable Perceptual Representations of Small Molecules

https://arxiv.org/abs/1910.10685

谷歌博客:

https://ai.googleblog.com/2019/10/learning-to-smell-using-deep-learning.html

版权所有,未经授权不得以任何形式转载及使用,违者必究。