人工神经网络的原理和多种神经网络架构方法

描述

在上一篇文章中,我们介绍了传统机器学习的基础知识和多种算法。在本文中,我们会介绍人工神经网络的原理和多种神经网络架构方法,供各位老师选择。

01

人工神经网络

 

人工神经网络模型之所以得名,是因为所拟合的数学模型的形式受到大脑中神经元的连接和行为的启发,最初是为了研究大脑功能而设计的。然而,数据科学中常用的神经网络作为大脑模型已经过时,现在它们只是能够在某些应用中提供最先进性能的机器学习模型。近年来,由于深度神经网络的架构和训练方面的快速发展,人们对神经网络模型的兴趣日益增长。在本文中,我们将描述基本的神经网络以及在生物学研究中广泛使用的各种类型。

02

神经网络基本原理

 

神经网络有一个重要的特性,就是它们可以模拟几乎任何数学函数。这意味着,只要配置得当,神经网络可以非常准确地模拟任何复杂的过程,无论是生物学过程还是其他类型的过程。这种能力是神经网络几十年来备受关注的原因之一。人工神经元是构成神经网络的基本单元。我们可以把人工神经元想象成一个简单的数学公式,它接收一些输入值,对这些输入值进行一些计算,然后输出一个结果。这个过程可以用下面的公式表示:

神经网络

xi是输入值,比如一个特征或变量;wi是每个输入值的权重;b是偏置项,可以调整每个神经元的输出范围,使其更灵活;σ 是激活函数,它对输入值进行非线性变换,使得神经网络能够学习和表示更复杂的函数。为了构建一个神经网络,这些人工神经元会被分层排列。每一层的输出会成为下一层的输入。这样,信息会在网络中逐层传递,最终得到一个输出结果。网络中的每个节点(即人工神经元)都会执行上面的计算,然后将结果传递给下一层。排列人工神经元的各种方法,被称为“神经网络架构”。

神经网络

 

03

神经网络架构方法

 

 

 

多层感知器   

多层感知器是最基础的神经网络模型,由多层全连接的神经元组成。输入神经元代表数据特征,每对神经元之间的连接代表一个可训练的权重。优化这些权重的过程称为训练。输出神经元代表最终的预测结果。多层感知器能做出复杂的决策,因为每层神经元都会接收前一层所有神经元的输出。尽管在许多应用中已被新型模型超越,多层感知器仍因训练简单和快速而广泛用于生物建模。新型模型也常使用全连接层作为子组件。

神经网络

图1. 多层感知器模型

 

卷积神经网络  

卷积神经网络(CNN)特别适合处理具有局部结构的数据,其中数据具有一些类型的局部结构,而识别这种结构是分析的关键目标。CNN由一个或多个卷积层组成,其中输出是通过对输入数据的局部特征组应用一个小的一层全连接神经网络(称为“过滤器”或“核”)得到的结果。对于图像,这个局部区域是一小块像素。卷积层的输出也是类似图像的数组,表示过滤器在整个输入上滑动并在每个位置计算输出的结果。在生物学中,CNN在蛋白质结构预测、基因变异识别、3D基因组折叠、DNA-蛋白质相互作用、低温电子显微镜图像分析和医学图像分类等任务中取得了显著成功,表现常常与专家水平相当。

神经网络

图2. 卷积神经网络模型

 

循环神经网络  

循环神经网络(RNN)最适合处理有序的序列数据,比如文字或时间序列,其中每个数据点与前一个数据点之间有某种联系。RNN的工作原理是,它会逐个处理序列中的每个数据点,并根据之前的数据点生成输出。这样,RNN可以生成整个序列的表征,这个表征可以传递给网络的其他部分进行进一步处理。这使得RNN可以处理任意长度的序列,并将其转换为固定大小的表征,方便后续分析。在生物学中,RNN有很多应用,比如分析基因或蛋白质序列。例如,经过大量蛋白质序列训练的RNN能够捕捉到进化和结构信息,并应用于设计新型蛋白质序列。

神经网络

图3. 循环神经网络模型

 

图卷积网络

图卷积网络(GCN)特别适合处理那些虽然没有明显的可视结构,但由实体通过各种关系或互动连接组成的数据。在生物学中,这类数据的例子包括分子(由原子和化学键组成)和蛋白质-蛋白质相互作用网络(由蛋白质和它们之间的相互作用组成)。图卷积网络利用图的结构来决定信息在神经网络中的流动方式。在网络中更新每个节点的特征时,会考虑相邻节点的特征。最后一层的节点特征可以作为输出。图卷积网络还可以结合不同的信息源进行预测。例如,可以结合药物-基因和食物-基因关系图来预测有助于防癌的食物。

神经网络

图4. 图卷积网络模型

 

自编码器  

自编码器是一种特殊的神经网络,它的目标是将数据压缩成一个更小、更简洁的形式,然后再还原回原来的样子。自编码器分为两部分:

编码器:编码器是一个神经网络,负责将输入数据转换为一个紧凑的内部表示,称为“潜在向量”或“潜在表示”,表示新空间中的一个点。

解码器:解码器将这个潜在向量还原成与原始输入相同维度的数据。

整个过程可以理解为:编码器将数据“压缩”成一个小文件,解码器再将这个小文件“解压缩”回原来的数据。虽然看起来像是多此一举,但这样做有两个好处:通过压缩和解压缩,自编码器能够学习数据的重要特征,比如数据点之间的相似性;训练完成后,解码器可以单独使用,生成新的数据样本。这些新样本可以在实验室中测试,有助于合成生物学的研究。自编码器已应用于一系列生物学问题,包括预测DNA甲基化状态、基因和蛋白质序列的设计以及单细胞RNA测序分析。

神经网络

图5. 自编码器模型

04

训练和改进神经网络

 

选择了一个合适的神经网络模型后,通常先用单个训练样例(例如,单张图像或单个基因序列)对其进行训练。这种训练模型本身并不适用于预测,但可以帮助揭示编程错误。训练损失函数应该迅速趋近于零,因为网络只是记住了输入;如果做不到这一点,代码中可能存在错误,或者算法不够复杂,无法建模输入数据。一旦网络通过了这个基本的调试测试,就可以开始对整个训练集进行训练,最小化训练损失函数。这可能需要调整超参数,如学习率。通过监控训练集和验证集的损失,可以检测到网络的过拟合现象,即训练损失继续下降,而验证集的损失开始增加。通常在这个时候停止训练,这个过程称为提前停止。提前停止是防止过拟合的好方法,但训练过程中还可以使用其他技术,如模型正则化或dropout技术。

在这一系列文章中,我们先后介绍了机器学习的基础知识,包括基本概念和重要术语。随后分别介绍了传统机器学习和人工神经网络,并详细描述了多种机器学习模型和神经网络架构方法。通过这四篇文章,老师们可以全面了解机器学习的核心概念和技术,为进一步深入学习和应用做好准备。

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分