文章目录
1. 如何开始一个深度学习?
-
Function with unknown parameters
w and b are unknown parameters
w -> weight b->bias
-
Define loss from training data
-
Optimization
梯度下降,算积分,使得Loss趋近于最小
![](https://img-blog.csdnimg.cn/73cbe8214bca4562bbf0731d790085f2.bmp?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQ29kZVNsb2dhbg==)
可反复增加层数,来达到建立深度神经网络的目的,如下图所示。由图也不难看出,神经网络其实并没有我们想象的那么抽象,我们可以将其视为参数的叠加累计。
![](https://img-blog.csdnimg.cn/84515fe39bbf490ba3b17f6a324b240d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQ29kZVNsb2dhbg==)
2. 模型无法训练起来?
-
model bias
参数不够,如同大海捞针,针却不在海里
-
optimization issue
梯度下降却无法得到最优解,如同大海捞针,方法不好捞不到针
解决方法:
- 比较不同的模型
- 从浅的网络或一些简单的模型开始优化
- 如果运用了深度网络,loss却不如其它简单模型来得好,那么可以归结于optimization issue,如下图所示:
![](https://img-blog.csdnimg.cn/6a71327f5a86422a9f8f47bf035705f1.bmp#pic_center)
3. General Guide
![](https://img-blog.csdnimg.cn/80ddd2f2eacb47d6aaca9ab0c2756486.bmp?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQ29kZVNsb2dhbg==)
首先判断在训练数据上的损失,在保证小的情况下再判断测试数据的损失
4. 局部最小值与鞍点
local minima and saddle point
4.1 Hessian
海塞矩阵: 用于确定区分局部最小值与鞍点
![](https://img-blog.csdnimg.cn/3e2bd5c6a1494609af9f7eebed133e39.bmp?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQ29kZVNsb2dhbg==)
在梯度为0的情况下,计算L(),以此判断鞍点与局部最小
求二次偏导,构成hessian matrix,若此时特征值有正有负,则这个点为鞍点
选取特征值为负所对应的特征向量u
uTHu
用这种方法可逃离鞍点,降低loss
5. 批次与动量
batch and momentum
结论:
- small batch size has better performance
- Noisy update is better for training
5.1 Small Batch vs Large Batch
![](https://img-blog.csdnimg.cn/eff15045d87f40478cb78d0b9d15d99e.bmp?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQ29kZVNsb2dhbg==)
batch size 代表将训练资料分成多少块(batch),每块的大小即为Batch Size
-
在没有平行计算时,小的batch自然比大的batch计算的要快,这就好比计算10道数学题和计算100道数学题之间的区别
-
有平行计算时,由于batch中的资料是同时开始计算,所花费的时间等同于计算1道数学题的时间
-
一次epoch代表利用所有分好的batches进行训练,每个batch内的计算是基于平行计算,因此,如果batch分的小,那么计算次数就多,计算速度就慢;反之速度就快
-
Noisy的数据有利于训练
-
small batch有助于跳出局部最优解
参考资料
-
《统计学习方法》李航著,第2版,北京:清华大学出版社,2019