机器学习.周志华《5 神经网络》

神经元模型:

                            

激活函数:


感知机和多层网络:

感知机就是指由两层神经元组成,输入层接收外界输入信号后传递给输出层,输出层是M-P神经元,也称“阈值逻辑单元”。可以解决线性可分的逻辑与、或、非运算:


可以看出感知机是只有一层功能神经元,学习能力非常有限,在解决一些复杂问题(非线性可分)时,需要提供多层功能神经元去处理,也就是说在输入层和输出层之间加入一层功能神经元,这一层常常称为隐层(隐含层),隐层和输出层都有激活函数的功能神经元。 

多层前馈神经网络:

每层神经元与下层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接,称为“多层前馈神经网络”。这种网络中的输入层神经元只接受输入,不进行函数处理,隐层和输出层包含功能神经元。 



反向传播算法BP

先将输入层输入的数据提供给输入层神经元,然后逐层将信号前传,直到产生输出层的结构;然后计算输出层的误差,再将误差逆向传播至隐层神经元,最后根据隐层神经元的误差来对连接权和阈值进行调整,如此循环迭代,直到达到某些条件为止。 


注1:BP算法的目标是要最小化训练集D上的误差积累,正因为强大的表示能力,BP神经网络经常出现过拟合,因此训练误差持续降低,而测试误差逐渐升高。常用“early stopping” 和 “regularization”两种测量来解决过拟合问题。

注2:读取训练集一遍称为就行了一轮(epoch)学习;

early stopping:

将数据分为训练集与验证集,训练集用来计算梯度、更新权值和阈值,验证集用于估计误差,若在训练过程中,训练集的累积误差降低,但测试集的累积误差升高,则停止训练,同时返回具有最小燕子矶误差的权值和阈值。

regularization:

在误差目标函数中增加一个用于描述网络复杂度的部分,例如所有权值与阈值的平方和,其中λ∈(0,1)用于对累积经验误差与网络复杂度这两项进行折中,常通过交叉验证法来估计。 


全局最小与局部最小

模型学习的过程实质上就是一个寻找最优参数的过程,例如BP算法试图通过最速下降来寻找使得累积经验误差最小的权值与阈值,在谈到最优时,一般会提到局部极小(local minimum)和全局最小(global minimum)。

* 局部极小解:参数空间中的某个点,其邻域点的误差函数值均不小于该点的误差函数值。
* 全局最小解:参数空间中的某个点,所有其他点的误差函数值均不小于该点的误差函数值。

基于梯度的搜索是最广泛的参数寻优方法(寻找梯度下降最快的方向)

解决局部极小的方法:

启发式:

  •  以多组不同参数值初始化多个神经网络,按标准方法训练,迭代停止后,取其中误差最小的解作为最终参数;
  • 使用“模拟退火”技术:每一步都以一定的概率接受比当前解更差的结果,即接受“次优解”。
  • 使用随机梯度下降,即在计算梯度时加入了随机因素,使得在局部最小时,计算的梯度仍可能不为0,从而迭代可以继续进行;

遗传算法:(略)


其他常见网络

径向基函数(RBF)网络 

 RBF(Radial Basis Function)径向基函数网络是一种单隐层前馈神经网络,它使用径向基函数作为隐层神经元激活函数,而输出层则是对隐层神经元输出的线性组合。下图为一个RBF神经网络示意图:

  训练RBF网络通常采用两步:

  1> 确定神经元中心,常用的方式包括随机采样,聚类等;

  2> 确定神经网络参数,常用算法为BP算法。

足够多的隐含层神经元的RBF可以以任意精度逼近任意连续函数。

自适应谐振理论(ART)网络

ART(Adaptive Resonance Theory)自适应谐振理论网络是竞争型学习的重要代表,无监督学习策略,该网络由比较层、识别层、识别层阈值和重置模块构成。ART比较好的缓解了竞争型学习中的“可塑性-稳定性窘境”(stability-plasticity dilemma),可塑性是指神经网络要有学习新知识的能力,而稳定性则指的是神经网络在学习新知识时要保持对旧知识的记忆。这就使得ART网络具有一个很重要的优点:可进行增量学习或在线学习。

自组织映射(SOM)网络:

SOM(Self-Organizing Map,自组织映射)网络是一种竞争学习型的无监督神经网络,它能将高维输入数据映射到低维空间(通常为二维),同时保持输入数据在高维空间的拓扑结构,即将高维空间中相似的样本点映射到网络输出层中的临近神经元。下图为SOM网络的结构示意图:



级联相关网络

级联相关神经网络是结构自适应网络。

