社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

Nature 综述:基于深度学习研究遗传学的可解释性

生信人 • 2 年前 • 729 次点击  
基因组学研究中,深度学习的工具已有广泛应用,然而获得新的遗传学知识,却不同于简单的找到变异或差异表达基因。近日Nature Genetic Review(IF:59)的综述论文“Obtaining genetics insights from deep learning via explainable artificial intelligence"回顾了可解释人工智能(xAI)的进展,并讨论了各类方法在高通量数据应用时的假设,局限和优势。



何为机器学习模型的可解释性

如何从基因序列,对应到疾病表型,是基于高通量测序的生物学研究的核心问题。通过机器学习模型,可以做出基因型如何影响表型的预测,而可解释的机器学习(xAI),意味着模型不仅是给出预测,模型还会给出为何会做出这样的预测。可解释性分为局部和全局两类, 局部解释的目的是确定影响模型对单一输入样本(例如,一个单独的DNA序列)的预测的重要特征。全局可解释性适用于所有输入实例,将指出影响模型整体性能的特征组合。当旨在做出实验上可检验的机械假说时,全局解释方法是合适的。当用户需要理解一个模型做出的个别预测时,如识别疾病的遗传风险时,适合采用局部解释的方法。


深度学习模型的可解释之所以困难,首先在于从数学的角度来看,深度学习模型需要以某种方式浏览一个巨大的组合搜索空间,以智能地评估组合搜索空间。现有的提供解释性的方法,例如基于梯度的、基于扰动的和基于博弈论的方法都各自都带有假设和限制,没有全局最优的模型解释策略。其次是因为是缺少从局部解释推广到对整个数据语料库的重要特征组合的全局解释的方法。第三个关键的困难是无法系统地评估解释策略,由于缺乏基准数据集,(即其中重要特征的真实集合是已知的),且当前各种算法所做假设的有效性取决于输入数据集的属性和涉及的生物过程。


下图的例子,展示了一个具有可解释性的从基因序列预测调控机制的深度学习模型,该模型包含了之后会讲的四类模型,分别是基于模型的解释(b),不同特征影响能力的数学传播(c), 指出特征间的相互作用(d)及在模型中使用先验知识(e)。


图1 可解释机器学习在遗传学上应用的四种方式示意图


上图为可解释机器学习在遗传学上应用的四种方式示意图,图中模型的输入通常是调控DNA序列(通常为100-10,000bp),经过独热编码,经过深度学习模型,旨在预测该序列活性的一些动态特性(即细胞或环境特异性)。例如,一个模型可以预测一个给定的TF是否在给定的细胞类型中与该序列结合(a)。之后经由不同的方法,对模型之所以做出预测给予解释(图b-d)。


基于模型,通过给出特征重要性使模型具有可解释性

提供解释的直观方法是考察预测网络中的各个组件代表的(隐藏的)模式及其对模型做出预测所做的的贡献。具体的做法包括直接检查隐藏神经元的活动,以提取一组相关特征,或通过注意机制训练模型,通过一组学习到的注意权重直接产生每个输入特征与预测结果的相关性度量。


例如在卷积神经网络中,第一层神经元捕获短序列模体(motif),将卷积权重矩阵应用于序列所执行的操作相当于使用位置权重矩阵(PWM)扫描序列(使用滤波器过滤)(图2a),或在选定阈值以上激活给定滤波器的子序列,并根据激活子序列集的对齐情况直接构建PWM,由此获得那些序列在网络中被激活的频率更高。值得注意的是,由于深度学习模型包含的参数数目过多,因此出现在PWM并不意味着某个短序列模型是一个预测性、有趣或有用的特征。之后需要逐个将关键的滤波器失活,考察模型预测准确性的改变,由此判定那些短序列模体是对预测有帮助的(图2c)。


图2 给予模型对特征对预测的重要性进行评估,以提供可解释性


注意力机制通过为特征引入可改变的权重,以使模型正则化,提高泛化能力。该方法为输入的短序列模体引入了权重(注意力层),以对不同的模体按其对预测的重要性排序,尽可能在接下来的模型中,迫使模型在学习隐藏特征的同时关注输入数据的特定部分,只保留对预测有价值的信息予以处理。


注意力机制可以提高神经网络模型的性能和可解释性。通过直接考察注意力向量,可识别在模型内部表示中起关键作用的输入部分(图2d)。然而,由于高通量数据中经常存在冗余和多重共线性,因此直接考察注意力层的权重,往往并不能准确地为预测模型提供可解释性。



