神经网络与深度学习

神经网络是有具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所做出的交互反应 人工神经网络从信息处理角度对人脑神经元网络进行抽象;由大量的节点(神经元)之间相互联接构成;学得的知识蕴含在连接权值与阈值中;网络自身通常都是对自然界某种算法或函数的逼近,也可能是对一种逻辑策略的表达
展开查看详情

1. 2018 神经网络与深度学习

2. 大纲 2 1 从神经网络到深度学习 2 深度学习之应用 3 深度学习之未来

3. 生物神经网络 3 p 鸽子实验(Watanabe et al. 1995): p 斯金纳盒 p 展出两位不同艺术家的画作(夏加尔和梵高) p 特定艺术家(梵高)的啄食奖励 梵高 夏加尔

4. 生物神经网络 4 p 鸽子能够以95%的准确度区分梵高和夏加尔(训练的照片) p 对于没见过的艺术家画作,仍然有85%的成功率 p 说明鸽子不只是记住图片,他们可以提取和识别模式(风格) p 他们根据已经看过的图片进行预测 p 这就是神经网络所擅长的

5. 什么是神经网络 5 p 神经网络是有具有适应性的简单单元组成的广泛并行互连的 网络,它的组织能够模拟生物神经系统对真实世界物体所做 出的交互反应 [Kohonen,1988] p 人工神经网络 p 从信息处理角度对人脑神经元网络进行抽象 p 由大量的节点(神经元)之间相互联接构成 p 学得的知识蕴含在连接权值与阈值中 p 网络自身通常都是对自然界某种算法或函数的 逼近,也可能是对一种逻辑策略的表达

6. 神经网络发展 6 p 科学的发展总是“螺旋式上升”,坚持才能有结果!

7. 感知机 7 p 感知机用来对线性可分的数据进行分类 p 输入:x = (x1, x2, …, xn);输出:y p 模型参数:w, θ p 权重:w = (w1, w2, …, wn) p 偏置:θ p 激活函数:f

8. 激活函数 8 p 阶跃函数 p 0表示抑制神经元而1表示激活神经元 p 不连续,不光滑 p Sigmoid p 对中央区的信号增益较大,对两侧区的信号增益小,在信号的特征 空间映射上,有很好的效果 p 中央区酷似神经元的兴奋态,两侧区酷似神经元的抑制态 p 可以将重点特征推向中央区,将非重点特征 推向两侧区

9. 激发函数的发展 9 p 2001年,神经科学家Dayan、Abott从生物学角度,模拟出 了脑神经元接受信号更精确的激活模型 p 单侧抑制 p 相对宽阔的兴奋边界 p 稀疏激活性 大于0的部 分导数较大 小于0的部分完 全没有被激活

10. 新型激发函数 10 u RuL LRu L u

11. 线性不可分 11 p 线性可分:存在一个线性函数可以将两类样本分开 p 实际应用中绝大多数问题都不是线性可分的 p 如xor运算 n 0 xor 0 = 0 n 0 xor 1 = 1 n 1 xor 0 = 1 n 1 xor 1 = 0 0 xor 1 1 xor 1 0 xor 0 1 xor 0

12. 多层感知机 12 p 多层感知机通过增加隐层节点构建正向传播网络 p 可以有效建模非线性问题 x1 x2 x3 输入层 x 隐层参数 W, b h1 h2 h3 h4 隐层 h 输出层参数 W’, b’ ŷ 输出层 ŷ

13. 多层感知机 13 p 通过最小化损失函数 L(x, y) 来学习模型参数 p 使用随机梯度下降(SGD)的方式更新参数 x1 x2 x3 输入层 x 隐层参数 W, b h1 h2 h3 h4 隐层 h 对于每次迭代给定的 (x, y),求出损失函 输出层参数 W’, b’ 数对各个参数的偏导 ŷ 输出层 ŷ

14. 误差逆传播算法(BP) 14 p 最成功、最常用的神经网络算法,可被用于多种任务(不仅 限于分类) p 给定训练集 p 输入: d 维特征向量 p 输出: l 个输出值 p 隐层:假定使用 q 个隐层 神经元 p 假定激活函数均使用 Sigmoid 函数

15. BP 算法推导 15 p 对于训练例 ,假定网络的实际输出为 p 则网络在 上的均方误差为 p 需通过学习确定的参数数目: p BP 是一个迭代学习算法 , 在迭代的每一轮中采用广义感知 机学习规则

