2020HDC.Cloud硬核技术解读:基因组自动AI建模工具-AutoGenome

举报
EIHealth 发表于 2020/07/01 16:06:57 2020/07/01
【摘要】 2020年3月27日,在华为开发者大会2020(Cloud)期间,华为云发布全新AutoML工具AutoGenome用于基因组数据的建模。AutoGenome采用了超参数自动搜索、神经网络架构自动搜索和模型自动解释器等最新的AutoML技术,并且提出了全新的更加适用于基因组数据建模的残差全连接网络,在多项不同的基因组数据建模任务中,AutoGenome的准确性都超出传统模型5个百分点以上。

目前,AI技术已经广泛应用在图像、语音等领域,然而在生物医学领域,尤其是基因组学数据领域,AI的应用仍处于初期阶段。主要原因是由于基因组数据的复杂性,导致主流的基于图像和文本的模型不能很好地对基因组数据进行建模;同时,由于AI模型的搭建开发门槛较高,需要开发者有比较多的经验。

2020年3月27日,在华为开发者大会2020(Cloud)期间,华为云发布全新AutoML工具AutoGenome用于基因组数据的建模。AutoGenome采用了超参数自动搜索、神经网络架构自动搜索和模型自动解释器等最新的AutoML技术,并且提出了全新的更加适用于基因组数据建模的残差全连接网络,在多项不同的基因组数据建模任务中,AutoGenome的准确性都超出传统模型5个百分点以上。

下文主要从技术角度讲述AutoGenome中涉及到的黑科技,让我们先睹为快。

1 自动机器学习技术

1.1 自动机器学习背景

尽管AI已经应用于各行各业,并且在图像和语音等领域已经取得了让人瞩目的成绩。但是构建一个性能优异的深度学习模型仍然需要研究者投入大量的时间和资源,并且模型的性能在很大程度上也依赖于研究者的调参经验。这种现象已经严重的阻碍了AI在科研和产业界的广泛应用。

为了解决这个问题,研究人员提出了自动机器学习(AutoML)方法。AutoML目前是深度学习领域最为热门的一个话题。针对特定的机器学习任务,AutoML能够端到端的完成数据处理,特征提取,模型选择以及模型评估,节省人力和资源的消耗。在本节,我们将重点介绍超参自动搜索和神经网络结构搜索(Neural Architecture Search,NAS),其中NAS已经成为了AutoML领域最为流行的一种方法,并且取得了非常好的性能。

1.2 超参自动搜索

模型的参数主要分为参数和超参数,其中参数是通过模型的自身训练得到的,而超参数需要通过开发者自身的经验进行设置,以提高模型的训练效果。在实际的开发过程中,训练的数据量通常会比较大,模型结构复杂,计算成本也会比较高,同时每种类型的超参数都有比较多的选择,这都会导致超参搜索的计算成本高昂。目前业界比较常用的超参搜索方法主要是网格搜索,随机搜索和贝叶斯优化等。

AutoGenome在构建AI模型的时候,通过超参自动搜索的算法,能够自动的针对给定的超参数空间,无需用户的干涉,即可给出最优的参数组合。

1.3 神经网络结构搜索

网络结构搜索(NAS)是AutoML搜索中关键的一环。NAS的核心是RNN控制器,控制器针对给定的搜索空间的候选神经网络结构集合,从中产生“子网络”;接下来训练该“子网络”并评估其性能;最后逐步优化“子网络”结构,通过不断的重复上述过程,并让控制器进行学习生成更好的模型结构,最终找到一个最优的网络结构。

网络结构作为一种特殊的超参数,在机器学习整个环节中扮演着举足轻重的作用。但是传统的NAS搜索可能会消耗比较长的时间,一种非常有效的提高搜索效率的解决方式是ENAS搜索。ENAS是一种通过子网络之间参数共享的方式,实现高效的神经网络结构搜索的方法,ENAS相比于其他的NAS搜索算法,能够实现提速10倍以上的效果,同时达到和传统NAS搜索相似的结果准确度。AutoGenome采用了改进的ENAS算法,方便用户能够快速的得到最优的神经网络结构。

图1 ENAS搜索过程


2 适用于基因组数据的神经网络结构模型-RFCN

