社区所有版块导航
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学习  »  机器学习算法

量化细胞内的信息流:机器学习时代下的研究进展

集智俱乐部 • 2 年前 • 363 次点击  


导语


研究细胞内信号分子传递信息的能力是理解生命系统的基本问题之一。2022年7月12日,来自北京师范大学珠海校区和加州大学洛杉矶分校的学者在最新的综述“Quantifying information of intracellular signaling: progress with machine learning”中,回顾了如何使用信息论方法,来量化细胞内分子的信息传递。特别地,文中总结和比较了利用机器学习的方法来处理分子信号的复杂时间轨迹的最新研究,这些研究帮助揭示了细胞如何利用时间编码的信息来适应环境变化。


研究领域:机器学习,细胞内信号,信息论

梁栋栋 | 作者

汤迎 | 审校

邓一雪 | 编辑

 




引言




细胞能够对外界的刺激做出合适的功能性变化,这一过程称为细胞决策。在这一过程中,细胞利用膜表面受体,通过生化信号通路来对外界刺激的信息进行整合、传递。量化这一过程的信息流对描述细胞行为以及理解其在生理学中发挥的功能至关重要。


对于量化细胞内信号来说,确定生化信号通道是至关重要的。这一过程需要对不同组别的生化分子进行细致的生物学测量,而不同组别的生化分子就可以作为信号通道。因此,提及“信号通道”这个词就需要有伴随的特定生化分子、或具有特定时间尺度的信号转导过程。如果我们将生化分子看作信息通道的话,发送者就可以看成受体或分子感受器所感知到的外界环境的刺激。对于接收者,则视不同实验方法测量的信号而定,比如有的实验测量主要生化信号分子的活动或亚细胞定位,有实验测量外界刺激诱导的基因表达,以及细胞尺度下的反应,如生长、分裂、运动或死亡。


为了更好的叙述如何量化细胞内分子的信息传递,文中介绍三类常用的信息度量方法:经典信息论中的信息度量、时间点尺度上以及时间序列轨迹尺度上的信息度量。





一、三类信息度量方法




1. 经典信息论中的信息度量


图1:经典信息论中的信息度量方法总结,详细内容及参考文献可查阅原文


香农熵(Shannon entropy)与统计物理密切相关,对于给定数据的模型推断,熵提供了一种可优化的似然,例如定量生物学中基因组序列的蛋白质三维结构的推断等。当概率分布连续时,香农熵可以作为微分熵(Differential entropy),微分熵的估计依赖于对概率分布的估计。我们常用有限样本的频率作为概率的估计来计算概率分布的熵。当给定N个样本时,微分熵常写作:是第j个事件的频率值,当采样数据足以覆盖全概率分布的频率构型时,样本的平均熵近似于全概率分布的熵。


KL散度(Kullback–Leibler (KL)-divergence)常用来衡量两个分布之间的不相似度,同时它还有一个名字叫相对熵(relative entropy)可以理解为两个分布的交叉熵和一个分布的香农熵之差,具体计算公式可见图1。交叉熵(Cross entropy.)常作为机器学习中的优化函数,通过最小化模型拟合分布和实际数据分布之间的交叉熵来训练模型参数,交叉熵是KL散度和香农熵之和,可以表示为:


互信息(Mutual information)有对称的性质,所以它量化的是变量间的相互依赖关系,即一个随机变量通过观察另一个随机变量所获得的信息量。在实践中,人们通常关心最大互信息(通道容量),并且只对一个变量进行最大化。除此之外,互信息也可以看做随机变量的先验概率分布和条件概率分布之间的KL散度,即一个随机变量由于已知另一个随机变量而减少的不确定性,写作:,即互信息是在一个变量Y的分布下,单变量X的分布和X,Y条件分布的KL散度的期望。


互信息和通道容量对于量化细胞内关于外界刺激的信息必不可少。外界刺激条件S下的细胞应答信号和细胞内原有的应答信号R之间的互信息之差,就是对细胞中关于外界刺激的信息的量化:。细胞内信号通道的通道容量就是最大化的互信息之差:,M个外界刺激条件:


2. 时间点尺度上的信息度量


正如上述所提到,互信息是具有对称性的,量化的是变量间的相互依赖关系,而在实际场景下,细胞往往是被动的接受外界环境的刺激,这种关系是有方向性的,所以当我们去探究如驱动-响应关系、因果关系时,上述方法不适用。而时间点尺度上的转移熵,时间序列轨迹尺度上的轨迹熵则是我们探究方向性关系的桥梁。


