神经网络

神经元模型

神经网络(neural networks):“神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应”[Kohonen, 1988]

神经网络中最基本的成分:神经元(neurol)模型,即上述定义中的“简单
单元” .

M-P 神经元模型:在这个模型 中 , 神经元接收到来自n个其他神经元传递过来的输入信号?这些输入信号通过带权重的连接( connection)进行传递,神经元接收到的总输入值将与神经元的阙值进行比较,然后通过“激活函数”(activation function) 处理以产生神经元的输出.
在这里插入图片描述
激活函数:

  • 理想:阶跃函数,但阶跃函数具有不连续 、不光滑等不太好的性质
  • 实际:Sigmoid,它把可能在较大范围内变化的输入值挤压到(0, 1)输出值范围内,因此有时也称为 “挤压函数”(squashing function).对数几率函数是Sigmoid函数的典型代表
    在这里插入图片描述
    把许多个这样的神经元按-定的层次结构连接起来,就得到了神经网络.

感知机与多层网络

感知 机(Perceptron):由两层神经元 组成, 如图 5.3 所示,输入层接收外界输入信号后传递给输出层, 输出 层是 M-P 神 经元,亦称“阈值逻辑单元”(threshold logic unit) .
在这里插入图片描述
感知机能容易地实现逻辑与 、 或 、 非运算. 注意到 ν = f (I:,i WiX i - B),假
定 f 是图 5.2 中的阶跃函数, 有:

  • “与”(x1^x2 ) : 令 Wt= W2 = 1 ,。= 2 , 则 ν = f(l · X 1 + 1 · X2 - 2),仅在 X1 = X2 = 1 时, y = 1;
  • 或”(x1 V x2):令 W1 =叫= 1, e= o.5,则 ν = f (1 • X1 十 1 ·X2 0.5),
    当 x1 = 1 或 x2 = 1 时, y = l;
  • 非’(-x1 ):令 W1 = -0.6, W2 = 0, 8 = -Q.5,则 ν = f( 0.6 · X1 + Q·
    X2 +0.时,当 Xt = 1 时, y=O;当 Xt = 0 时, y = 1.

更一般地,给定训练数据集?权重叫。= 1,2, … ,n)以及阔值。可通过学习得到阈值。可看作一个固定输入为 1.0 的“哑结点”(dummy node)所对应的连接权重 Wn十1,这样,权重和阑值的学习就可统一为权重的学习.

感知机学习规则:
对训练样例(x,y),若当前感知机的输出为y,则感知机权重将如下调整:
在这里插入图片描述

注意:感知机只有输出层神经元进行激活函数处理,即只拥有层功能神经元(functional neuron),其学习能力非常有限.上述与、或、
非问题都是线性可分(linearly separable)的问题.可以证明[Minsky and Papert,
1969],若两类模式是线性可分的,即存在一个线性超平面能将它们分开,如图
5叫a)-(c)所示,则感知在fl的学习过程一定会收敛(converge)而求得适当的权向
量 w = (w1 ;叫;· ··;Wn+1 );否则感知机学习过程将会发生振蔼(fluctuation), w
难以稳定下来,不能求得合适解,例如感知机甚至不能解决如图 5.4)所示的
(“非线性可分”意味着用线性起平面无法划分) 异或这样简单的非线性可分问题.

在这里插入图片描述
要解决非线性可分问题?需考虑使用多层功能神经元.

例如| 国 5.5 中这个简单的两层感知机就能解决异或问题。在图 5 .5 (a)中 ,输出层与输入居之间 的一层神经元,被称为 隐居或隐含层 (hidden layer),隐含层和输出层神经元都是拥有激活函数的功能神经元.
在这里插入图片描述
多层前馈神经网络(muti-layer feedforward neural networks):更一般的,常见的神经网络是形如图 5 .6 所示的层级结构,每层神经元与下层神经元全互连,神经元之间不存在同层连接, 也不存在跨层连接.

“前馈”并不意味着网络中信号不能向后传!而是指网络拓扑结构丰不存在环或回路

在这里插入图片描述
其中输入层神经元接收外界输入,隐层与输出层神经元对信弓进行加工,最终结果由输出层神经元输出:换言之,输入层神经元仅是接受输入,不进行函数处理,隐居与输出层包含功能神经元.因此,图 5.6(a)通常被称为“两层网络”.为避免歧义,本书称其为“单隐层网络”.需包含隐层,即可称为多层网络。
神经网络的学习过程,就是根据训练数据来调整神经元之间的“连接权”(connection weight)以及每个功能神经元的阈值;换言之,神经网络“学”到的东西,蕴涵在连接权与阙值中,

误差逆传播算法(反向传播算法)

训练多层网络,式( 5.1 )的简单感知机学习规则显然不够了?需要更强大的学习算法.误差逆传播(errorBackPropagation,简称 BP)算法就是其中最杰出的代表
在这里插入图片描述假设隐层和输出层神经元都使用5.2(a)中的Sigmoid函数.
在这里插入图片描述

公式5.4的1/2 是为了后续求导的便利

BP 是一个法代学习算法,在迭代的每一轮中采用广义的感知机学习规则对参数进行更新估计,与式(5 .1)类似,任意参数 v的更新估计式为:
在这里插入图片描述

隐层到输出层的连接权 Whj 为例来进行推导:

