5.1 神经元模型
神经网络是由具有适应性的简单单元组成的广泛并联互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应.
神经网络中最基本的成分是神经元模型.在生物神经网络中,每个神经元与其它神经元相连,当它兴奋时,就会向相连的神经元发送化学物质.
M-P神经元模型
M-P神经元模型
在M-P神经元模型中,神经元接收到来自n个其它神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入将于神经元的阈值进行比较,然后通过激活函数(activation function)处理以产生神经元的输出.
Sigmoid激活函数
常用的激活函数为sigmoid,典型的sigmoid函数如下图所示.
5.2 感知机和多层网络
感知机由两层神经元组成,如下图所示,输入层接收外界输入信号后传递给输出层,输出层是M-P神经元,亦称"阈值逻辑单元".
需注意的是,感知机只有输出层神经元进行激活函数处理,即只拥有一层功能神经单元,其学习能力非常有限.
要解决非现象可分问题,需考虑使用多层功能神经元.一般的,常见的神经网络是下图所示的层级结构,每层神经元与下一层神经元全互联,神经元之间不存在同层连接,也不存在跨层连接.这样的神经网络通常称为多层前馈神经网络(multi-layer feedforward neural networks).
5.3 误差传播算法
多层网络的学习能力比单层感知机强得多.欲训练多层网络,需要更强大的学习算法.误差逆传播(error BackPropagation,简称BP)算法就是其中最杰出的代表.现实任务中使用神经网络时,大多是在使用BP算法进行训练.通常说"BP网络"时,一般是指用BP算法训练的多层前馈神经网络.
BP算法工作流程
对每个训练样例,BP算法执行以下操作.
先将输入示例提供给输入层神经元,然后逐层将信号前传,直到产生输出层的结果
然后计算输出层的误差,再将误差逆向传播至隐层神经单元
最后根据隐层神经元的误差来对连接权和阈值进行调整
该迭代过程循环进行,直到达到某些停止条件为止
在(0,1)范围内随机初始化网络中所有连接权和阈值
repeat:
for all(x_k,y_k) in D do
根据当前参数和公式0计算当前样本的输出y^k;
计算输出层神经元的梯度g_j;
计算隐层神经元的梯度e_h;
更新连接权w_hj,v_ih及阈值theta_j,gamma_h
end for
until 达到停止条件(训练误差达到设定值或训练次数达到设定值)
5.4 全局最小和局部最小
如果误差函数具有多个局部极小,则不能保证找到的解是全局最小,我们称参数寻优陷入了局部极小.
在现实任务中,人们常采用以下策略来试图跳出局部极小,从而进一步接近全局最小.
以多组不同参数值初始化多个神经网络,按标准方法训练后,取其中误差最小的解作为最终参数.这相当于同多个不同的初始点开始搜索,这样就可能陷入不同的局部极小,从中选择有可能获得更接近全局最小的结果.
使用"模拟退火"技术.模拟退火在每一步都以一定的概率接受比当前解更差的结果,从而有助于跳出局部极小.在每步迭代过程中,接受次优解的概率要随着时间的推移而逐渐降低,从而保证算法稳定.
使用随机梯度下降.与标准梯度下降法精确计算梯度不同,随机梯度下降法在计算梯度时加入了随机因素.于是,即便陷入局部极小点,它计算出的梯度仍可能不为零,这样就有机会跳出局部极小继续搜索.
5.5 其他常见的神经网络
有RAF,ART,SOM,级联神经网络,Elman网络,就不一一详细讲解了哈
5.6 深度学习
理论上来说,参数越多的模型复杂度越高,”容量“(capacity)越大,这意味着他能完成更复杂的学习任务,但一般情况下,复杂模型的训练效率低,易陷入过拟合,因此难以受到人们青睐。而随着云计算,大数据时代的到来,计算能力的大福提高可缓解训练低效性,训练数据的大幅度增加则可降低过拟合风险,因此,以深度学习(DL)为代表的复杂模型开始受到人们的关注。
典型的深度学习模型就是很深层的神经网络,显然,对神经网络模型,提高容量的一个简单方法就是增加隐层的数目。
今天就更新到这哈,感觉像是期刊哈哈,就是质量不高!!