参考文章:https://zhuanlan.zhihu.com/p/268709618
# 一、MP 神经元模型
MP 模型是针对生物神经元的一些基本生理特征所提出的形式神经元的数学模型与结构,其权值被认为是不可调整的。MP 神经元模型是其他神经网络的基础。
# 二、前馈神经网络(FNN)
对于前馈网络,根据神经元的传递函数不同,以及学习算法和网络结构上的区别,可以细分类感知器网络、线性网络、BP 网络、径向基网络及 GMDH 网络等不同的网络模型。
# 2.1 感知器(PLA)
感知器模型(Percetron Learning Algorithm,简称 PLA)是由美国学者 F.Rosenblatt 于 1958 年提出的。它与 MP 模型的不同之处是它假定神经元的突触权值是可变的,这样就可以进行学习。感知器是最简单形式的前馈神经网络,是一种二元线性分类器。
感知器具有如下的局限性:
- 感知器神经网络的传输函数一般采用阈值函数,所以输出值只有两种;
- 单层感知器网络只能用于解决线性可分的分类问题,而对线性不可分的分类问题无能为力;
- 感知器学习算法只适于单层感知器网络,所以一般感知器网络都是单层的。
# 2.2 多层感知器(MLP)
多层感知器(Multilayer Perceptron, 简称 MLP)是感知器的推广,克服了感知器不能对线性不可分数据进行识别的弱点。对于非线性函数的模拟,需要采用 MLP,即在最初的输入和输出层之间隐藏着一到多个层。
全连接神经网络(Fully Connected Neural Network,简称 FNN),深度神经网络( Deep Neural Networks,简称 DNN)和 MLP 的概念相似,只是侧重点不同。一个多层全连接神经网络即使 MLP,又是 FNN,同时也是 DNN。
BP 神经网络是指使用了 BP 算法( Back Propagation,反向传播)进行训练的 MLP 模型。
# 2.3 径向基神经网络(RBFNN)
参考链接: https://blog.csdn.net/weixin_40802676/article/details/100805545
首先介绍径向基函数( Radial Basis Function,简称 RBF):
最常用的径向基函数是高斯函数(radbas)。
RBFNN 的神经网络节后如上图所示。三层的神经网络就可以拟合任何一个函数,RBFNN 即为三层(单隐层)且隐藏层使用径向基函数的神经网络。因此 RBFNN 完全可以拟合任何一个函数(只要隐藏层神经元足够多)。输入层到隐藏层的神经元之间的权重全部为 1。隐藏层是使用径向基函数作为激活函数的神经元。隐藏层与输出层之间就是普通的神经网络的连接关系,他们之间的权重可以训练而改变。
RBFNN 的关键就在于径向基函数的确定,中心点在哪,径基宽度多大,多少个径向基函数,都是会影响神经网络的效果的。广义回归神经网络 (General Regression Neural Network,简称 GRNN) 和广义回归神经网络 (General Regression Neural Network,简称 GPNN) 都是 RBFNN 的变化形式。
# 2.4 卷积神经网络(CNN)
卷积神经网络(Convolutional Neural Networks,简称 CNN)是一种深度学习模型或类似于人工神经网络的多层感知器,常用来分析视觉图像。
一个卷积神经网络主要由以下 5 层组成:
- 数据输入层 / Input layer
- 卷积计算层 / CONV layer
- ReLU 激励层 / ReLU layer
- 池化层 / Pooling layer
- 全连接层 / FC layer
# 2.5 线性神经网咯
线性神经网络与感知器的主要区别在于感知器的激活函数只能输出两种可能值(-1 或 1),而线性神经网络的输出可以取任意值,其激活函数是线性函数。
线性神经网络采用 Widrow-Hoff 学习规则(最小均方规则),即 LMS(Least Mean Square)算法来调整网络的权值和偏置值。结构图如下。这里使用 purelin 激活函数进行模型训练,这样可以得到一个更好的效果。输出结果的时候还是使用 sign 激活函数。
# 三、反馈神经网络
所谓反馈网络是指在网络中至少含有一个反馈回路的神经网络。反馈网络可以包含一个单层神经元,其中每个神经元将自身的输出信号反馈给其他所有神经元的输入 反馈神经网络中神经元不但可以接收其他神经元的信号,而且可以接收自己的反馈信号。和前馈神经网络相比,反馈神经网络中的神经元具有记忆功能,在不同时刻具有不同的状态。反馈神经网络中的信息传播可以是单向也可以是双向传播,因此可以用一个有向循环图或者无向图来表示。
# 3.1 循环神经网络(RNN)
循环神经网络(Recurrent Neural Network,简称 RNN)是一种深度学习模型,专门用于处理序列数据和具有时间依赖性的任务。相比于传统神经网络,RNN 具有一种递归结构,使其能够对序列信息进行处理。
RNN 的主要特点是它能够保持对之前输入信息的记忆,这使得它在处理时间序列、自然语言处理等任务时非常有效。它的基本结构包括一个隐藏层,其中的神经元可以接收输入数据和前一个时间步的隐藏状态,并输出一个新的隐藏状态。这种递归结构使得 RNN 能够捕捉序列中的上下文信息,从而更好地理解和处理序列数据。
然而,传统的 RNN 存在梯度消失和梯度爆炸等问题,导致难以捕捉长期依赖关系。为了解决这些问题,一些改进型的循环神经网络被提出,如长短时记忆网络(Long Short-Term Memory,简称 LSTM)和门控循环单元(Gated Recurrent Unit,简称 GRU)。这些改进模型引入了门控机制,使得网络能够更好地处理长期依赖关系,从而提高了性能。
总的来说,循环神经网络在处理序列数据方面具有广泛的应用,包括自然语言处理、语音识别、时间序列预测等领域。
# 3.2 Hopfield 神经网络
Hopfield 神经网络是一种反馈型的人工神经网络,最初由物理学家约翰・霍普菲尔德(John Hopfield)于 1982 年提出。它主要用于模拟和处理离散型动力系统,尤其在解决优化问题和模式识别方面应用广泛。根据其激活函数的不同,Hopfield 神经网络有两种:离散 Hopfield 网络(Discrete Hopfield Neural Network,简称 DHNN)和连续 Hopfield 网络(Continues Hopfield Neural Network,简称 CHNN)。
# 四、对抗神经网络(GAN)
简介:对抗神经网络其实是两个网络的组合,可以理解为一个网络生成模拟数据,另一个网络判断生成的数据是真实的还是模拟的。生成模拟数据的网络要不断优化自己让判别的网络判断不出来,判别的网络也要不断优化自己让判断的更加精确。两者的关系形成对抗,因此叫对抗神经网络。
结构:GAN 由 generator(生成模型)和 discriminator(判别式模型)两部分构成。二者结合之后,经过大量次数的迭代训练会使 generator 尽可能模拟出以假乱真的样本,而 discrimator 会有更精确的鉴别真伪数据的能力,最终整个 GAN 会达到所谓的纳什均衡,即 discriminator 对于 generator 的数据鉴别结果为正确率和错误率各占 50%。
# 五、自组织神经网络
在生物神经系统中,存在着一种侧抑制现象,即一个神经细胞兴奋以后,会对周围其他神经细胞产生抑制作用。这种抑制作用会使神经细胞之间出现竞争,其结果是某些获胜,而另一些则失败。表现形式是获胜神经细胞兴奋,失败神经细胞抑制。自组织(竞争型)神经网络就是模拟上述生物神经系统功能的人工神经网络。
# 六、反馈神经网络
一般的神经网络模型通常假定网络结构是事先固定的,训练的目的是利用训练样本来确定合适的连接权、阙值等参数。与此不同,结构自适应网络则将网络结构也当作学习的目标之一,并希望能在训练过程中找到最利合数据特点的网络结构
# 七、反馈神经网络
随机神经网络是对神经网络引入随机机制,认为神经元是按照概率的原理进行工作的,这就是说,每个神经元的兴奋或抑制具有随机性,其概率取决于神经元的输入。