Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
fastai-ml-dl-notes-zh
提交
3af28c10
F
fastai-ml-dl-notes-zh
项目概览
OpenDocCN
/
fastai-ml-dl-notes-zh
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
fastai-ml-dl-notes-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
3af28c10
编写于
2月 09, 2019
作者:
P
Piddnad Kang
提交者:
GitHub
2月 09, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update dl2.md
上级
09b75e19
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
4 addition
and
4 deletion
+4
-4
zh/dl2.md
zh/dl2.md
+4
-4
未找到文件。
zh/dl2.md
浏览文件 @
3af28c10
...
...
@@ -57,7 +57,7 @@
![](
../img/1_vsXrd010HEYLVfoe2F-ZiQ.png
)
*
我们什么时候应该学习
`lr_find`
?
[
[23:02
](
https://youtu.be/JNxcznsrRb8%3Ft%3D23m2s
)
]
在开始时运行一次,
也许在把层解冻后(我们稍后会学习)。 当我改变我正在训练的东西或改变我训练它的方式时。 运行它永远不会有任何损害
。
在开始时运行一次,
在把层解冻后也许也可以运行一次(我们稍后会学习)。当我改变我正在训练的东西或改变我训练它的方式时,可能都会再运行它一次——总之,运行它永远不会有任何损害,也不会花费太长时间
。
## 回到数据增强 [[24:10](https://youtu.be/JNxcznsrRb8%3Ft%3D24m10s)]
...
...
@@ -100,8 +100,8 @@ learn.fit(1e-2, 1)
[
2.
0.02189
0.0196
0.99316
]
```
*
坏消息是准确率没有提高。 训练损失正在减少,但验证损失不是,但我们并没有过拟合。 当训练损失远低于验证损失时,才是过拟合。
换句话说,当你的模型在训练集上做得比在验证集上做得好得多时
,这意味着你的模型泛化性较差。
*
`cycle_len=1`
[
[30:17
](
https://youtu.be/JNxcznsrRb8%3Ft%3D30m17s
)
] :这样可以
**通过重启
(SGDR)**
实现
**随机梯度下降**
。 基本的想法是,当你以最小的损失越来越接近现场时,你可能想要开始降低学习率(采取较小的步骤
),以便到达正确的位置。
*
坏消息是准确率没有提高。 训练损失正在减少,但验证损失不是,但我们并没有过拟合。 当训练损失远低于验证损失时,才是过拟合。
现在你的模型在训练集上做得比在验证集上做得好得多
,这意味着你的模型泛化性较差。
*
`cycle_len=1`
[
[30:17
](
https://youtu.be/JNxcznsrRb8%3Ft%3D30m17s
)
] :这样可以
**通过重启
实现随机梯度下降 (SGDR)**
。 基本的想法是,当你越来越接近最小损失点时,你可能想要开始降低学习率(采取较小的步长
),以便到达正确的位置。
*
在训练时降低学习率的想法称为
**学习率退火**
,这是非常常见的。 最常见和“hacky”的方法是在一段时间内训练具有一定学习速度的模型,当它停止改进时,手动降低学习率(逐步退火)。
*
一个更好的方法就是选择某种功能形式 - 结果是真正好的功能形式是cosign曲线的一半,它在开始时保持一段时间的高学习率,然后当迭代次数增多时迅速下降。
...
...
@@ -111,7 +111,7 @@ learn.fit(1e-2, 1)
![](
../img/1_TgAz1qaKu_SzuRmsO-6WGQ.png
)
*
重置学习率之间的时期数由
`cycle_len`
设置,并且这种情况发生的次数称为 _循环次数_ ,并且
是我们实际传递的第二个参数
`fit()`
。 所以这就是我们的实际学习率:
*
重置学习率之间的时期数由
`cycle_len`
设置,并且这种情况发生的次数称为 _循环次数_ ,并且
实际上是我们向
`fit()`
传递的第二个参数
。 所以这就是我们的实际学习率:
![](
../img/1_OKmsY6RR0DirLaLU2cIXtQ.png
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录