《吴恩达深度学习工程师系列课程之——改善深层神经网络:超参数调试、正则化以及优化》学习笔记

本课程分为三周内容:

  1. 深度学习的使用层面
  2. 优化算法
  3. 超参数调试、Batch正则化和程序框架

WEEK1 深度学习的使用层面

1.创建神经网络时选择:
神经网络层数
每层隐藏单元的个数
学习率为多少
各层采用的激活函数为哪些
2. 深度学习应用层面有
自然语言处理NLP、计算机视觉Vision、语音识别Speech、结构化数据等。
3. 数据分类:训练集、 验证集、测试集
4. 数据的获取方式:网页抓取等
5. 分析训练集训练算法产生的误差和验证集验证算法产生的误差,来判断算法是否存在高偏差或高方差
6. 当出现高偏差时,应换更大的神经网络,或更多隐藏单元,更长时间更先进算法等等,反复尝试直至低方差。
7. 当出现高方差时,应采用更多数据,或采用正则化来减少过拟合,或更先进的算法等等。
8. 通常用训练验证集来诊断算法是否存在偏差或方差。
9. L2正则化是最常见的正则化类型。如果使用L1正则化,W最终会是稀疏的。正则化参数通常使用验证集或交叉验证。
10. 神经网络加正则化,是给损失函数加范数平方公式。范数由backprop函数给出对w的偏导数求得。
11. 如果正则化参数变得很大,参数W很小,z也会相对变小。如果J已经有一个全新的定义,你用的是原函数J,也就是第一个正则化项,可能会看不到单调递减现象。因此,为了调试地图下降,务必使用新定义的函数,它包含第二个正则化项。
12. 另一个实用的正则化方法——dropout(随机失活)。它可以随机删除网络中的神经单元。通L2正则化,实施后会压缩权重,并完成一些预防过拟合的外层正则化。dropout需要设置每一次的keep-prob值,即每层剩余比例。其在计算机视觉领域应用广泛。缺点是代价函数J不再被明确定义
13. early stopping,提早结束神经网络,获得合适的W值。
14. 机器学习包括几个步骤:1,选择一个算法来优化代价函数J,可用梯度下降法,Momentum,RMSprop和Adam等等;2,优化代价函数J后,如果发生过拟合,可通过正则化、扩增数据等;3,超参数激增,选出可行算法变得复杂,如果用一组优化代价函数J,机器学习会变得简单。优化时只需关注W和b,J(w,b)的值越小越好。只需要减少这个值,不用关注其他的。预防过拟合还可以减少方差。
15. 训练神经网络时,其中一个加速训练的方法就是归一化输入。其有两个步骤:第一步是零均值化,即移动训练集,直到它完成零处置化。第二步是归一化方差。目的是让代价函数J优化起来更简单更快速。尤其是面对输入值的范围有很大的差异时。
这里写图片描述
这里写图片描述
16. 在训练深层神经网络时面对的一个问题:梯度消失或梯度爆炸。即导数或坡度有时会变得非常大,或非常小。权重的变化,导致超参数呈现指数级增长或下降。这个问题需要通过为权重矩阵初始化合理值。
17. 反向传播backprop时,有一个梯度检验,作用是确保backprop正确实施。剃度逼近时,使用双边误差的方法更逼近导数,结果也最准确。
18. 使用双边误差,来判断函数是否实现了正确的偏导。用这个方法可以检验反向传播是否得以正确实施。
19. 梯度检验只能用于调试bug,不能用于训练。如果算法的梯度检验失败,要检查所有项,并试着找出bug。一般关闭 dropout用梯度检验进行双重检查。

WEEK2 优化算法

  1. 优化算法,使神经网络运行得更快。
  2. 机器学习的应用是一个高度依赖经验的过程。
  3. Mini-batch梯度下降法。使用batch梯度下降法,一次遍历训练集只能让你做一个梯度下降。使用Mini-batch梯度下降法,一次遍历训练集,能够做所需个数的梯度下降。多次遍历训练集还需要一个while循环设置另一个for循环。从而一直处理训练集,直到最后收敛到一个合适的精度。Mini-batch的值要取合适,1则随机,有波动;m则为baich梯度下降。选取原则:当训练数据集过小时,直接使用batch梯度下降法,小于2000个;过大时,Mini-batch,64-512大小,设置为2的次方,代码运行速度较快。此时输入和输出要符合GPU/CPU。
  4. 指数加权平均
  5. 指数加权平均的偏差修正
  6. 动量梯度下降法momentum
  7. RMSprop
  8. Adam 优化算法
  9. 学习率衰减,学习率的设置,指数衰减。

WEEK3 超参数调试

  1. 调试处理,取值的优先次序。随机初始化,粗糙到精细的搜索过程。
  2. 为超参数选择合适的范围
  3. 正则化网络的激活函数
  4. 将Batch Norm拟合进神经网络
  5. Softmax回归
  6. 训练一个Softmax
  7. 深度学习框架
  8. TensorFlow
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值