主要成分

  • 级联:建立层次连接的层级结构,随着训练进行加入新的神经元,此时输入端的连接权值是固定的。
  • 相关:通过最大化新神经元的输出与网络误差之间的相关性(correlation)来训练相关参数。

递归神经网络(Elman)

与前馈神经网络不同,递归神经网络(Recurrent Neural Networks,简称RNN)允许网络中出现环形结构,从而可以让一些神经元的输出反馈回来作为输入信号,这样的结构与信息反馈过程,使得网络在tt时刻的输出状态不仅与t时刻的输入有关,还与t−1时刻的网络状态有关,从而能处理与时间有关的动态变化。

  Elman网络是最常用的递归神经网络之一,其结构如下图所示:

  RNN一般的训练算法采用推广的BP算法。值得一提的是,RNN在(t+1)时刻网络的结果O(t+1)是该时刻输入和所有历史共同作用的结果,这样就达到了对时间序列建模的目的

  “梯度发散”同样也会发生在时间轴上,也就是说对于t时刻来说,它产生的梯度在时间轴上向历史传播几层之后就消失了,无法影响太遥远的过去。在实际中,后面时间步的错误信号,往往并不能回到足够远的过去,像更早的时间步一样,去影响网络,这使它很难以学习远距离的影响。

  为了解决上述时间轴上的梯度发散,机器学习领域发展出了长短时记忆单元(Long-Short Term Memory,简称LSTM),通过门的开关实现时间上的记忆功能,并防止梯度发散。其实除了学习历史信息,RNN和LSTM还可以被设计成为双向结构,即双向RNN、双向LSTM,同时利用历史和未来的信息。

Boltzmann机 

神经网络中有一类模型是为网络状态定义一个“能量”,能量最小化时网络达到理想状态,而网络的训练就是在最小化这个能量函数。Boltzmann(玻尔兹曼)机就是基于能量的模型,其神经元分为两层:显层和隐层。显层用于表示数据的输入和输出,隐层则被理解为数据的内在表达。Boltzmann机的神经元都是布尔型的,即只能取0、1值。标准的Boltzmann机是全连接的,也就是说各层内的神经元都是相互连接的,因此计算复杂度很高,难以用来解决实际问题。受限玻尔兹曼机(Restricted Boltzmann Mechine,简称RBM),层内无连接,层间有连接,可以看做是一个二部图。下图为Boltzmann机和RBM的结构示意图:

  RBM常常用对比散度(Constrastive Divergence,简称CD)来进行训练。

深度学习

理论上,参数越多,模型复杂度就越高,容量(capability)就越大,从而能完成更复杂的学习任务。深度学习(deep learning)正是一种极其复杂而强大的模型。

增大模型复杂度方法:

  1. 增加隐含层的数目;
  2. 增加隐含层神经元的数目;

前者更有效一些,因为它不仅增加了功能神经元的数量,还增加了激活函数嵌套的层数。但对于多隐层神经网络,经典算法如标准BP算法往往会在误差逆传播时发散(diverge),无法收敛达到稳定状态。

训练:

  • 无监督逐层训练(unsupervised layer-wise training):每次训练一层隐节点,把上一层隐节点的输出当作输入来训练,本层隐结点训练好后,输出再作为下一层的输入来训练,这称为预训练(pre-training)。全部预训练完成后,再对整个网络进行微调(fine-tuning)训练。一个典型例子就是深度信念网络(deep belief network,简称DBN)。预训练+微调其实可以视为把大量的参数进行分组,先找出每组较好的设置,再基于这些局部最优的结果来训练全局最优。

  • 权共享(weight sharing):令同一层神经元使用完全相同的连接权,典型的例子是卷积神经网络(Convolutional Neural Network,简称CNN)。这样做可以大大减少需要训练的参数数目。

这里写图片描述

深度学习可以理解为一种特征学习(feature learning)或者表示学习(representation learning),无论是DBN还是CNN,都是通过多个隐层来把与输出目标联系不大的初始输入转化为与输出目标更加密切的表示,使原来只通过单层映射难以完成的任务变为可能。即通过多层处理,逐渐将初始的“低层”特征表示转化为“高层”特征表示,从而使得最后可以用简单的模型来完成复杂的学习任务。

传统任务中,样本的特征需要人类专家来设计,这称为特征工程(feature engineering)。特征好坏对泛化性能有至关重要的影响。而深度学习为全自动数据分析带来了可能,可以自动产生更好的特征。

-------*-*---------------------------------------------------------------------------------------------------*-*----

更多详细内容请关注公众号:目标检测和深度学习

-------……^-^……--------------------------------------------------------------------------------------------…^-^……---


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

女王の专属领地

您的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值