2.1 基因组数据的特点

目前最流行的CNN网络中的卷积操作能够抽提底层次特征(例如边缘特征),并进而组合低层次特征形成高层次的特征,对数据进行建模。RNN虽然在结构上和CNN有比较大的区别,但其本质也是通过整合序列上前后特征,来实现提取信息的功能。CNN和RNN非常适合从图片数据,文本数据和语音数据中提取特征。这些数据之间存在有局部相关性,即输入的特征值和周围的特征值存在有相关性,如果特征输入顺序打乱,则图片或文本的意义会完全改变。

然而通过高通量测序技术对不同分子系统水平的组学定量,得到的数据都是非序列数据,如基因突变、全基因组的基因拷贝数变异、RNA表达值、蛋白质表达量,这些数据具有以下特征:

  1. 1. 原始数据的为几千或者几万个特征(如人类两万个基因的表达量),特征之间相互独立;

  2. 2. 特征点的数目比较多,一般和样本的数目处在同一个数量级;

  3. 3. 原始数据的特征之间没有明显的时间维度和空间维度相关性(例如基因之间没有严格的先后关系和前后左右关系);

  4. 4. 原始数据的特征之间存在层次性的相互作用网络(基因调控通路/网络);

图2 基因组数据结构

同时基因组数据中存在更加复杂的,非时空关联的,层次性的连接关系。并且存在有跨层或者跳跃的连接。针对这种非欧式空间数据的建模,前馈神经网络的结构中的每一层都只会接收上一层的信息,无法反映跨层次的调控。


2.2 残差全连接神经网络的提出(RFCN)

由于定量组学数据的特殊性,开发人员提出了残差结构的变体-残差全连接神经网络(residual fully-connected neural network, RFCN)。与使用卷积作为基础算子的常规残差网络不同,残差全连接神经网络使用全连接层作为连接方式,每一层既可通过全连接层与后一层进行连接(Path 1),也可以通过跳跃连接与其他层进行相连 (Path 2),还可以连接分支网络(Path 3)。

图3 残差全连接神经网络结构

基于RFCN,并且参考ResNet/DenseNet的结构,开发人员提出RFCN的变体:RFCN-ResNet和RFCN-DenseNet。在RFCN-ResNet中, 在中间的每层,以前一层的输出和输入之和作为当前层的输入。在RFCN-DenseNet中, 在中间的每层,把前面所有层的输出串联起来作为当前层的输入。

图4 RFCN-ResNet和RFCN-DenseNet神经网络结构

2.3 随机连接残差全连接网络的提出

根据ResNet 和DenseNet的定义,跳跃连接的方式都是相对固定的。对于一个新数据而言,依然需要大量人工设定网络结构,对算法研究者的算法能力和经验要求更高;并且依靠人工设定的结构往往并不是最适合新数据的结构,解决实际问题的能力和效率是值得怀疑的。因为开发人员提出另一种RFCN的变体——随机连接残差全连接网络(randomly-wired residual fully-connected neural network (RRFCN))。这种网络架构是采用了神经网络搜索技术(Neural Architecture Search, NAS),针对不同的基因组学数据任务,搜索和生成最优的残差全连接层网络结构。通过与神经网络搜索技术的结合,生信研究者可以非常方便地搜索到适合当前研究问题的残差全连接网络结构。

图5 随机连接残差全连接网络结构

3 AutoGenome-专为基因组数据打造的AI建模框架

为了使生物医疗的研究工作者方便地使用上RFCN神经网络结构,开发人员集成了超参自动搜索,神经网络结构搜索和自动模型解释器的功能,开发出了AutoGenome。

3.1 AutoGenome框架设计

AutoGenome能够帮助科研工作者在基因组学数据上实现端到端的深度学习网络搜索,训练,评估,预测和解释的工具包,其架构如下图所示。对于监督学习任务,用户提供基因矩阵数据作为输入,并且设置好参数配置Json文件,AutoGenome根据设置的搜索空间,自动搜索出最佳的RFCN-MLP、RFCN-ResNet, RFCN-DenseNet和RRFCN网络,并且根据最优网络可以评估模型的效果获得混淆矩阵,并且可以通过计算SHAP值对特征重要性进行可视化。

