斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时12&&13
课时12 神经网络训练细节part2(上) 训练神经网络是由四步过程组成,你有一个完整的数据集图像和标签,从数据集中取出一小批样本,我们通过网络做前向传播得到损失,告诉我们目前分类效果怎么样。然后我们反向传播来得到每一个权重的梯度,这个梯度告诉我们如何去调整每一个权重,最终我们能够更好的分类图片。 为什么要使用激活函数? 如果在整个的神经网络中不使用激活函数,你的网络的分类能力基本等同于一个线性分类器,所以激活函数是相当关键的。他提供了所有的方法,你可以他用来存储数据 BN使得网络的训练更加健壮。 参数更新 补救SGD垂直进展快的方法,使用动量更新,他可以理解为一个球滚动着接近中间,在这个情况下的梯度可以视作一种动力,物理学中的这种力量,就相当于加速度,而mu倍的v相当于摩擦力。 v初始化为0,其实没什么影响 学习速率是应用到所有方向上的 Nesterov动量更新 我们直接达到这个目的,然后计算梯度。 我们进行了重新整理 虽然有很多局部最小值,但是他们的损失其实是差不多的。当你扩大神经网络的规模时候,你的最坏和最好局部最小值之间的差别随着时间的推移会越来越小。有研究表明,基本上也就不存在坏的局部最小值了,当然这也只在很小的网络中出现。事实上,你用不同的值初始化,你会得到相同的结果和损失,所以,基本上不存在不好的局部最小值。 AdaGrad更新 由凸优化理论发展而来的