16. BP 算法推导 16 p BP 算法基于梯度下降策略,以目标的负梯度方向对参数进 行调整 p 以 为例 p 对误差 ,给定学习率 ,有: p 注意到 先影响到 ,再影响到 ,然后才影响到 链式法则

17. BP 算法推导 17 对sigmoid函数,有 于是, 再注意到

18. BP 算法推导 18 p 类似地,有: p 其中: 学习率 不能太大、不能太小

19. BP算法 19

20. 标准 BP 算法 vs 累积 BP 算法 20 标准 BP 算法 累积 BP 算法 p 每次针对单个训练样例更新权 p 其优化目标是最小化整个训练 值与阈值 集上的累计误差 p 参数更新频繁,不同样例可能 p 读取整个训练集一遍才对参数 抵消,需要多次迭代 进行更新 , 参数更新频率较低 在很多任务中 , 累计误差下降到一定程度后 , 进一步下降会非常缓慢, 这时 标准BP算法往往会获得较好的解, 尤其当训练集非常大时效果更明显。 在实际中经常采用Mini-Batch梯度下降法,即将训练集分割为小的子训练 集,每次选择一个进行权值更新

21. 全局最小 vs. 局部极小 21 神经网络的训练过程可看作一个参数寻优过程: 在参数空间中,寻找一组最优参数使得误差最小 p 存在多个“局部极小” p 只有一个“全局最小” “跳出”局部极小的常见策略: ü 不同的初始参数 ü 模拟退火 ü 随机扰动 ü 遗传算法 ü ……

22. 梯度下降的优化算法 22 p SGD p 动量法(SGD with momentum) p 更快的收敛速度、更少的震荡 p Nesterov加速梯度法(NAG) p 通过基于未来参数的近似值而非当前的参数值计算,更高效

23. 梯度下降的优化算法 23 p Adagrad p 不需要手工地调节学习率 p 对不同的参数自动调整学习率(低频的更新大,高频的更新小) p 适合于处理稀疏数据

24. 梯度下降的优化算法 24 p Adadelta法 p Adagrad 在分母上的项中积累了平方梯度和,这会导致学习率不断 缩小,最终变为一个无限小值 p Adadelta法仅计算在一个特定大小的时间区间内梯度值的累积和 p 还有RMSprop法,Adam法等等

25. 算法可视化 25 Adagrad、Adadelta及 RMSprop法几乎立刻就找 到了正确前进方向并以相 似的速度很快收敛。而动 量法和NAG法,则找错了 方向,让小球沿着梯度下 降的方向前进。但NAG 法 能够很快改正它的方向向 最小指出前进,因为他能 够往前看并对前面的情况 做出响应。 目标函数的等高线图中,优化器的位置随时间的变化情况

26. 算法可视化 26 SGD法、动量法及NAG法 很难打破对称性带来的壁垒 (尽管后两者最后设法逃脱 了鞍点)。而 Adagrad法、 RMSprop法及Adadelta法 都能快速的沿着负斜率的方 向前进。 各算法在鞍点附近的表现

27. 缓解过拟合 27 主要策略: p 早停 (early stopping) p 若训练误差连续 a 轮的变化小于 b, 则停止训练 p 使用验证集:若训练误差降低、验证误差升高 , 则停止训练 p 正则化 (regularization) p 在误差目标函数中增加一项描述网络复杂度 偏好比较小的连接权和阈值, 使网络输出更“光滑”

28. 其他常见神经网络模型 28 RBF神经网络: p RBF: Radial Basis Function (径向基函数) p 单隐层前馈神经网络 p 使用径向基函数作为隐层神经元激活函数 p 例如高斯径向基函数 p 输出层是隐层神经元输出的线性组合 p 训练: p Step1:确定神经元中心,常用的方式包括随机采样、聚类等 p Step2:利用BP算法等确定参数

29. 其他常见神经网络模型 29 SOM 神经网络: p SOM: Self-Organizing feature Map (自组织特征映射 ) p 竞争型的无监督神经网络 p 将高维数据映射到低维空间, 高维空间中相似的 样本点映射到网络输出层中邻近神经元 p 每个神经元拥有一个权向量 p 目标:为每个输出层神经元找到合适的权向量 以保持拓扑结构 p 训练: p 网络接收输入样本后,将会确定输出层的“获胜”神经元(“胜者通吃”) p 获胜神经元的权向量将向当前输入样本移动