药物发现中的深度学习
2017年5月9日
- 来自彼得-林德的办公桌,CDD 倡导者 -
机器学习
机器学习是关于设计和运行计算机程序,这些程序会随着经验的积累而自动改进。学习型机器应该对输入的数据做出正确的反应,它应该有能力在收集反馈信息时改进并做得更好,因为它的反应是多么好。在正式的研究中,我们说机器有一个任务(T),执行起来有一定的性能(P),要随着程序经验的积累(E)而改进。
下面是一些任务的例子。
-
- 在棋局中做出正确的动作,目标是赢。
- 猜测顾客有可能购买哪些商品。
- 预测某地明天的天气。
- 控制行走机器人的手臂和腿部运动。
- 预测设想的药物分子的代谢命运。
- 确定哪些邮件是垃圾邮件。
任务的性质可以很不一样,但共同的主题是,针对不同的输入数据,任务的执行方式应该不同,而且要适当。输入数据可以是棋盘位置,也可以是客户以前的购买记录和历史浏览行为。任务的执行总是涉及到输出数据的产生,输出数据本身可以是一个有意义的结果,也可以是对最终结果采取进一步行动的规定。学习过程试图调整任务的执行方式以获得更好的性能,这意味着随着机器经验的积累,某个输入的结果有望改变和提高。
深层和浅层机器学习
如果计算机执行任务的方式是一步到位的,输入数据直接转化为输出数据的过程,那么就说学习机的架构很浅。如果任务执行是分步进行的,比如第一个过程的输出是第二个过程的输入,以此类推,那么我们就说我们的架构很深。
作为一个浅层学习机器的例子,考虑一个原始的垃圾邮件过滤算法,它试图根据垃圾邮件指示关键词的存在来学习一个垃圾邮件检测规则。也许机器学习到"紧急"、"惊人"、"免费"等几个词是垃圾邮件的指示性关键词。根据这些词的存在总结出一个分数是一个简单的过程,这个过程很浅显,因为建立总和是一个单一的逻辑步骤。
作为深度学习机的一个例子,考虑一个图像分析系统,其任务是检测和分类数字照片中的物体。机器以像素格式获得输入,它需要确定图片中某处的一组或多组像素是否代表某个物体,比如一只狗或一辆车。没有办法直接从像素到分类对象一步到位。同一个物体在图像上可能会占据不同的空间,这取决于它与相机的距离有多近,而像素模式将取决于照片拍摄的角度。物体可能会被其他物体部分遮挡,它们在图像中的外观将取决于阴影。另外同一物体类型可能有不同的大小和颜色。
解决这个问题需要对输入数据进行分步处理,也许第一步找到轮廓,第二步找出轮廓所围成的二维形状,第三步在更高的层次上进行处理,以此类推,直到我们得出对象类。机器需要学习如何执行好每一步,才能做好整个物体识别任务。这就是深度学习。
深度是学习机架构的一种特质,我们可以拥有更多或更少的深度,但浅度和深度之间没有明确的界限。这是因为流程和步骤可以用不同的方式来定义。
特征转换
如上所述,深度学习机对输入数据的原始特征(如像素)进行处理,并将其转换为在终端问题领域具有更好表现力的高阶特征,如3D对象。这些转换被称为特征转换,机器内部会有多层次的表示方式。
学习机的设计者不需要事先知道解决某个问题需要什么样的特征变换。如果机器有足够多的训练例子,它可以计算出什么样的特征转换对执行其任务是有效的。
特征可能不符合人类的概念,我们可能无法用推理的方式解释机器如何得出某个结果。
总而言之,特征转换解释了为什么深度学习是有效的。深度学习机器设计者需要了解如何让特征学习和特征转换发生,但他或她不需要事先对要涉及的中间特征的性质有任何想法。
生物学
有趣的是,有证据表明,大脑在对视觉数据进行处理和作用时,使用了一种分步过程和一种特征转换的形式。(1)
神经信号从眼睛传到大脑的一个区域,称为初级视觉皮层。来自视网膜邻近区域的信号会刺激视觉皮层第一层的邻近细胞。看来,初级皮层处理的是低层次的特征,如不同亮度和颜色区域之间的边缘。来自视觉皮层的信号随后被进一步发送到识别物体的区域,并从那里发送到具有其他职责的区域,如分析运动。
对于数据科学家来说,这可能是一个奇怪的事实,一些早期的机器学习研究也是受到了神经科学的成果启发。但如今大多数的发展都是基于计算机科学和统计学习的成果和理论,只有极少数人打算模仿大脑的工作和学习方式。
机器学习的技术之一叫做人工神经网络,或者干脆叫神经网络。 这种技术之所以这么叫,是因为解释其工作原理的图看起来就像一幅网络化生物神经元的卡通画。同样,通常也没有打算模拟生物过程。
前馈神经网络
学习机有很多类型,每一种类型都有很多版本。我们将在这里简单介绍一种基本的例子,称为前馈神经网络。(2)存在许多高级的阐述,这些阐述被用在AlphaGo(3)和最新版本的Google翻译(4)等程序中。
下面是一个前馈网络的说明。圆圈代表人工神经元。底部是输入神经元层,顶部是输出神经元层。中间的神经元层称为隐藏层。浅层网络的隐藏层少,深层网络的隐藏层多。隐藏神经元之所以这么叫,是因为它们是学习机内部的,外面的世界不会看到它们。插图中显示的是一个只有13个神经元的例子,而真实的程序往往有成千上万的神经元。隐藏层的神经元数量可以不同。
请记住,机器将以一定的性能(P)来执行任务(T),随着经验的积累(E),它的性能应该有所提高。我们可以使用数字集来编码输入和输出,所以对于一台机器来说,一个任务总是关于生产输出数字以响应输入数字。
当尝试一项任务时,机器将处于前馈阶段。输入数据被分配给输入神经元,这意味着每个神经元被分配一个数值。如果输入数据来自黑白图像,那么我们需要的输入神经元数量与图像中的像素数量一样多。每个输入神经元都与第一隐藏层的若干神经元相连。连接意味着在前馈过程中,低级神经元的值将通过乘以连接特有的权重因子(w),然后将乘积加到连接的高端神经元上。然后,一个叫做激活函数的数学函数被应用到总和中,形成神经元的新值。这样逐层进行,直到输出层的数字相加。随着学习的进行,特定连接的权重将被调整。在我们开始学习之前,权重通常被设置为随机值,这意味着我们在一些任务上第一次尝试时,会得到随机的结果和无用的性能。
也许我们已经决定,第一个输出神经元应该对输入图像中某处有猫的概率进行编码。高输出值将意味着高猫的概率,反之亦然。机器会在前馈后记录实际结果和正确结果之间的差异。然后就会进入权重更新阶段。用某种叫做反向传播的算法来更新网络的权重,这样如果再次发出同样的任务,错误就会减少。顾名思义,反向传播的工作原理是从输出层开始,再通过隐藏层返回。只要资源允许,或者直到性能不再增加,就会继续使用新任务进行学习。很多时候,同一组任务会被重复使用很多次,我们就把每一个任务的周期称为一个训练纪元。反向传播算法是基于微积分的结果,由斯坦福大学数学心理学家David Rumelhart在1986年提出的一种神经网络的训练方法。(5)
很明显,从一开始网络就可以有多个层,但训练深度网络往往会消耗更多的计算机资源,需要更多的训练数据。这就解释了为什么随着时间的推移,深度学习变得相对更加重要。在过去的几年里,深度网络的普及率急剧上升,这不仅是因为有了更强大的硬件,还因为有了许多更足够大的数据集。一个粗略的经验法则指出,为了获得可接受的性能,大约需要5000个训练实例。(2)
其他深机
机器学习最传奇的应用之一是IBM的国际象棋计算机"深蓝"。这款产品因曾在1997年击败当时的世界冠军大师加里-卡斯帕罗夫而闻名。深蓝这个名字与多层网络没有任何关系,选择它是有其他原因的。(6)蓝色是IBM品牌形象的主色调,而深是来自于前辈棋牌计算机Deep Thought的名字。Deep Thought机器的名字曾来源于道格拉斯-亚当斯创作的喜剧科幻系列《银河系漫游指南 》中的一台计算机。(7)该系列小说中的"深思机"是为了计算出关于生命、宇宙和万物的大问题的答案。在对这个问题思考了七百五十万年后,《深思》终于给出了答案,那就是四十二。
Deep Fritz和Deep Junior是其他同名的国际象棋计算机。
说到计算机和棋类游戏,如今大多数人的注意力都在策略游戏围棋上,围棋比国际象棋更复杂,因为每步棋有更多的选择。围棋下棋机器最近才得以击败人类大师。2016年,计算机程序AlphaGo击败了九段高手李世石,取得了突破性的进展。AlphaGo确实使用了深度神经网络。(3)
药物发现中的深度学习
药物的预期效果是其与体内某些生物靶分子相互作用的结果。分子间的力量将药物和靶分子结合在一起,随后的事件将对疾病或病症产生影响。因此,药物研发项目要寻找能够与靶分子紧密结合的化合物。但是,药物也可以与体内的非靶分子结合,这可能会引起不必要的、可能是危险的副作用,必须避免。药物从肠道吸收以及代谢和排泄也取决于分子间的力量。
遗憾的是,我们无法在计算机中检查一个潜在的药物分子,以预测它将如何与体内的相关分子相互作用。其中一个原因是,我们缺乏一个很好的通用方法来预测分子间的作用力。
今天,大多数候选药物在临床上进行人体试验时都会失败。这使得整个药物制造过程成本极高,如果我们有更好的预测方法,可以节省很多资源。
QSAR
药物发现是一个反复的过程,有试错的成分。新的化合物是根据已经制成的化合物的试验数据设计的。人们试图在结构和活性之间,或者结构和任何其他属性之间找到模式,这就是所谓的定量结构-活性分析, 简称QSAR。QSAR分析试图模拟药物与靶点之间的相互作用如何取决于药物结构,但它是以间接的方式进行的,而没有试图明确模拟分子间力量背后的物理现象。
QSAR模型可以是或多或少的局部或全局模型。一个全局模型是在一组不同的化合物上进行训练的,并能对广泛的化合物产生有意义的估计。全局模型的数据集往往很大。局部模型是在一个特别感兴趣的化合物类别上进行训练,它可以产生该类别内化合物的估计值。在类似化合物的集合上,局部模型的性能通常比全局模型好得多,因此,它们被用于工作集中于某些结构类别的先导优化项目中。
当数据集非常大时,深度神经网络显示出优势。例如,2012年计算化学竞赛的获奖作品就是使用了包括深度神经网络在内的一系列方法。(8)比赛中的数据集从大约2000到50000个化合物,为每个化合物提供了几千个描述符。在这项工作中,最好的结果是来自有四个隐藏层的网络,每层有1000到4000个神经元。模型的平均R平方统计量为0.49,这意味着这些计算机模型可以解释大约一半的数据方差。
另一项神经网络QSAR研究从多个检测中同时预测化合物的活性。(9)该研究是在PubChem的19个数据集上进行的,规模从大约2000到14000个化合物。结果比其他方法的结果要好,但改变神经网络隐藏层的数量没有明显的效果。
一个药物发现项目显然希望能够在合成和检查尽可能少的化合物后确定一个候选药物,所以在这种情况下,主要的兴趣是基于小数据集的好模型。当数据集很小且主要输入由任何传统类型的分子描述符组成时,在QSAR神经网络中增加更多的层数很可能没有优势。
对接
在开发所谓的对接程序方面已经做了很多努力,这些程序是一种算法,目的是预测假设的分子与某些感兴趣的目标的结合程度。对接程序可用于筛选一系列虚拟化合物,以获得一个子集,其中较高比例的化合物实际上是良好的结合剂。
对接程序将需要检查目标分子和配体分子之间的一些可能的相对方向,并估计每个这样的姿势的结合强度。所谓的评分函数是用来估计结合强度的。症结还是在于,我们今天无法可靠地预测两个分子之间的相互作用会有多紧密。
大多数处理分子相互作用的程序都会在内部使用棍球式的分子表示方法。这些模型也会使用表达吸引力、排斥力、灵活性等因素。但能够对药物和目标分子之间的相互作用进行任何程度的精确建模,仍然是一个遥远的目标。生物环境中的分子会四处移动、振动,并被其他分子包围,从而影响结合。一个直接模拟分子相互作用的物理现实的程序,需要使用高水平的理论,并考虑一些相对的姿势和振动模式,这是如此之大,计算变得不可行。
经典的棍子和球的表示方式对于预测和解释化学中的许多现象仍然非常有用,但看起来计算化学家将需要其他的特征来完成分子间力模型的工作。当然,主要的化学输入仍将采用通常的格式,但必须让学习机器找到合适的特征转换。
最近一个使用深度学习进行对接的机器学习研究的例子是Pereira和合作者。(10)他们的学习机使用的主要特征包括化合物的每个原子的上下文数据。上下文数据是距离、原子类型、原子部分电荷和氨基酸。
综合方法
我们可以期待机器学习取得进展的另一个领域是逆合成分析。分子往往很难合成,药物发现中的很多资源都会投入到合成工作中。即使是单一的目标化合物的合成路线,也很难想出。回溯合成分析就是系统地研究可能的合成路线,以倒推的方式寻找,先从更简单的化合物开始寻找制造最终化合物的方法,然后看这些化合物如何反过来从更简单的化合物中得到。
同样,培训数据的可用性和收集数据的合作努力将是取得进展的关键。一个有趣且具有挑战性的方面是,合成化学记录几乎永远不会完全完整,因为化学家能够分析和解释的反应结果数据是有实际限制的。学习系统将需要善于处理不完整的数据。
接下来会发生什么?
数据集
越来越多的含有化学结构和活性数据的数据集被公布于众,现在已经有了免费提供质量和数量的数据库。(11)这对于计算界来说是非常重要的,因为计算界需要高质量的数据,以便能够开发新技术。基准数据集的普遍可用性将继续增加,这将引发机器学习方法在药物发现中的加速发展。发表以非公开的专有数据集为基准的计算方法将显得越来越奇怪。
云计算
制药公司必须小心翼翼地保护其知识产权,因此在数据共享方面有非常严格的政策。担心数据最终落入不法分子手中,一直是制药行业较晚采用云计算的原因。但制药业现在正将越来越多的计算基础设施外部化。基于云服务的提供商当然会意识到客户的安全问题,他们不仅要比拼技术服务质量,还要比拼安全性和可信度。云服务的使用将继续增加。
軟件
目前存在许多机器学习的开源框架,一些云计算的生态系统已经成为数据科学家工作的标准工具,例如金融预测或客户行为。研发信息人员如何将机器学习的标准工具与药物设计领域特有的工具整合起来,还有待观察。研发信息人员中的成员已经有望对机器学习有广泛的了解,来自这些领域的人员,如化学信息学家、生物信息学家、计算化学家和研发IT人员,将继续学习更多关于深度学习的知识,并利用其可能性。
QSAR的化学数据当然只是另一种形式的数据,就像对象识别的图像数据,语言解释器的音频数据,或棋牌游戏位置的国际象棋或围棋游戏机。也许QSAR的特殊性在于,与来自其他环境的数据集相比,现实生活中的数据集往往很小,而其他环境中的数据集往往有许多数量级的更多样本。深度学习需要大的数据集。也许深度网络可以通过某种方式进行训练,在一般数据的大型数据集上找到强大的特征转换,然后再在特别感兴趣的小型数据集上进一步训练。
计分功能
缺乏快速估算分子间作用力(评分函数)的良好技术是一个特别值得关注的领域。它体现了几十年来对未来进展的预测过于乐观的技术领域。使用深度学习方法可能被证明是一条前进的道路。
参考文献
- https://en.wikipedia.org/wiki/Visual_system
- Goodfellow,I.;Bengo,Y. & Courville,A.(2016),《深度学习》,麻省理工学院出版社。
- Silver, D.;Huang, A.;Maddison, C. J.;Guez, A.;Sifre, L.;van den Driessche, G.;Schrittwieser, J.;Antonoglou, I.;Panneershelvam, V.;Lanctot, M.;Dieleman, S.;Grewe, D.;Nham, J.; Kalchbrenner, N.; Sutskever, I.; Lillicrap, T.; Leach, M.; Kavukcuoglu, K.; Graepel, T. & Hassabis, D.: 'Mastering the game of Go with deep neural networks and tree search.Nature 529(2016),Nr. 7587,484-489。
- Wu, Y.; Schuster, M.; Chen, Z.; Le, Q. V.; Norouzi, M.; Macherey, W.; Krikun, M.; Cao, Y.; Gao, Q.; Macherey, K.; Klingner, J.; Shah, A.; Johnson, M.; Liu, X.; Łukasz Kaiser; Gouws, S.; Kato, Y.; Kudo, T. 。;Kazawa, H.;Stevens, K.;Kurian, G.;Patil, N.;Wang, W.;Young, C.;Smith, J.;Riesa, J.;Rudnick, A.;Vinyals, O.;Corrado, G.;Hughes, M. & Dean, J.:"Google的神经机器翻译系统。 ArXiv(1609.08144v2)。
- Rumelhart,D.E.;Hinton,G.E.;Williams,R.J.:'通过反向传播错误学习表征。 自然323(1986),Nr.6088,S.533-536。
- Hsu, F.:《深蓝背后。"打造打败世界象棋冠军的计算机" ,普林斯顿大学出版社,2002年。普林斯顿大学出版社,2002年
- https://en.wikipedia.org/wiki/Deep_Thought_(chess_computer)
- Ma, J.; Sheridan, R. P.; Liaw, A.; Dahl, G. E. & Svetnik, V. (2015), 'Deep Neural Nets as a Method for Quantitative Structure-Activity Relationships',J. Chem.Inf.Model.55(2), 263–274.
- Dahl, G., E.; Jaitly, N. & Salakhutdinov, R. (2014), 'Multi-task neural networks for QSAR predictions',arXiv(1406.1231).
- Pereira, J. C.; Caffarena, E. R. & dos Santos, C. N. (2016), 'Boosting Docking-Based Virtual Screening with Deep Learning',J. Chem.Inf.Model.56(12), 2495–2506.
- Bento, A. P.;Gaulton, A.;Hersey, A.;Bellis, L. J.;Chambers, J.;Davies, M.;Krüger, F. A.;Light, Y.;Mak, L.;McGlinchey, S.;Nowotka, M.;Papadatos, G.;Santos, R.& Overington, J. P.:"The ChEMBL bioactivity database: an update"。在。Nucleic Acids Research42 (2013), Nr. D1, S. D1083-D.D1,S. D1083-D1090。