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

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

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

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

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

 Vijay Pande

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

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

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
相关文章
|
27天前
|
机器学习/深度学习 算法 新能源
【优化调度】基于matlab粒子群算法求解水火电经济调度优化问题研究(Matlab代码实现)
【优化调度】基于matlab粒子群算法求解水火电经济调度优化问题研究(Matlab代码实现)
|
27天前
|
传感器 并行计算 算法
【无人机编队】基于非支配排序遗传算法II NSGA-II高效可行的无人机离线集群仿真研究(Matlab代码实现)
【无人机编队】基于非支配排序遗传算法II NSGA-II高效可行的无人机离线集群仿真研究(Matlab代码实现)
115 3
|
27天前
|
存储 算法 安全
【无人机】基于灰狼优化算法的无人机路径规划问题研究(Matlab代码实现)
【无人机】基于灰狼优化算法的无人机路径规划问题研究(Matlab代码实现)
129 0
|
27天前
|
机器学习/深度学习 传感器 数据采集
【23年新算法】基于鱼鹰算法OOA-Transformer-BiLSTM多特征分类预测附Matlab代码 (多输入单输出)(Matlab代码实现)
【23年新算法】基于鱼鹰算法OOA-Transformer-BiLSTM多特征分类预测附Matlab代码 (多输入单输出)(Matlab代码实现)
123 0
|
27天前
|
机器学习/深度学习 数据采集 算法
【创新无忧】基于白鲨算法WSO优化广义神经网络GRNN电机故障诊断(Matlab代码实现)
【创新无忧】基于白鲨算法WSO优化广义神经网络GRNN电机故障诊断(Matlab代码实现)
|
28天前
|
算法 Java 调度
【车间调度】基于GA、PSO、SA、ACO、TS优化算法的车间调度比较研究(Matlab代码实现)
【车间调度】基于GA、PSO、SA、ACO、TS优化算法的车间调度比较研究(Matlab代码实现)
108 0
|
28天前
|
机器学习/深度学习 算法 计算机视觉
【图像去噪】基于进化算法——自组织迁移算法(SOMA)的图像去噪研究(Matlab代码实现)
【图像去噪】基于进化算法——自组织迁移算法(SOMA)的图像去噪研究(Matlab代码实现)
|
1月前
|
机器学习/深度学习 算法 数据挖掘
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
|
1月前
|
机器学习/深度学习 算法 安全
计及需求响应的粒子群算法求解风能、光伏、柴油机、储能容量优化配置(Matlab代码实现)
计及需求响应的粒子群算法求解风能、光伏、柴油机、储能容量优化配置(Matlab代码实现)
|
1月前
|
算法
离散粒子群算法(DPSO)的原理与MATLAB实现
离散粒子群算法(DPSO)的原理与MATLAB实现
82 0

热门文章

最新文章