基于扰动的可解释性

不同于考察模型训练中的特征重要性,基于扰动的方法直接考察如果模型的输入改变,会如何影响模型的输出。这类方法被称为基于传播的归因方法,可以分为两大类:向前或向后传播。向前传播包括改变生物序列核苷酸相对应的元素,对比和原输入下预测结果的差距,以确定训练模型的特征重要性(图3a)。与单核苷酸改变不同,输入序列的较大改变(去掉某一串短序列),也可用来识别依赖于重要碱基对组合的重要基序(图3b)。


由于生成准确统计数据需要大量的前向传播,因此其计算成本很高。反向传播方法是为了解决这个问题而开发的。这些方法通过评估给定输入序列下模型F的导数来近似估计不同特征的重要性热图。具体的方法包括DeepLIFT和DeepSHAP等。


图3 基于扰动的可解释性模型


通过指出特征间的相互关系,为预测模型提供的可解释性


在基因调控的问题上,转录因子(TF)之间的相互作用可以解释除某个转录因子的活动。对应的网络模型较深的层,也会通过聚合底层得出的特征,对不同特征间的相互关系建模。反过来想,在深度学习模型的接近输出的层,而不是接近输入的层引入注意力机制,就可以将注意力层的权重看成是模型对特征间相互关系的描述。


基于扰动的方法,也可用来评价特征间的相互关系,前向传播的方法是对比只改变两个短序列模体中的一个,及同时改变两个模体时与不改变之间的差异,来考察特征间的相互关系。反向传播的深度特征相互作用图(DFIMs)比较了具有两个模体的参考序列改变前后的预测得分,其中一个模体被扰乱后。如果分数相差很大,这可能意味着模体之间存在依赖性。


图4 通过给出模体间相互关系考察


基于先验知识,构建透明模型

与先训练模型,再在为模型提供可解释性的方法不同,基于先验的生物学知识,可以在构建深度学习模型时,引入已有数据库作为特征过滤器,据此构建具有解释性的模型,如图5a展示了根据已知的转录因子TF绑定基序初始化的特征过滤器,演示了如何使用先验知识来设计网络架构,构建具有固有可解释单元的模型。图5b展示了如何针对已训练好的模型模型,在已有数据库中进行搜索,以深入了解给定上下文中存在的此类先验交互作用。


图5 利用先验知识构造透明神经网络



总结

该综述聚焦从基因关列到生物活动的预测模型,所描述的xAI(可解释机器学习)方法广泛适用于基因组学中深度学习的应用常见,包括表型预测,基因表达量和其他多组学模型。为预测模型提供解释,相当于识别和推断在训练数据中发现的预测模式。当模型是在一个小数据集上训练的时候,一个预测模型可以通过学习非生物学的 "捷径 "来达到高精确度,在这种情况下,模型的解释不会对应意义的生物学知识。


让模型具有可解释性,可以提供一种方法来识别这种虚假的相关性。例如,在一项医学成像研究中,模型解释使研究人员能够识别被模型用来进行预测的隐藏的批次效应。因此,解释也可以成为调试预测模型的一个工具。


模型解释所赋予的生物洞察力的质量,关键取决于解释模型的预测准确性。一个完美的模型将产生给定突变的正确后果,而一个低精度的模型可能产生虚假的推论。由于深度学习模型通常包含的参数远多于训练实例,训练程序不能保证找到最好的模型。这意味着模型参数对随机选择的训练例子和初始化参数是敏感的。基于模型的解释对这种不可识别性问题最为敏感;因此,解释必须谨慎使用,并认识到模型的某些属性以及由此产生的特征可能是由于偶然产生的。


对于哪些xAI方法是最有效的,目前还没有达成共识,不同的方法也会各自产生不同的洞察。解释方法有时会产生生物学上无意义的结果,也许是由于上述原因或其他尚不了解的原因。随着生物数据集的规模和可用性的增加,使用模型研究特征之间的复杂关系将变得更加重要。而从这些模型中提炼洞察力需要有效的xAI方法。因此,xAI将在基因组学中发挥越来越重要的作用。


END

不想错过每天的热点和技术
欢迎大家添加生信人为星标推荐

撰稿  ▎Peter
排版  ▎XX

最新思路推


肿瘤免疫

细胞死亡

单细胞

m6A专题


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/148482
 
729 次点击