IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 2021李宏毅机器学习(3):类神经网络训练不起来怎么办 -> 正文阅读

[人工智能]2021李宏毅机器学习(3):类神经网络训练不起来怎么办

1 任务攻略

1.1 如果在训练集上的 loss 始终不够小

  • 情况一:model bias(模型本身有很大限制)——构造更复杂的模型
  • 情况二:优化问题(使用的优化方法始终没办法优化到 loss 最小值)——更有效的优化方法

如何判断是哪种情况?

  • 首先在更容易优化的浅层网络上训练
  • 如果深层网络不能在训练集上得到比上面更小的 loss,则是情况二

1.2 如果 loss 在训练集上小,在测试集上大

  • 情况一:overfitting——最简单的解决方法就是增加训练数据Data augmentation:
    在这里插入图片描述
    可以对原有数据进行处理,得到新的可以添加进训练集的数据:上面的第一幅图是原图,第二、三幅图是对原图进行反转和局部放大。而第四幅图是图片颠倒,这会让模型识别变得更困难,所以第四幅图的方法是不行的。
    第二种方法是给模型增加限制,比如说模型一定要是二次曲线,但是要注意限制也不要过多。
    如何选择模型?
    在这里插入图片描述
  • 情况二:mismatch
    overfitting可以通过增加训练集的数据来解决,但是mismatch的training和testing的分布不一样,不能那样解决
    在这里插入图片描述

1.3 任务攻略的示意图

在这里插入图片描述

2 局部最小值 (local minima) 与鞍点 (saddle point)

当 loss 无法下降时,可能梯度已经接近0了,这是,局部最小值 (local minima) 与鞍点 (saddle point)都有可能,它们统称为critical point。在这里插入图片描述
此时,我们需要判断属于哪种情况,计算Hessian即可:
在这里插入图片描述
举例:
在这里插入图片描述
如果是鞍点 (saddle point),还可以寻找下降的方向继续训练。
在这里插入图片描述
但是其实这种情况很少见。

3 批次(batch)与动量(momentum)

3.1 批次(batch)

小的batch size有更好的结果。
在这里插入图片描述
有很多文章想要鱼与熊掌兼得:
在这里插入图片描述

3.2 动量(momentum)

有了动量,就不会停留在critical point,而是会继续向下:
在这里插入图片描述
以前的梯度下降是这样的:
在这里插入图片描述

加上动量以后,就是加上了对前一个动作的考虑,则下一个动作就是前一个动作与前一个动作相结合的结果。
在这里插入图片描述
下面的红线是梯度,蓝虚线是动量,蓝实线是前两者结合的结果,可以看到,甚至可能翻越小丘,到达真正的 loss 最小值。
在这里插入图片描述

4 自动调整学习率 (Learning Rate)

前面在 loss 不下降的时候,我们说可能是critical point,但是也有可能是下面这种情况:
在这里插入图片描述
learning rate应该为每一个参数特制化:
在这里插入图片描述
原来的参数的第 t + 1 t+1 t+1 次迭代种中,学习率 η \eta η 是不变的;而我们修改之后, η \eta η 变成了 η σ i t \frac{\eta}{\sigma^t_i} σit?η?,这样修改之后,学习率就是 parameter independent 的了,同时也是 iteration independent 的(参数独立、迭代独立)。

4.1 最常见的一种修改学习率的方法是均方根

在这里插入图片描述
这种方法被用在Adagrad里面:
在这里插入图片描述
当梯度较小时,计算出来的 σ i t \sigma^t_i σit? 就小,则学习率就大;反之学习率变小。

4.2 可以自己调整现在的gradient的重要性——RMSProp

这种方法通过设置 α \alpha α 来调整现在的梯度的重要性:
在这里插入图片描述
如下图所示:
在这里插入图片描述
可以调整 α \alpha α 比较小,让 σ i t \sigma^t_i σit? 更依赖 g i t g^t_i git?,这样,当梯度突然由平滑变陡峭的时候, g i t g^t_i git? 变大, σ i t \sigma^t_i σit? 也变大,就会使这时的步伐变得小一点;同理,梯度再次转为平滑的时候, σ i t \sigma^t_i σit? 就会迅速变小,步伐就会变大。
其实就是让每一步能够根据变化的情况快速反应过来。

4.3 Adam: RMSProp + Momentum

在这里插入图片描述

4.4 Learning Rate Scheduling

使学习率 η \eta η 随时间变化:
在这里插入图片描述

4.5 总结

加上前面的3.2,我们采用了三种方法来改进梯度下降:动量、调整学习率的大小、学习率随时间变化。
m i t m^t_i mit? σ i t \sigma^t_i σit? 不会相互抵消,因为 m i t m^t_i mit? 包括了方向,而 σ i t \sigma^t_i σit? 只有大小。
在这里插入图片描述

5 损失函数 (Loss) 也可能有影响

在这里插入图片描述
在分类中,通常会加上softmax:
在这里插入图片描述
如果是分类成两类,则更常用sigmoid,但其实这两者的方法结果是一样的。

下面是损失函数:
在这里插入图片描述
事实上,交叉熵在分类中是最常用的,在PyTorch中,CrossEntropyLoss这个函数已经包含了softmax,这两者是绑定在一起的。

为什么?
在这里插入图片描述
从图中可以看出,当 loss 很大时,MSE很平坦,不能梯度下降到 loss 小的地方,卡住了;但是交叉熵可以一路梯度下降下去。

6 批次标准化(Batch Normalization)

希望对于不同的参数,对 loss 的影响范围都比较均匀,像下面的右图:
在这里插入图片描述
方法是特征归一化(Feature Normalization):
在这里插入图片描述
归一化之后,每个维度的特征的平均值为0,方差为1。
一般来说,特征归一化使梯度下降收敛更快。

后一步的输出同样也需要归一化,这些归一化都是针对于一个Batch的:
在这里插入图片描述
为了让输出的均值不为0,方差不为1,就会加上 β \beta β γ \gamma γ
在这里插入图片描述
β \beta β γ \gamma γ 这两个向量初始值分别是0和1,然后一步步在网络中学习更新,所以一开始的时候,dimension的分布是接近的,后续error surface的表现比较好之后,才会把 β \beta β γ \gamma γ 加进去。

在Testing中:将train的参数用进test中。
在这里插入图片描述
一些比较有名的Normalization:
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-02-14 21:08:29  更:2022-02-14 21:10:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 19:29:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码