BP算法基于梯度下降(gradient descent)策略,以目标的负梯度方向对参数进行调整,对式(5.4)的误差Ek,给定学习率η,有
在这里插入图片描述
注意到whj先影响到第 j 个输出层神经元的输入值,再影响到其输出值y^kj,然后影响到 Ek,有
在这里插入图片描述
根据βj的定义,显然有:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
累积 BP 算法(accumulated error backpropagation)与标准 BP 算法都很常用.一般来说,标准 BP 算法每次更新只针对单个样例?参数更新得非常频繁,而且对不同样例进行更新的效果可能出现“抵消”现象.因此,为了达到同样的累积误差极小点 7 标准 BP 算法往往需进行更多次数的法代.累积 BP 算法直接针对累积误差最小化,它在i卖取整个训练集 D 一遍后才对参数进行更新,其参数更新的频率低得多.但在很多任务中,累积误差下降到一定程度之后,进
一步下降会非常缓慢,这时标准 BP 往往会更快获得较好的解,尤其是在训练集 D 非常大时更明显.
如何设置隐层神经元的个数仍是个未决问题,实际应用中通常靠“试错法”(trial-by-error)调整.
正是由于其强大的表示能力, BP 神经网络经常遭遇过拟合。两种策略:

  • 早停法(early stopping)。:将数据分成训练集和验证集,训练、集用来计算梯度、更新连接权和阈值,验证集用来估计误差,若训练集误差降低但验证集误差升高则停止训练,同时返回具有最小验证集误差的连接权和阈值.
  • 正则化(regularization),基本思想是在误差目标函数中增加一个用于描述网络复杂度的部分,例如连接权与阔值的平方和.仍令 Ek 表示第 k 个训练样例上的误差?叫表示连接权和
    阙值,则误差目标函数(5.16)改变为
    在这里插入图片描述
    其中 λε (0, 1)用于对经验误差与网络复杂度这两项进行折中,常通过交叉验
    证法来估计.

全局最小和局部极小

在这里插入图片描述
如果误差函数具有多个局部极小?则不能保证找到的解是全局最小,参数寻优陷入了局部极小。
常采用以下策略来试图 “挑出”局部极小,从而进一步接近全局最小.

  • 以多组不同参数值初始化多个神经网络7 按标准方法训练后, 取其中误差
    最小的解作为最终参数.这相当于从多个不同的初始点开始搜索, 这样就
    可能陷入不同的局部极小从中进行选择有可能获得更接近全局最小的
    结果.
  • 使用“模拟退火”(simulated annealing)技术 [Aarts and Korst , 1989].
    模拟退火在每一步都以二定的概率接受 比当前解更差的结果,从而有助
    于 “跳出”局部极小 . 在每步迭代过程中,接受“次优解” 的概率要随着
    时间的推移而逐渐降低7 从而保证算法稳定 .
  • 使用随机梯度下降.与标准梯度下降法精确计算梯度不同,随机梯度下降
    法在计算梯度时加入了随机因素.于是即便陷入局部极小点,它计算出
    的梯度仍可能不为零,这样就有机会跳出局部极小继续搜索 .

上述用于跳出局部极小的技术大多是启发式,理论七尚缺乏保障.

其他常见神经网络

RBF网络

ART网络

SOM网络

级联相关网络

结构自适应网络则将网络结构也当作学习的目标之一,级联相关(Cascade-Correlation)网络[Fahlman and Lcbiere, 1990]是结构自适应网络的重要代表 .
在这里插入图片描述

与一般的前馈神经网络相比,级联相关网络无需设置网络层数、隐层神经元数目,且训练速度较快,但其在数据较小时易陷入过拟合.

Elman网络

与前馈神经网络不同,“递归神经网络”(recurrent neural networks)允许网络中出现环形结构,从而可让一些神经元的输出反馈回来作为输入信号.这样的结构与信息反馈过程,使得网络在 t 时刻的输出状态不仅与 t 时刻的输入有关,还与 t-1 时刻的网络状态有关,从而能处理与时间有关的动态变化.

在这里插入图片描述

Boltzmann机

“基于能量的模型”(energy-basedmodel)

深度学习

典型的深度学习模型就是很深层的神经网络.但从增加模型复杂度的角度来看,增加隐层的数目显然比增加隐层神经元的数目更有效,多隐层神经网络难以直接用经典算法(例如标准 BP 算法)进行训练, 因为误差在多隐层内逆传播时,往往会“发散”(diverge)而不能收敛到稳定状态.
无监督逐层训练(unsupervised layer-wise training)是多隐层网络训练的有效手段,其基本思想是每次训练一层隐结点,训练时将上一层隐结点的输出作为输入,而本层隐结点的输出作为下一层隐结点的输入,这称为“预训练”(pre-training);在预训练全部完成后,再对整个网络进行“微调”(finetuning)训练
在这里插入图片描述
在这里插入图片描述
采样层亦称为“汇合” (pooling)层,其作用是基于局部相关性原理进行亚采样,从而在减少数据量的同时保留有用信息. 会和层的操作常采用‘最大’或‘平均’
CNN 可用 BP 算法进行训练,但在训练中 ,无论是卷积层还是采样层, 其每一组神经元(即 图 5.15 中 的每个“平面” )都是用相同的连接权,从而大幅减少了需要训练的参数数目。

若将网络中前若干层处理都看作是在进行特征表示,只在最后一层处理看作是在进行“分类 ’ ,则分类使用 的就是一个简单模型:通过多层处理,逐渐将初始的 “低层 ”特征表示转化为“高层”特征表示后,用“简单模型”即可完成复杂的分类等学习任务,由此可将深度学习理解为进行“特征学习”(feature learning)或 “表示学习”(representation learning) .
特征的好坏对泛化性,能有至关重要的影响,人类专家设计出好特征也并非易事;特征学习则通过机器学习技术自身来产生好特征,这使机器学习向“全自动数据分析”又前进了一步.


参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值