定义:
神经网络是由具有适应性的简单单元组成的、广泛并行互连的网络,其组织能够模拟神武神经系统对真实世界物体所做出的交互反应。这里的简单单元指 神经元neuron。
在神经网络中,每个神经元与其他神经元相连,当超过一个”阈值 (threshold)“,该神经元将被激活,产生神经元输出。
感知机 (perceptron)由两层神经元组成,输入层接收外界输入信号后传递给输出层,输出层是M-P神经元。如下图:
对于训练样例 (x, y),若当前感知机输出为, 则按照如下规则调整权重:
为学习率(learning rate)。
感知机只有输出层使用激活函数处理,学习能力有限。通常线性可分linearly separable问题,即存在一个线性超平面可将数据分开,一般可使用感知机算法。
每层神经元与下一层神经元全连接,神经元之间不存在同层内链接,也没有跨层连接,这样的神经网络通常称为”多层前馈神经网络” (multi-layer feedforward neural networks)。比如将下图(b)增加为多层:
通常说的 “BP网络”指:用BP算法训练的multi-layer feedforward neural network。BP算法基于梯度下降策略,以目标的负梯度方向对参数进行更新。
为隐层第h个神经元的输出,隐层和输出层神经元 均使用sigmoid函数作为激活函数。
对训练样例,假定神经网络的输出为 ,则网络在 上的均方误差为:
设 表示隐层到输出层的连接权重,则对式 (5.4)的误差,给定学习率η,有
通常情况下,BP算法的目标是 最小化训练集D上的累计误差:
即 在读取整个训练集 D 一遍之后,才对参数进行更新。
1)早停(early stopping)
将数据分为 trainning set 和validation set,当training error降低但validation error升高, 则停止训练,同时返回具有最小验证集误差的 权重和阈值。
2)正则化(regularization)
基本思想是 在误差目标函数中增加一个描述网络复杂度的项,比如权重和阈值的平方和。
可能存在多个局部极小值,但却只会有一个全局最小值。
1)以多组不同参数值 初始化多个神经网络,训练网络后,取其中误差最小的解作为最终参数。相当于从多个不同的初始点开始梯度下降
2)使用“模拟退火”(simulated annealing),在每一步都以一定的概率接受比当前解更差的结果 (接受次优解),以达到保证算法稳定的目的
3)使用随机梯度下降,在标准梯度下降法中加入随机因素
一种单隐层前馈神经网络,使用径向基函数 作为隐层神经元激活函数,输出层是 对隐层神经元输出的线性组合。RBF网络可表示为:
分别是 第 i 个隐层神经元所对应的中心和权重, 为高斯径向基函数(通常是某种沿径向对称的标量函数),为样本 x 到数据中心 之间的欧式距离的单调函数。
训练RBF网络通常有两步:
step 1:确定神经元中心 ;
step2:利用BP算法 来确定参数
属于无监督学习策略中 竞争性学习策略的重要代表
由 比较层、识别层、识别阈值、重置模块构成。
优点:可进行增量学习(incremental learning)或 在线学习(online learning)
一种竞争学习型的无监督神经网络,可将 高维输入数据 映射到 低维空间,同时保持输入数据在高维空间的拓扑结构(即 将高维空间中相似的样本点 映射到 网络输出层中的近邻神经元)
级联:建立层次连接的层级结构。
随着训练的进行,新的隐层神经元的逐渐加入时,其输入端连接权重 是冻结固定的。
相关:通过最大化新神经元的输出 与 网络误差之间的 相关性来训练相关参数。
允许网络中出现 环形结构,从而让一些神经元的输出 反馈回来作为输入信号,使得网络在t时刻的输出状态 不仅与t时刻的输入有关,还与t-1时刻的网络状态有关,从而能处理与时间有关的动态变化。
一种基于能量的模型,其神经元分为两层:显层表示数据的输入和输出,和隐层表示 数据的内在表达。状态向量s 所对应的 Boltzmann机能量定义为
深度学习 == 很深层次的神经网络 == 增加隐层数目/ 增加隐层神经元的数目
每次训练一层隐层结点,训练时 将上一层隐层节点的输出作为输入,本层隐层节点的输出作为 下一层隐层节点的输入,即 “预训练”;
在预训练全部完成后,再对整个网络进行 “微调”。
“预训练 + 微调”方法可视为 将大量参数分组,对每组先找到局部最优,然后再联合 这些局部最优 得到全局最优。
在DBN (Deep Belief Network,深度信念网络)中,每层 都是一个受限Boltzmann机,整个网络可看作是 若干个RBM堆叠而成。
即让一组神经元使用相同的权重,典型应用为CNN。