【深度学习】如何训练网络

Introduction

目的:
快速 有效拟合

手段:
随机批处理学习率批规范化模型优化算法迁移学习

随机批处理(batch)

随机批处理,mini-batch,一种 在模型每轮 (epoch) 训练进行前将训练数据集随机打乱 (shuffle) 的 训练机制。

可以防止 被模型猜到 “出样本顺序”

作用:
过拟合

合理的学习率(lr)

学习率,learning rate,控制模型的 学习进度

在训练过程中,根据训练轮数,合理设置动态变化的学习率:

  • 刚开始训练时:学习率以 0.01 ~ 0.001 为宜。
  • 一定轮数过后:逐渐减缓。
  • 接近训练结束:学习速率的衰减应该在100倍以上。

Note:
如果是 迁移学习 ,由于模型已在原始数据上收敛,此时应设置较小学习率 ( ≤ 1 0 − 4 \leq 10^{-4} 104) 在新数据上进行 微调

作用:
防止 欠拟合/过拟合/拟合慢

具体见 深度学习: 学习率 (learning rate)

批规范化(bn)

批规范化,batch normalization,即著名的BN操作。
对应网络模型中的 BN层 ,一般置于 激活函数 之后,池化层 之前

计算批处理数据的 均值方差,据此对该批数据做 规范化 ,并进行 缩放平移

作用:

  • 缩小输入空间,从而降低调参难度;

  • 防止梯度爆炸/消失,从而加速网络收敛。

影响:

  • 该质优价廉的设计目前几乎成了CNN标配。

具体见 深度学习: Batch Normalization (归一化)

模型优化(optimizer)

优化算法 类型 包括 一阶优化法 和 二阶优化法。

一阶优化法较为常见,包括:
随机梯度下降法、基于动量的随机梯度下降法、Nesterov型动量随机下降法、Adagrad法、Adadelta法、RMSProp法、Adam法。

具体见 深度学习: 模型优化算法

迁移学习(transfer learning)

在已经预训练好的模型上进行 微调

优势:

  • 高效快捷

目前,大部分的模型训练都是 迁移学习 ,已经很少有人从头开始新训练一个模型了。

具体见 深度学习: 迁移学习 (Transfer Learning)


[1] 解析卷积神经网络—深度学习实践手册

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值