斯坦福教授用新算法做药物研发,只需少量训练数据 | 论文+代码

简介:
本文来自AI新媒体量子位(QbitAI)

深度学习可以通过看脸认出不同的人,帮医生检查医疗影像识别病变,将语音转成文字……在各种领域,都有着很高的准确率。

但是借助深度学习技术来开发新药,一直是个愿景美好、进展缓慢的领域。

因为在多数情况下,深度学习系统的训练需要大量数据,而在药物开发领域,数据量非常有限。如斯坦福大学化学教授Vijay Pande所说:“如果你已经拥有数千个药物设计样本,很可能已经成功开发出药物了。”

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

 Vijay Pande

不过,Pande和他的学生正在尝试把机器学习,特别是深度学习用在药物设计的早期阶段,还开发了新药研发领域的开源系统DeepChem。

训练数据从哪来?他们认为,可以借助one-shot learning来解决这类问题。one-shot learning指的是一种只需要少量数据点的深度学习系统。他们的测试证明了这种方法的确在药物开发和其他化学研究领域拥有潜力。研究结果已经发表在4月3日的《 ACS Central Science》上。

640?wx_fmt=gif&wxfrom=5&wx_lazy=1

Pande团队提出了名为迭代优化长短期记忆(iterative refinement long short-term memory)的新架构,与图卷积神经网络(graph convolutional neural networks)相结合,有效提高了算法学习小分子间有意义距离度量的能力。

为了让分子信息更易消化,研究人员首先按照原子之间的连接(数学家会将其称作图谱)呈现每个分子。这个步骤用算法可以处理的形式强调了化学成分的固有性质。

有了这些图形化的表现,该团队通过两个不同的数据集训练一套算法:一个包含了不同化学物质的毒性信息,另外一个则详细记录了已经获批的药物的副作用。从第一个数据集汇总,他们用6种化学物质训练了算法,使之预测出另外3种物质的毒性。使用第二个数据集,他们训练系统在21项任务中将药物与副作用联系起来,然后又对另外6种药物进行测试。

在这两个案例中,算法预测毒性和副作用的能力都有所提升。

然而,Ramsundar也警告称,这并不是一项“神奇”技术。它的基础是特定类型的one-shot learning技术最近取得的进步,而且还要依赖不同分子之间的紧密度,这可以通过他们的分子式间接体现。例如,当研究人员使用毒性数据训练算法,然后在副作用数据上测试时,算法就完全失效。

“这项技术或许会成为一项有益的补充,充当实验助手的角色。”

Pande的研究生、该论文的联合作者Bharath Ramsundar说。目前,化学家在研发早期,试图从一系列有潜力的候选方案中找到合适的分子时,主要凭感觉来猜。

除了可以分析药物设计外,这项工具还可以广泛应用于分子化学领域。Pande Lab已经针对太阳能电池的不同化学成分测试了这些方法。

“这是one-shot learning第一次应用在该领域,很高兴看到机器学习进步如此之快。”Pande说,“这并非终点,而是起点。”

实验中用到的所有源代码都已经开源,作为DeepChem代码库的一部分。在量子位公众号(QbitAI)对话界面回复“新药研发”,我们会将论文和DeepChem开源代码地址发给你。

本文作者:李杉 李林
原文发布时间:2017-04-05
相关文章
|
2天前
|
机器学习/深度学习 人工智能 算法
【图像版权】论文阅读:CRMW 图像隐写术+压缩算法
【图像版权】论文阅读:CRMW 图像隐写术+压缩算法
7 0
|
3天前
|
算法 关系型数据库 C语言
卡尔曼滤波简介+ 算法实现代码(转)
卡尔曼滤波简介+ 算法实现代码(转)
14 4
|
4天前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)
|
4天前
|
算法 调度
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
|
4天前
|
算法
【免费】基于ADMM算法的多微网电能交互分布式运行策略(matlab代码)
【免费】基于ADMM算法的多微网电能交互分布式运行策略(matlab代码)
|
4天前
|
算法
基于蜣螂优化算法DBO的VMD-KELM光伏发电功率预测(matlab代码+可提供讲解)
基于蜣螂优化算法DBO的VMD-KELM光伏发电功率预测(matlab代码+可提供讲解)
|
4天前
|
算法
基于白鲸优化算法BWO的VMD-KELM光伏发电功率预测(matlab代码+可提供讲解)
基于白鲸优化算法BWO的VMD-KELM光伏发电功率预测(matlab代码+可提供讲解)
|
4天前
|
算法 调度 决策智能
基于元模型优化算法的主从博弈多虚拟电厂动态定价和能量管理(matlab代码)
基于元模型优化算法的主从博弈多虚拟电厂动态定价和能量管理(matlab代码)
|
4天前
|
机器学习/深度学习 算法 数据挖掘
基于改进ISODATA算法的负荷场景曲线聚类(matlab代码)
基于改进ISODATA算法的负荷场景曲线聚类(matlab代码)
|
4天前
|
算法 Serverless 调度
基于分布式ADMM算法的考虑碳排放交易的电力系统优化调度研究(matlab代码)
基于分布式ADMM算法的考虑碳排放交易的电力系统优化调度研究(matlab代码)