深度学习入门视频-唐宇迪 (笔记加自我整理)
深度学习 第二章 神经网络
本节主要说下神经网络中几个关键词
1.梯度下降
梯度下降是一种求导方式,一般情况下是输入训练集的数据去学习规则,也就是得分函数,即模型,输入的数据经过模型得到的结果作为输出,怎么评价输出的结果是不是我们需要的以及有多接近我们的期望,这时候就需要损失函数loss来表示,预期的结果和通过模型得到的结果之间的差距就是损失函数。如何能快速的找到最合适的一组参数,也就是怎么样的模型,最能解决我们的预期呢,最常用的方式就是梯度下降。
就像一个人在山顶上往山下走,梯度就是变化最快的方向,一般梯度是正向的,而我们往山下走,所以会沿着梯度的反方向迭代更新自己的下山方向。梯度只表示一个方向,但是这个方向要走多少,这个概念一般叫学习率,也就是步长,可以理解为走一步走多长,一般情况下我们都是采用小的步长,多走几次,走到山下,也就是loss值最小的地方。
- 目标:找到山坡最低点
- 套路:小学习率,大迭代次数
- 代码:
- 批处理
批处理这个概念,主要是针对梯度下降更新时使用的数据量来说的,可以有三种选择,比如一次梯度的更新使用全部训练集数据,这样计算量大速度很慢,但是比较准确;也可以一次梯度更新只使用一个样本数据,这样速度快但是不准确,万一这个样本是异常值呢,而且每个样本更新的方向都不一样,但是从整体看最终趋势还是会往一个方向更新,但是从细节看每次更新的方向不能保证在一个方向上;所以为了兼顾速度和准确性,出现了批处理,一次梯度的更新使用一批数据,数量需要自己指定,这样计算量会小一些,梯度的方向会更准确一些,更接近整体下降的趋势。
由于是计算机处理,所以一般都是采用2的整数倍(计算机二进制存储数据),批处理兼顾计算量和梯度方向的准确性。
- 数值:通常是2的整数倍(32,64,128)
- 原因:
- 如果只使用一张图像进行迭代,该图像可能是噪音或离群点,导致更新效果不好;
- 在兼顾速度和效果的条件下,采用批处理,尽可能每次迭代朝着最好的方向
- 可视化效果
2.学习率
学习率就是在知道了梯度的方向,那下一步要走多长,就是由学习率控制的,学习率大下一步走的比较远,学习率小