神经网络,是模拟生物神经网络进行信息处理的一种数学模型。它以对大脑的生理研究成果为基础,其目的在于模拟大脑的某些机理与机制,实现一些特定的功能。神经网络是目前最火的研究方向深度学习的基础,本文将神经网络分成三个主要类别,并详细介绍了每个类别的主要神经网络模型,读完本文你将能迅速掌握常用的经典神经网络模型,属于深度学习的基础入门篇。
一般来说,神经网络可以分为三种主要类型:前馈神经网络、反馈神经网络和图神经网络。下面我们将分别展开介绍。
1.前馈神经网络
前馈神经⽹络(feedforward neural network)是⼀种简单的神经⽹络,也被称为多层感知机(multi-layer perceptron,简称MLP),其中不同的神经元属于不同的层,由输⼊层-隐藏层-输出层构成,信号从输⼊层往输出层单向传递,中间无反馈,其目的是为了拟合某个函数,由⼀个有向无环图表示,如下:
前馈神经网络结构图
前馈神经⽹络中包含激活函数(sigmoid函数、tanh函数等)、损失函数(均⽅差损失函数、交叉熵损失函数等)、优化算法(BP算法)等。常⽤的模型结构有:感知机、BP神经⽹络、全连接神经⽹络、卷积神经⽹络、RBF神经⽹络等。
感知机
感知器,也可翻译为感知机,是Frank Rosenblatt在1957年就职于Cornell航空实验室(Cornell Aeronautical Laboratory)时所发明的一种人工神经网络。它可以被视为一种最简单形式的前馈式人工神经网络,是一种二元线性分类器。
感知机的主要特点是结构简单,对所能解决的问题存在着收敛算法,并能从数学上严格证明,从而对神经网络研究起了重要的推动作用。
BP神经网络
BP(back propagation)神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络模型之一 。
BP算法的基本思想是:学习过程由信号的正向传播和误差的反向传播两个过程组成。
正向传播时,把样本的特征从输入层进行输入,信号经过各个隐藏层的处理后,最后从输出层传出。对于网络的实际的输出与期望输出之间的误差,把误差信号从最后一层逐层反传,从而获得各个层的误差学习信号,然后再根据误差学习信号来修正各层神经元的权值。
全连接神经网络
全连接神经网络是一种多层的感知机结构。每一层的每一个节点都与上下层节点全部连接,这就是”全连接“的由来。整个全连接神经网络分为输入层,隐藏层和输出层,其中隐藏层可以更好的分离数据的特征,但是过多的隐藏层会导致过拟合问题。
卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积运算且具有深度结构的前馈神经网络(Feedforward Neural Networks)。相比早期的BP神经网络,卷积神经网络最重要的特性在于“局部感知”与“参数共享”。整体架构:输入层——卷积层——池化层——全连接层——输出层
卷积神经网络结构图
输入层:以图片为例,输入的是一个三维像素矩阵,长和宽表示图像的像素大小,深度表示色彩通道(黑白为1,RGB彩色为3)。
卷积层:卷积层也是一个三维矩阵,它的每个节点(单位节点矩阵)都是上一层的一小块节点(子节点矩阵)加权得来,一小块的尺寸一般取33或55。此层的作用是对每一小快节点进行深入分析,从而提取图片更高的特征。
池化层:池化层不会改变三维矩阵的深度,其作用是缩小矩阵,从而减少网络的参数。全连接层:跟全连接神经网络作用一样。
Softmax层:得到当前样例属于不同种类的概率分布,并完成分类。
卷积神经网络(CNN)具有一些传统技术所没有的优点:
(1)良好的容错能力、并行处理能力和自学习能力,可处理环境信息复杂,背景知识不清楚,推理规则不明确情况下的问题;
(2)它允许样本有较大的缺损、畸变,运行速度快,自适应性能好,具有较高的分辨率;
(3)它是通过结构重组和减少权值将特征抽取功能融合进多层感知器,省略识别前复杂的图像特征抽取过程。RBF神经网络径向神经网络(RBF:Radial basis function)是一种以径向基核函数作为激活函数的前馈神经网络。RBF神经⽹络是一种三层神经网络,其包括输入层、隐层、输出层。从输入空间到隐层空间的变换是非线性的,而从隐层空间到输出层空间变换是线性的。流图如下:
2.反馈神经网络
反馈神经网络(feedback neural network)的输出不仅与当前输入以及网络权重有关,还和网络之前的输入有关。它是一个有向循环图或是无向图,具有很强的联想记忆能力和优化计算能力。
常⽤的模型结构有:RNN、Hopfield⽹络、受限玻尔兹曼机、LSTM等。
反馈神经网络结构图
循环神经网络
循环神经网络(recurrent neural network,简称RNN)源自于1982年由Saratha Sathasivam 提出的霍普菲尔德网络,是指在全连接神经网络的基础上增加了前后时序上的关系,可以更好地处理比如机器翻译等的与时序相关的问题。
RNN神经网络的结构如下:
循环神经网络的结构图
RNN之所以称为循环神经网络,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。
RNN用于解决训练样本输入是连续的序列,且序列的长短不一的问题,比如基于时间序列的问题。基础的神经网络只在层与层之间建立了权连接,RNN最大的不同之处就是在层之间的神经元之间也建立的权连接。
Hopfield⽹络
Hopfield神经网络是一种单层互相全连接的反馈型神经网络。每个神经元既是输入也是输出,网络中的每一个神经元都将自己的输出通过连接权传送给所有其它神经元,同时又都接收所有其它神经元传递过来的信息。即:网络中的神经元在t时刻的输出状态实际上间接地与自己t-1时刻的输出状态有关。神经元之间互连接,所以得到的权重矩阵将是对称矩阵。
受限玻尔兹曼机
玻尔兹曼机是一大类的神经网络模型,但是在实际应用中使用最多的则是受限玻尔兹曼机(RBM)。受限玻尔兹曼机(RBM)是一个随机神经网络(即当网络的神经元节点被激活时会有随机行为,随机取值)。它包含一层可视层和一层隐藏层。在同一层的神经元之间是相互独立的,而在不同的网络层之间的神经元是相互连接的(双向连接)。在网络进行训练以及使用时信息会在两个方向上流动,而且两个方向上的权值是相同的。但是偏置值是不同的(偏置值的个数是和神经元的个数相同的)。
受限玻尔兹曼机的结构如下:
LSTM
长短期记忆网络 LSTM(long short-term memory)是 RNN 的一种变体,其核心概念在于细胞状态以及“门”结构。细胞状态相当于信息传输的路径,让信息能在序列连中传递下去。你可以将其看作网络的“记忆”。理论上讲,细胞状态能够将序列处理过程中的相关信息一直传递下去。因此,即使是较早时间步长的信息也能携带到较后时间步长的细胞中来,这克服了短时记忆的影响。信息的添加和移除我们通过“门”结构来实现,“门”结构在训练过程中会去学习该保存或遗忘哪些信息。
3.图神经网络
图(graph)是⼀种在拓扑空间内按图结构组织来关系推理的函数集合,包括社交⽹络、知识图谱、分⼦图神经⽹络等。
图结构示例
图神经网络就是将图数据和神经网络进行结合,在图数据上面进行端对端的计算。图神经网络直接在图上进行计算,整个计算的过程,沿着图的结构进行,这样处理的好处是能够很好的保留图的结构信息。
图神经网络通常有以下几种网络模型:图卷积网络、图自编码器、图生成网络、图时空网络、图注意力网络。
图卷积网络(Graph Convolutional Networks, GCN)
由传统的卷积神经网络引申出的图卷积网络,图卷积方法可分为两种,基于频谱的方法和基于空间的方法。
基于频谱的方法,从图信号处理的角度,引入滤波器来定义图卷积,因此基于频谱的图卷积可理解为从图信号中去除噪声。
基于空间的图卷积方法,通过汇集邻居节点的信息来构建图卷积。当图卷积在节点级运作时,可以将图池化模块和图卷积进行交错叠加,从而将图粗化为高级的子图。
图卷积的卷积操作有三步:
1、每个节点将自身的特征信息传递给邻居节点
2、每个节点将邻居节点及自身的特征信息进行汇集,对局部结构进行进行融合
3、与传统的深度学习中的激活函数类似,在图卷积我们同样要加入激活函数,对节点的信息做非线性变换,增强模型的表达能力
图卷积网络的关键是学习到一个函数,将当前节点的特征信息与其邻居节点的特征信息进行汇集。
图自编码器
基于自编码器的 GNN 被称为图自编码器(Graph Auto-encoder,GAE),GAE是无监督学习框架,它将节点/图编码到潜在向量空间并从编码信息中重建图数据。 GAE 用于学习网络嵌入和图形生成分布。对于网络嵌入,GAE 通过重构图结构信息(例如图邻接矩阵)来学习潜在节点表示。对于图的生成,一些方法逐步生成图的节点和边,而另一些方法一次全部输出图。
图生成网络
图 生 成 网 络 ( Graph Generative Network,GGN)是一类用来生成图数据的 GNN,其使用一定的规则对节点和边进行重新组合,最终生成具有特定属性和要求的目标图。
图生成网络的目标是基于一组可观察图来生成图。其中的很多方法都是领域特定的。例如,在分子图生成方面,一些研究将分子图的表征建模为字符串。在自然语言处理中,生成语义图或知识图通常需要一个给定的句子。最近,研究人员又提出了一些通用方法,主要有两个方向:其一是将生成过程看成节点或边的形成,而另一些则使用生成对抗训练。该领域的方法主要使用图卷积神经网络作为构造块。
图时空网络
时空网络图有区别于其他种类的图数据,在该图数据中,图不仅由V、E、A组成,增加了一个X属性,表示的是图在时间维度上的属性变化。
目标是从时空图中学习到不可见的一些模式,这在交通预测、人类的活动预测中变得越来越重要。比如,在道路交通网络就是一种时空图,图的数据在时间维度上是连续的,用图时空网络构建道路交通预测模型,我们就可以更加准确地预测出交通网络中的交通状态。
图时空网络的关键在于考虑同一时间下的空间与事物的关联关系。许多现在的方法使用GCN结合CNN或者RNN对这种依赖关系进行建模。
图注意力网络
注意力机制可以让一个神经网络只关注任务学习所需要的信息,它能够选择特定的输入。在 GNN 中引入注意力机制可以让神经网络关注对任务更加相关的节点和边,提升训练的有效性和测试的精度,由此形成图注意力网络(Graph Attention Network,GAT)。
神经网络模型优化
深度学习模型优化用于各种场景,包括视频分析和计算机视觉。由于大多数这些计算密集型分析都是实时完成的,因此以下目标至关重要:
1.更快的性能
2.减少计算要求
3.优化空间使用
例如,OpenVINO 借助以下工具提供神经网络的无缝优化:
模型优化器——将模型从多个框架转换为中间表示(IR);然后可以使用 OpenVINO Runtime 完成这些操作。OpenVINO 运行时插件是软件组件,包含在 CPU、GPU 和 VPU 等硬件上进行推理的完整实现。
训练后优化工具包 (POT) – 通过 DefaultQuantization 和 AccuracyAwareQuantization 算法应用训练后自动模型量化,加快 IR 模型的推理速度。
神经网络压缩框架 (NNCF) – 与 PyTorch 和 TensorFlow 集成,通过剪枝来量化和压缩模型。常用的压缩算法有8位量化、滤波器剪枝、稀疏、混合精度量化和二值化。
神经网络是所有 AI 算法的核心,目前神经网络在模式识别、自动控制、信号处理、辅助决策、人工智能等众多研究领域都取得了广泛的应用,未来的发展空间还将更加广阔。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。