对于非监督学习任务, AutoGenome可以根据所输入的数据和搜索空间的设定,选出最优的Res-VAE网络,并能方便地得到潜变量矩阵和重构矩阵。

图6 AutoGenome建模流程图

3.2 AutoGenome的调用方式

在使用过程中,开发人员对AutoGenome进行了很好的封装。如下图所示。使用者确定自己的输入数据,并通过JSON文件配置自己的搜索空间等参数,只需要执行5条命令,用户即能完成整个端到端分析。返回给用户最优的AI模型,以及模型分类的混淆矩阵和模型可解释性的图谱。

图7 AutoGenome命令行调用方式

3.3 AutoGenome的应用案例

在该案例中, 采用了小鼠的10000个单细胞测序数据,共包含10个不同时期。AutoGenome自动将数据分为训练集,验证集和测试集。自动进行训练并得到最优模型。我们测试了不同工具在独立测试集上的准确度如下图所示。

图8 AutoGenome在针对单细胞测序数据的AI建模性能

结果显示AutoGenome得到的模型的性能均大幅度优于传统的XGBoost和AutoKeras。说明AutoGenome用于基因组数据训练的模型的性能普遍优于传统的机器学习框架。

另外,AutoGenome内置了模型可解释性的接口,能够自动的针对最优AI模型进行分析,找出关键的特征来对模型进行解释。结果显示,针对单细胞的分类中,很多核糖体相关基因排在特征重要性的前列。同时这个结果是合理的,因为先前的很多研究均表明核糖体基因在胚胎发育和干细胞分化中发挥着重要作用。比如说Rpl35基因据报道在发育早期阶段具有很重要,在逐渐发育过程中,Rpl35基因表达也随之增加,因此在晚期E7.5阶段,Rpl35基因的表达值很高,倾向于预测为该阶段。

图9 AutoGenome针对单细胞数据输出的模型可解释性图谱

3.4 AutoGenome的使用

在开发过程上,AutoGenome对于AI的初学者非常友好,只需要五行代码即可快速完成端到端的基因组数据建模、准确性评估和模型解释。同时AutoGenome已经证明在多项任务上性能都达到了业内最优,自动生成的模型可解释性谱图可以直接用于生物标志物的发现或者论文初版。我们预计AutoGenome将能够广泛的支撑基因组领域的科研,药物研发,个性化诊断等领域。

图10 AutoGenome特性

目前,AutoGenome已经正式上线,官方使用文档可以参考(https://autogenome.com.cn/)。同时AutoGenome也在华为云ModelArts上面作为免费Notebook使用,https://www.huaweicloud.com/product/modelarts.html),具体方法和步骤如下:

Step 1. 创建GPU Notebook开发环境

用户可以登录华为云ModelArts平台,并创建GPU的Notebook开发环境。

图11 ModelArts平台创建Notebook开发环境

Step 2. 选择AutoGenome案例

在打开的环境中,选择ModelArts Examples – EIHealth Labs,在该条目下,我们已经提供了多个AutoGenome的案例,用户可以根据自己的项目目标打开对应的的案例,并点击”use”。

图12 在EIHealth Labs选择对应的参考案例

3. 运行AutoGenome

使用JupyterLab,点击 “File Browser”菜单栏,使用“Upload”按钮上传自己的数据。如果数据大于100Mb,建议使用OBS上传 (https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0105.html )。

图13 在Notebook环境中进行AutoGenome代码训练

4 华为云医疗智能体平台介绍

华为云EI医疗智能体(EIHealth)是华为云面向医疗行业提供的端到端的AI赋能平台,在基因组,药物研发和医疗影像领域可以极大的加速AI产品和服务的研发和应用。平台提供大量相关流程,工具镜像等资源,科研单位和企业可以基于EIHealth平台快速的搭建数据分析流程。

面对当前疫情,医疗智能体联合多家科研机构开发一系列抗疫平台服务,包括新冠病毒自动化鉴定云平台、大规模抗病毒药物筛选平台、新冠肺炎AI影像辅助诊断(https://www.huaweicloud.com/product/eihealth.html)。

图14华为云医疗智能体平台抗疫专题


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。