深度学习笔记1-神经网络

深度学习笔记1-神经网络

  1. 神经元与多层网络
    神经网络中最基本的成分是神经元模型,目前基本上用的都是“M-P神经元模型”。在这个模型中,神经元接收到来自 n n 个其它神经元传递过来的输入信号,这些输入信号通过带权值的链接进行传递,神经元接收到的总输入值将与神经元的阈值进行比较,然后通过“激活函数”处理以产生神经元的输出。
    在这里插入图片描述
    激活函数可以是阶跃函数,它将输入值映射为输出为“0”或“1”。但阶跃函数具有不连续、不光滑等性质,因此常用Sigmoid函数作为激活函数。它可将输入值挤压到(0,1)输出值范围内。
    在这里插入图片描述
    把许多个这样的神经元按一定的层次结构连接起来,就得到了神经网络
    在前面有讲过感知机,神经元可用感知机进行数学描述。感知机能实现逻辑与、或、非运算,但这些都是线性可分问题,对于非线性可分问题,则需要多层神经元。多层神经元则会包含隐含层,隐含层能对信号进行加工。

  2. 误差逆传播算法(BP)
    BP算法是基于梯度下降策略链式法则,以目标的负梯度方向对参数进行调整。关于BP算法的理解,可以参看B站上人工智能中的视觉识别与机器学习(李飞飞)这门课的第8小节,课程里会通过例子详细介绍BP的来龙去脉。除此之外,该门课程还会介绍很多深度学习与图像方面的知识,有兴趣的同学强烈推荐去学习学习。
    BP算法会包含以下操作:将输入信号逐层前传,直到产生输出层的结果;然后计算输出层的误差,再将误差逆向传播至隐含层神经元,最后根据隐含层神经元的误差来对连接权和阈值进行调整。该迭代过程循环进行,直到达到某些停止条件。此即为“标准BP算法”,每次仅针对一个训练样例更新连接权和阈值。还有一种“累积BP算法”,它在读取整个训练集D一遍后才对参数进行更新,其参数更新频率低很多。标准BP算法和累积BP算法的区别类似于随机梯度下降与标准梯度下降的区别

    BP神经网络能以任意精度逼近任意复杂度的连续函数。正是由于其强大的表示能力,BP神经网络经常会过拟合,其训练误差不断降低,测试误差却可能上升。有两种策略常用来缓解BP网络的过拟合:(1)早停:若训练集误差降低但测试集误差上升,则停止训练,同时返回具有最小测试误差的连接权和阈值;(2)正则化:在误差目标函数中增加一个用于描述网络复杂度的部分。

  3. 全局最小和局部最小
    在现实任务中,可以采用以下策略来试图“跳出”局部极小,从而进一步接近全局最小:
    (1)以多组不同参数值初始化多个神经网络,按标准方法训练后,取其中误差最小的解;
    (2)使用模拟退火技术:以一定概率接受比当前解更差的结果;
    (3)相较于标准梯度下降,使用随机梯度下降。

参考:
周志华《机器学习》

猜你喜欢

转载自blog.csdn.net/zhennang1427/article/details/85335699