1.人工智能、机器学习与深度学习
- 人工智能:努力将通常由人类完成的智力任务自动化。
- 机器学习机器学习( machine learning)是人工智能的一个特殊子领域,其目标是仅靠观察训练数据来自动开发程序[即模型( model)]。
- 深度学习是机器学习的一个分支领域:它是从数据中学习表示的一种新方法,强调从连续的层( layer)中进行学习。“深度学习”中的“深度”指的并不是利用这种方法所获取的更深层次的理解,而是指一系列连续的表示层。数据模型中包含多少层,这被称为模型的深度( depth)。
人工智能、机器学习与深度学习关系如图 1所示。在深度学习中,这些分层表示几乎总是通过叫作神经网络( neural network)的模型来学习得到的。以下主要讨论神经网络的分类
图 1. 人工智能、机器学习与深度学习
人工神经网络(Artificial Neural Network,ANN)简称神经网络(NN),是基于生物学中神经网络的基本原理,在理解和抽象了人脑结构和外界刺激响应机制后,以网络拓扑知识为理论基础,模拟人脑的神经系统对复杂信息的处理机制的一种数学模型。该模型以并行分布的处理能力、高容错性、智能化和自学习等能力为特征,将信息的加工和存储结合在一起,以其独特的知识表示方式和智能化的自适应学习能力,引起各学科领域的关注。它实际上是一个有大量简单元件相互连接而成的复杂网络,具有高度的非线性,能够进行复杂的逻辑操作和非线性关系实现的系统。
2.神经网络分类
可以从不同的角度对人工神经网络进行分类
- 从网络性能角度可分为连续型与离散型网络、确定性与随机性网络。
- 从网络结构角度可为前向网络与反馈网络。
- 从学习方式角度可分为有导师学习网络和无导师学习网络。
- 按连续突触性质可分为一阶线性关联网络和高阶非线性关联网络。
3. 单层神经网络
所谓单层前向网络是指拥有的计算节点(神经元)是“单层”的,如图 2所示。这里表示源节点个数的“输入层”被看做一层神经元,因为该“输入层”不具有执行计算的功能。
图 2. 单层前向网络
4.前馈神经网络
前馈神经网络(feedforward neural network,FNN),如图 3所示。
图 3. 多层前馈神经网络结构示意图
多层前向网络与单层前向网络的区别在于:多层前向网络含有一个或更多的隐含层,其中计算节点被相应地称为隐含神经元或隐含单元,如图 4所示
图 4. 多层前向网络
4.1 单层前馈神经网
4.1.1 感知器
感知器(Perceptron)由两层神经元组成。如图 5所示,输入层接收外界输入信号后传递给输出层,输出层是M-P神经元,也称为“阈值逻辑单元”。 主要用于分类。
图 5. 两个输入神经元的感知机网络结构示意图
优点:感知器模型简单易于实现。
缺点:仅能解决线性可分问题。
4.2 多层前馈神经网络
4.2.1 径向基神经网络
径向基函数 RBF 神经网络((Radial Basis Function,RBF)是一个只有一个隐藏层的三层前馈神经网络结构,它与前向网络相比最大的不同在于,隐藏层得转换函数是局部响应的高斯函数,而以前的前向网络、转换函数都是全局响应的函数。由于这样的不同,如果要实现同一个功能,RBF 网络的神经元个数就可能要比前向 BP 网络的神经元个数要多。 但是,RBF 网络所需要的训练时间却比前向 BP 网络的要少。
主要功能:图像处理,语音识别,时间系列预测,雷达原点定位,医疗诊断,错误处理检测,模式识别等。RBF网络用得最多之处是用于分类,在分类之中,最广的还是模式识别问题,次之是时间序列分析问题。
神经网络有很强的非线性拟合能力,可映射任意复杂的非线性关系,而且学习规则简单,便于计算机实现。具有很强的鲁棒性、记忆能力、非线性映射能力以及强大的自学习能力,因此有很大的应用市场。
优点:
- 具有唯一最佳逼近的特性,且无局部极小问题存在。
- RBF神经网络具有较强的输入和输出映射功能,并且理论证明在前向网 络中RBF网络是完成映射功能的最优网络。
- 网络连接权值与输出呈线性关系。
- 分类能力好。
- 学习过程收敛速度
局限性:
- 最严重的问题是没能力来解释自己的推理过程和推理依据。
- 不能向用户提出必要的询问,而且当数据不充分的时候,神经网络就无法进行工作。
- 把一切问题的特征都变为数字,把一切推理都变为数值计算,其结果势必是丢失信息。
- 理论和学习算法还有待于进一步完善和提高。
- 隐层基函数的中心是在输入样本集中选取的, 这在许多情况下难以反映出系统真正的输入输出关系, 并且初始中心点数太多; 另外优选过程会出现数据病态现象。
4.2.1.1 广义回归神经网络(General Regression Neural Network,GPNN)
径向基神经元和线性神经元可以建立广义回归神经网络(图 6),它是径RBF网络的一种变化形式,经常用于函数逼近。在某些方面比RBF网络更具优势。GRNN与PNN一样也是一个四层的网络结构:输入层、模式层、求和层、输出层。
图 6. 广义回归神经网络
- 优点:GRNN具有很强的非线性映射能力和学习速度,比RBF具有更强的优势,网络最后普收敛于样本量集聚较多的优化回归,样本数据少时,预测效果很好, 网络还可以处理不稳定数据。广义回归神经网络对x的回归定义不同于径向基函数的对高斯权值的最小二乘法叠加,他是利用密度函数来预测输出。
- 与PNN的区别:GRNN用于求解回归问题,而PNN用于求解分类问题。
4.2.1.2 概率神经网络(Probabilistic Neural Network,PNN)
径向基神经元和竞争神经元还可以组成概率神经网络。PNN也是RBF的一种变化形式,结构简单训练快捷,特别适合于模式分类问题的解决。理论基础是贝叶斯最小风险准则,即是贝叶斯决策理论。
结构:由输入层、隐含层、求和层、输出层组成。也把隐含层称为模式层,把求和层叫做竞争层,如图 7所示。
图 7. PNN网络结构
第一层为输入层,用于接收来自训练样本的值,将数据传递给隐含层,神经元个数与输入向量长度相等。
第二层隐含层是径向基层,每一个隐含层的神经元节点拥有一个中心,该层接收输入层的样本输入,计算输入向量与中心的距离,最后返回一个标量值,神经元个数与输入训练样本个数相同。
- 优点:训练容易,收敛速度快,从而非常适用于实时处理。在基于密度函数核估计的PNN网络中,每一个训练样本确定一个隐含层神经元,神经元的权值直接取自输入样本值。口可以实现任意的非线性逼近,用PNN网络所形成的判决曲面与贝叶斯最优准则下的曲面非常接近。
- 隐含层采用径向基的非线性映射函数,考虑了不同类别模式样本的交错影响,具有很强的容错性。只要有充足的样本数据,概率神经网络都能收敛到贝叶斯分类器,没有BP网络的局部极小值问题。
- 隐含层的传输函数可以选用各种用来估计概率密度的基函数,且分类结果对基函数的形式不敏感。
- 扩充性能好。网络的学习过程简单,增加或减少类别模式时不需要重新进行长时间的训练学习。
- 各层神经元的数目比较固定,因而易于硬件实现。
4.2.2 BP神经网络(Back Propagation,BP)
强化多层神经网络的训练,必须引入算法,其中最成功的是误差逆传播算法(Back Propagation,简称BP算法)。BP算法不仅用于多层前馈神经网络,还可以用于训练递归神经网络。解决了多层神经网络隐含层连接权学习问题,并在数学上给出了完整推导。人们把采用这种算法进行误差校正的多层前馈网络称为BP神经网络。
BP神经网络网络主要四个方面的应用:
- 函数逼近:用输入向量和相应的输出向量训练一个网络逼近一个函数。
- 模式识别:用一个待定的输出向量将它与输入向量联系起来。
- 分类:把输入向量所定义的合适方式进行分类。
- 数据压缩:减少输出向量维数以便于传输或存储。
优点
- BP神经网络最主要的优点是具有极强的非线性映射能力。
- BP神经网络具有对外界刺激和输入信息进行联想记忆的能力。
- BP 神经网络通过预先存储信息和学习机制进行自适应训练,可以从不完整的信息和噪声干扰中恢复原始的完整信息。这种能力使其在图像复原、语言处理、模式识别等方面具有重要应用。
- BP 神经网络对外界输入样本有很强的识别与分类能力。由BP 神经网络具有优化计算能力。
- BP神经网络本质上是一个非线性优化问题, 它可以在已知的约束条件下,寻找一组参数组合,使该组合确定的目标函数达到最小。
局限性
- 由于BP网络训练中稳定性要求学习效率很小,所以梯度下降法使得训练很慢。
- 对于非线性系统,选择合适的学习率是一个重要的问题。在
- 非线性网络的误差面比线性网络的误差面复杂得多,问题在于多层网络中非线性传递函数有多个局部最优解。
- 网络隐层神经元的数目也对网络有一定的影响。神经元数目太少会造成网络的不适性,而神经元数目太多又会引起网络的过适性。
4.2.3 全连接神经网络
全连接神经网络(fully connected neural network),顾名思义,就是相邻两层之间任意两个节点之间都有连接。全连接神经网络是最为普通的一种模型(比如和CNN相比),由于是全连接,所以会有更多的权重值和连接,因此也意味着占用更多的内存和计算。
如定义了一个两层的全连接神经网络。
图 8. 两层全连接神经网络
4.2.4 卷积神经网络(Convolutional Neural Networks, CNN)
卷积神经网络CNN(Convolutional Neural Networks, CNN)可以应用在场景分类,图像分类,现在还可以应用到自然语言处理(NLP)方面的很多问题,比如句子分类等。
优点:
- 与传统的多层感知器-MLP相比,CNN中卷积层的权值共享使网络中可训练的参数边少,降低了网络模型复杂度,较少过拟合,从而获得一个更好的泛化能力。
- CNN结构中使用池化操作使得模型中的神经元个数大大的减少,对输入空间的平移不变行也更有鲁棒性
- CNN结构的拓展性很强,它可以采用很深的层数,深度模型具有更强的表达能力,能够处理更复杂的分类问题
- CNN的局部连接、权值共享和池化操作比传统的MLP具有更少的连接和参数,更易于训练。
4.3 线性神经网络
线性神经网络最典型的例子是自适应线性元件(Adaptive Linear Element,Adaline)。自适应线性元件 20 世纪 50 年代末由 Widrow 和 Hoff 提出,主要用途是通过线性逼近一个函数式而进行模式联想以及信号滤波、预测、模型识别和控制等。
主要功能:
- 线性预测
- 自适应滤波噪声抵消
- 自适应滤波系统辨识
优点:线性神经网络只能反应输入和输出样本向量空间的线性映射关系。由于线性神经网络的误差曲面是一个多维抛物面,所以在学习速率足够小的情况下,对于基于最小二乘梯度下降原理进行训练的神经网络总是可以找到一个最优解。
局限性:线性神经网络的训练并不能一定总能达到零误差。线性神经网络的训练性能要受到网络规模、训练集大小的限制。
线性神经网络与感知器的主要区别:
- 感知器的传输函数只能输出两种可能的值,而线性神经网络的输出可以取任意值,其传输函数是线性函数。
- 线性神经网络采用Widrow-Hoff 学习规则,即 LMS(Least Mean Square)算法来调整网络的权值和偏置。线性神经网络在收敛的精度和速度上较感知器都有了较大提高,但其线性运算规则决定了它只能解决线性可分的问题。
- 线性神经网络在结构上与感知器网络非常相似,只是神经元传输函数不同。
图 9. 线性神经网络的结构
4.3.1 Madaline 神经网络
若网络中包含多个神经元节点,就能形成多个输出,这种线性神经网络叫Madaline神经网络。
图 10. Madaline结构图
Madaline 可以用一种间接的方式解决线性不可分的问题,方法是用多个线性函数对区域进行划分,然后对各个神经元的输出做逻辑运算。如图所示,Madaline 用两条直线实现了异或逻辑。
5.反馈型神经神经网络
反馈网络是指在网络中至少含有一个反馈回路的神经网络。反馈网络可以包含一个单层神经元,其中每个神经元将自身的输出信号反馈给其他所有神经元的输入反馈神经网络中神经元不但可以接收其他神经元的信号,而且可以接收自己的反馈信号。和前馈神经网络相比,反馈神经网络中的神经元具有记忆功能,在不同时刻具有不同的状态。反馈神经网络中的信息传播可以是单向也可以是双向传播,因此可以用一个有向循环图或者无向图来表示。
5.1 递归神经网络(Recurrent neural network,RNN)
与前馈神经网络不同"递归神经网络" (recurrent neural networks)允许网络中出现环形结构,从而可让一些神经元的输出反馈回来作为输入信号.这样的结构与信息反馈过程,使得网络在 t 时刻的输出状态不仅与 t 时刻的输入有关,还与 t - 1 时刻的网络状态有关,从而能处理与时间有关的动态变化。
5.1.1 Elman网络
图 11. Elman网络结构
基本的Elman伸进网络由输入层、隐含层、连接层、输出层组成。与BP网络相比,在结构上了多了一个连接层,用于构成局部反馈。
特点
- 连接层的传输函数为线性函数,但是多了一个延迟单元,因此连接层可以记忆过去的状态,并在下一时刻与网络的输入一起作为隐含层的输入,使网络具有动态记忆功能,非常适合时间序列预测问题。
- 输出层和连接层的的传递函数为线性函数,隐含层的传递函数则为某种非线性函数,如Sigmoid函数。由于隐含层不但接收来自输入层的数据,还要接收连接层中存储的数据,因此对于相同的输入数据,不同时刻产生的输出也可能不同。输入层数据反映了信号的空域信息,而连接层延迟则反映了信号的时域信息,这是Elman网络可以用于时域和空域模式识别的原因。
主要应用:Elman网络主要用于信号检测和预测方面
优点:
- 具有自组织、自学习的特征。在Elman神经网络模型中增加了隐层及输出层节点的反馈,因而更进一步地增强了网络学习的精确性和容错性。
- 利用Elman神经网络建立的网络模型,对具有非线性时间序列特征的其它应用领域都具有较好地应用前景,它具有较强的鲁棒性、良好的泛化能力、较强的通用性和客观性,充分显示出神经网络方法的优越性和合理性,这种神经网络方法在其它领域预测和评价方面的使用将具有较好的实际应用价值
5.2 Hopfield神经网络
一种基于能量的模型(Energy Based Model,EBM)——可用作联想存储的互连网络,称该模型为 Hopfield 网络。
主要应用:Hopfield网络主要用于联想记忆、聚类以及优化计算等方面。
根据其激活函数的不同,Hopfield 神经网络有两种:
- 离散Hopfield 网络(Discrete Hopfield Neural Network,DHNN)
- 连续Hopfield 网络(Continues Hopfield Neural Network,CHNN)。
从图 12中可以看出每个神经元的输出都成为其他神经元的输入,每个神经元的输入又都来自其他神经元。神经元输出的数据经过其他神经元之后最终又反馈给自己。
图 12. Hopfield网络的网状结构
局限性:
- 在具体神经网络实现中要保证连接权矩阵是对称的;
- 在实际的神经网络实现中, 总会存在信息的传输延迟, 这些延迟对神经网络的特性有影响。
- 神经网络实现中的规模问题, 即集成度问题。
5.2.1 离散Hopfield网络
输出值只能取0或1,分别表示神经元的抑制和兴奋状态。如图 13所示输出神经元的取值为0/1或-1/1。对于中间层,任意两个神经元间的连接权值为wij = wji ,神经元的连接是对称的。如果wij等于0,即神经元自身无连接,则成为无自反馈的Hopfield网络,如果wij != 0,则成为有自反馈的Hopfield网络。但是出于稳定性考虑,一般避免使用有自反馈的网络。
图 13. 离散Hopfield网络
5.2.2 连续Hopfield网络
连续的Hopfield网络结构和离散的Hopfield网络的结构相同,不同之处在于传输函数不是阶跃函数或符号函数,而是S型的连续函数,如sigmoid函数。每个神经元由一个运算放大器和相关的元件组成,其输入一方面由输出的反馈形成,另一方面也有以电流形式从外界连接过来的输入。
5.3 盒中脑模型(BSB)
盒中脑(Brain-State-in-a-Box,BSB)模型是一种节点之间存在横向连接和节点自反馈的单层网络,可以用作自联想最邻近分类器,并可存储任何模拟向量模式。该模型是一种神经动力学模型,可以看作是一个有幅度限制的正反馈系统。
特点:BSB模型实际上是一种梯度下降法,在迭代的过程中,使得能量函数达到最小。
6 自组织神经网络
6.1 竞争神经网络
竞争型学习(compaetitive learning)是神经网络的中一种常用的无监督学习策略,在使用该策略时,网络的输出神经元相互竞争,每一时刻仅有一个获胜的神经元被激活,其他神经元的状态被抑制,中级机制也别称为"胜者通吃"原则。
特点:
- 竞争神经网络的显著特点是它的输出神经元相互竞争以确定胜者,胜者指出哪一种原形模式最能代表输入模式。
- Hamming 网络是一个最简单的竞争神经网络,如图 14所示。神经网络有一个单层的输出神经元,每个输出神经元都与输入节点全相连,输出神经元之间全互连。从源节点到神经元之间是兴奋性连接,输出神经元之间横向侧抑制。
图 14. 最简单的竞争神经网络-Hamming网络
6.2 自适应谐振理论网络(Adaptive Resonance Theory,ART)
自适应谐振理论网络(Adaptive Resonance Theory,ART)是一种竞争学习型神经网络。该网络由比较层、识别层、识别阈和重要模块构成。其中,比较层负责接受输入样本,并将其传递给识别层神经元。识别曾每个神经元对应一个模式类,神经元数目可在训练过程中动态增长以增加新的模式类。
优点:课进行增量学习(incremental Learning)或者在线学习(online learning)
6.3 自组织映射神经网络(Self-Organizing Map,SOM)
SOM(Self-Organizing Map,自组织映射)网络,是一种竞争学习型的无监督神经网络,它能将高维输入数据映射到低维空间(通常是二维),同时保持输入数据在高维空间的拓扑结构,即将高维空间中想死的样本点映射到网络输出层中的邻近神经元。
如图所示, SOM 网络中的输出层神经元以矩阵方式排列在二维空间中,每个神经元都拥有一个权向量,网络在接收输入向量后,将会确定输出层获胜神经元,它决定了该输入向量在低维空间中的位置.
图 15. SOM网络结构
SOM的训练目标:每个输出层神经元找到合适的权向量,以达到保持拓扑结构的目的
SOM训练过程:在接收到一个训练样本后.每个输出层神经局会计算该样本与自身携带的权向量之间的距离,距离最近的神经兀成为竞争获胜者,称为最佳匹配单元 (best matching unit). 然后,最佳匹配单元及其邻近神经
元的权向量将被调整,以使得这些权向量与当前输入样本的距离缩小.这个过程不断迭代,直至收敛.
与竞争神经网络的区别和联系
联系
- 非常类似,神经元都具有竞争性,都采用无监督的学习方式。
- 同样包含输入层、输出层两层网络
区别
- 自组织映射网络除了能学习输入样本的分布外,还能够识别输入向量的拓扑结构。
- 自组织网络中,单个神经元对模式分类不起决定性的作用,需要靠多个神经元协同作用完成。
- 自组织神经网络输出层引入网络的拓扑结构,以更好的模拟生物学中的侧抑制现象。
- 主要区别是竞争神经网络不存在核心层之前的相互连接,在更新权值时采用了胜者全得的方式,每次只更新获胜神经元对应的连接权值;而自组织神经网络中,每个神经元附近一定领域内的神经元也会得到更新,较远的神经元则不更新,从而使得几何上相近的神经元变得更相似。
7 结构自适应神经网络
一般的神经网络模型通常假定 网络结构是事先固定的,训练的目的是利用训练样本来确定合适的连接权、 阙值等参数.与此不同, 结构自适应网络则将网络结构也当作学习的目标之 一,并希望能在训练过程中找到最利合数据特点的网络结构
7.1 级联相关 (Cascade-Correlation) 网络
级联相关 (Cascade-Correlation) 网络是结构自适应网络的重要代表。级联相关网络有两个主要成分"级联"和"相关" 级联是指建立层次连接的层级结构.在开始训练时,网络只有输入层和输出层,处于最小拓扑结构;随着训练的进行,如图 16所示,新的隐层神经元逐渐加入,从而创建起层级结构. 当新的隐层神经元加入时,其输入端连接权值是冻结固 定的相关是指通过最大化新神经元的输出与网络误差之间的相关性(correlation)来训练相关的参数.
图 16. 级联相关网络的训练过程。新的隐结点加入时,红色连接权通过最大化新结占的输出与网终误差之间的相关性来讲行训练。
优缺点:与一般的前馈神经网络相比,级联相关网络无需设置网络层数、隐层神经元数目,且训练速度较快,但其在数据较小时易 陷入过拟合
8.对抗神经网络GAN
对抗神经网络其实是两个网络的组合,可以理解为一个网络生成模拟数据,另一个网络判断生成的数据是真实的还是模拟的。生成模拟数据的网络要不断优化自己让判别的网络判断不出来,判别的网络也要不断优化自己让判断的更加精确。两者的关系形成对抗,因此叫对抗神经网络。
结构:GAN由generator(生成模型)和discriminator(判别式模型)两部分构成。 二者结合之后,经过大量次数的迭代训练会使generator尽可能模拟出以假乱真的样本,而discrimator会有更精确的鉴别真伪数据的能力,最终整个GAN会达到所谓的纳什均衡,即discriminator对于generator的数据鉴别结果为正确率和错误率各占50%。
图 17. GAN结构
- generator网络:主要是从训练数据中产生相同分布的samples,对于输入x,类别标签y,在生成模型中估计其联合概率分布。
- discriminator网络:判断输入的是真实数据还是generator生成的数据,即估计样本属于某类的条件概率分布。它采用传统的监督学习的方法。
举例:如果用到图片生成上,则训练完成后,G可以从一段随机数中生成逼真的图像。G, D的主要功能是:
- G是一个生成式的网络,它接收一个随机的噪声z(随机数),通过这个噪声生成图像
- D是一个判别网络,判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,而输出为0,就代表不可能是真实的图片
图 18. 模型结构如下图所示。图的左侧是生成网络,右侧是判别网络。
9 随机神经网络
随机神经网络是对神经网络引入随机机制,认为神经元是按照概率的原理进行工作的,这就是说,每个神经元的兴奋或抑制具有随机性,其概率取决于神经元的输入。
9.1 玻尔兹曼机(Boltzmann)
在Hopfield网络中引入随机机制,提出了Boltzmann机,这是第一个由统计力学导出的多层学习机,可以对给定数据集的固有概率分布进行建模,可以用于模式识别等领域。得此名的原因是,它将模拟退火算法反复更新网络状态,网络状态出现的概率服从Boltzmann分布,即最下能量状态的概率最高,能量越大,出现的概率越低。
由随机神经元组成,神经元分为可见神经元和隐藏神经元,与输入/输出有关的神经元为可见神经元,隐藏神经元需要通过可见神经元才能与外界交换信息。
特点:Boltzmann机学习的主要目的在于产生一个神经网络,根据Bolazmann分布对输入模型进行正确建模,训练挽留过的权值,当其导出的可见神经元状态的概率分布和被约束时完全相同时,训练就完成了。
- 训练过程
Boltzmann 机的训练过程:将每个训练样本视为一个状态向量,使其出现的概率尽可能大.标准的 Boltzmann 机是一个全连接图,训练网络的复杂度很高,这使其难以用于解决现实任务. 现实中 常采用受限Boltzmann机(Restricted Boltzmann Machine,简称 RBM) . 如图 19所示,受限 Boltzmann 机仅保留显层与隐层之间的连接 从而将 Boltzmann 机结构由完全图简化为二部图。
图 19. Boltzmann机与受限Boltzmann机