转移熵(Transfer entropy)在给定转移概率的情况下,度量两个时间序列之间有向传递的信息的量,可以用来区分驱动要素和响应要素。其定义如下:,转移熵在公式上形如互信息,可理解为条件熵的差值,而只考虑上一时间点的值作为条件是系统马尔可夫性的体现。当探究两个时间序列之间的因果关系时,我们常用一个概率分布来逼近联合概率分布,两个时间序列单时间点之间的因果关系可以用最小化这两个分布之间的KL散度来量化测定,数学上定义为:


上述方法在单时间点的尺度上对具有方向性的信息转移进行量化。在某些实验条件下,我们可以得到长时程的细胞响应信号,此时更关心全局尺度下变量间的方向性关系,这时从时间序列轨迹尺度上考虑信息度量则是更好的方式。


3. 时间序列轨迹上的信息度量


轨迹熵(Trajectory entropy):将时间序列看作一个轨迹,则该轨迹的概率可以用概率来表示,那么该轨迹的熵值可以用下式计算:。每个轨迹都有一个概率和熵值。在这种情况下,轨迹熵类似于静态的熵值,可以通相同的方法来推断,信息的概念也可以用类似的方法来定义。


轨迹空间的互信息:当我们的轨迹概率是通过动力学模型计算得到时,轨迹熵以及互信息就取决于我们构建的系统动力学模型,所以蕴含在动力学模型中的关于轨迹的信息就可以通过互信息定量。考虑输入轨迹X和输出轨迹Y的互信息,基本思路就是先验轨迹熵和条件轨迹熵的差值,可以用下式计算:


傅里叶频域的互信息:稳态下的两个时间序列集合,每个集合服从高斯统计量,集合之间的耦合可以线性化,在此假设下,两个序列的联合概率分布在稳态均值附近波动。两序列通过给出。协方差矩阵Z有四个矩阵块:,<>表示平均噪声水平。在固定时间间隔的连续时间条件下,两个轨迹集合之间的互信息可以用下式表示:

是对应矩阵块的功率谱。


图2. 对单细胞响应时间序列的信息量化。a.用单细胞实时成像测量信号计算互信息示意图。b.分别使用单时间点数据、多时间点和长时间序列的方法示意图[49]。





二、数据驱动下细胞内信息传递的量化



作者在文中向我们介绍了三种常用的单细胞尺度下的信号:


1.单细胞RNA序列(Single-cell RNA sequencing (scRNA-seq) )。scRNA-seq生成所有转录本的序列剖面及其在单细胞中的相对丰度。但该种序列由于不可忽略的噪声影响以及数据的稀疏性(常常需要降维),无法满足量化细胞内信息传输的信息论方法所要求的高分辨率。


2.单分子荧光原位杂交(Single molecule fluorescence in situ hybridization (smFISH))。作为一种基于成像的技术,smFISH能够测量来自于大约10000个细胞的内源性基因的表达。但是,smFISH需要修复样本并且只在单个时间点测量,无法量化随时间推移的信息传输。


3.活细胞成像(live-cell imaging)。活细胞成像是一种实时测量活细胞信号活动的直接方法。时间分辨率达到分钟级,可以持续数天。每次实验可大约测量1000个细胞,但是在同时测量信号分子的数量上有所限制,通常只能探测到一个或两个分子。活细胞成像和smFISH在优缺点上是互补的。


基于以上数据特点,作者主要回顾了使用活细胞成像的方法。


1. 单时间点数据的互信息和信道容量


原文引文[113,114]是一项从单细胞信号活动中量化信息传输的开创性工作,作者在[113]中估计了单时间点的互信息和信道容量。在每个时间点下,在确定的刺激条件下测量得到的单细胞响应序列会包含信号活动在细胞间的分布情况信息,而不同刺激条件下的分布就为区分外界刺激提供了可计算的互信息。互信息的计算会受到噪声和反馈调节的影响,那么它们是如何影响以及如何处理呢?感兴趣的读者可以参考原文引文[28,116,114,117~119]。


2. 向量法用于计算多时间点数据的信息


原文引文[62]在量化信号响应过程中的信息传递方面取得了显著进展。这类方法将每个单细胞的时间序列作为一个多元向量,并使用k近邻估计时间序列的概率[121,122]。虽然该方法可以评估一段时间过程的信息,但目前对来自活细胞成像数据的细胞数量有限制,难以准确估计过程的时长。此外,将时间序列视为向量使得密度估计与时间点的顺序无关,因此无法区分时间序列中编码的动力学模式。


3. 向量法计算动力学特征所含的信息


响应信号的动力学特征(如通过调控转录因子活性的幅度和频率)也可以帮助我们量化细胞内的信息传递[128,129]。示意图简述了通过响应信号的动力学特征对信息传递进行量化[115]。通过加入动力学特征,可以提取出更多编码在轨迹中的信息[115]。同时可以揭示提高刺激分类的最具信息量的特征。


图3. 向量法用于动力学特征的计算来量化信息传递。a.计算了NFKB长时间序列的动力学特征库。b.通道容量通过对信息量最高的动力学特征的k近邻来估计,对于所有刺激和一个刺激的不同剂量,如上所示。c.搜索信息量最高的组合特征的流程[115]。





三、基于机器学习的量化信息传递的方法




现如今,随着计算机算力提高,机器学习等计算方法发展迅速。在探究量化细胞内信号通道的信息流的路上,基于机器学习的相较于以上提到的方法优势在于处理长时程的时间序列[131~134]。在这里,作者总结了三大类典型的用于此领域的机器学习方法,分别是基于解码的方法[130]、基于统计学习使用逻辑斯蒂回归的方法、基于随机过程模型比如隐马尔可夫模型的方法。


1. 基于解码器计算的互信息


图4. 基于解码的方法从信号响应时间序列中计算互信息[130]


该方法首先通过各个刺激条件下的数据训练一个分类器,之后使用其来对新的细胞相应信号进行分组。它能够对互信息的下界进行估计,当传统分类器如随机树使用线性主成分时,它们可能不足以区分振荡轨迹信号和非振荡轨迹信号,为了克服这个问题,其他机器学习模型如神经网络,可以用于分类器来改进估计,同时互信息的上界的估计也是现今研究极感兴趣的方向。


2. 基于统计学习的互信息估计


图5. a.区分两个输入概率示意图。输入分布P(X)和输出条件概率P(Y|X)以及通过贝叶斯公式推导得到的条件输入分布P(X|Y)。b.通道容量作为时间的函数,单独使用单时间点数据和时间序列。c.对21分钟的TNFα浓度和时间序列进行正确的两两区分的概率(圆圈标记的颜色填充分数)[125]


SLEMI(Statistical learning-based estimation of mutual information)方法[125,127]适用于高维的信号响应时间序列,同时不限制时间点的数量。SLEMI使用基于逻辑斯蒂回归的贝叶斯框架来估计给定轨迹的刺激概率。同样,由于逻辑斯蒂回归假设对轨迹进行线性拟合来计算不同刺激条件下轨迹概率的比例,因此该方法是否能完全解释观测到的信号轨迹复杂的动力学模式,如振荡行为,尚不清楚。应用于复杂轨迹时,估计的互信息可能不太准确,这种情况下的互信息计算也是现今活跃的研究方向之一。


3. 随机模型的方法


图6. 利用随机模型对动态互信息进行量化。随机模型如隐马尔可夫模型可以用来学习信号动力学、再现数据、推断轨迹概率和评估互信息。a.隐马尔可夫模型。b.参数数量对模型性能的影响。c.从训练好的随机模型中计算互信息。d.估计的互信息揭示了区分某些刺激对的时间顺序。[49]


受到轨迹熵的启发,数据可以从轨迹的视角理解[81]。研究者利用以往被常用于语音识别的随机动力学模型[139],即隐马尔可夫模型,来学习和重构信号相应序列,同时进一步生成轨迹概率来计算互信息[49]。该方法能揭示互信息随着时间的累积现象。





展望



除了上述研究外,进一步的发展包括使用最新的机器学习方法(如递归神经网络,基于注意力机制的transformer),将其应用于单细胞信号应答,可能具有更好的重构或预测的效果。在更现实的环境中,例如在混合自然信号的刺激下,量化信息传递也是很有意思的方向。量化大空间和长时间尺度上的信息传输还需待进一步发展,比如通过卷积神经网络来提取空间分布的信息。从生物角度,除了信号分子在单细胞中传递信息外,信号转导还受到细胞群的影响。细胞亚群对刺激可能作出分级反应,并且将反应信息独立传递。研究这些更复杂的生物过程中的信息传递也是未来研究的方向之一。



因果涌现读书会第二季招募中


跨尺度、跨层次的涌现是复杂系统研究的关键问题,生命起源和意识起源这两座仰之弥高的大山是其代表。而因果涌现理论、机器学习重整化技术、自指动力学等近年来新兴的理论与工具,有望破解复杂系统的涌现规律。同时,新兴的因果表示学习、量子因果等领域也将为因果涌现研究注入新鲜血液。

由北京师范大学教授、集智俱乐部创始人张江和加州大学圣地亚哥分校助理教授尤亦庄等人发起的「因果涌现」系列读书会第二季,将组织对本话题感兴趣的朋友,深入研读相关文献,激发科研灵感。本读书会自2022年5月22日开始,每周日晚19:00举办,预计持续7-8周。欢迎感兴趣的朋友报名参与。


本季读书会详情与报名方式请参考:

因果、涌现与机器学习:因果涌现读书会第二季启动



推荐阅读



点击“阅读原文”,报名读书会
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/138341
 
363 次点击