吴恩达神经网络和深度学习课程自学笔记(七)之超参数调试,Batch正则化和程序框架
来源:互联网 发布:linux servlet 教程 编辑:程序博客网 时间:2024/06/02 20:15
超参数调试
1.尝试不同的参数值而不要用坐标方格
有3个参数就为立方体,更多参数更多维,道理都是一样的。
下一步:
假设蓝色小区域的效果比较好,则放大该区域,在其中更密集的选择点,重复此步骤,直至找到最优。
2.为超参数选择合适的范围
(1)对于 n^[l] 和 L 在范围内随机取值。
(2)对于α:
(3)对于β:
3.组织超参数学习过程
分为两种方式:
(1)只照看一个模型(被称为熊猫模式),在缺乏计算资源时适用。
(2)同时训练多个模型(被称为鱼子酱模式),在计算资源较多时使用。
Batch正则化
1.Batch归一化(BN)
归一化 Z^[2] ,使 W^[3]和 b^[3] 训练得更快。
具体使用:
(m为mini-batch个数;均值和方差用指数加权平均来估算)
Batch归一化不仅可以用于训练集也可以用于隐藏单元。以使 z^i 有固定的均值和方差,可以是0/1,也可以是其他由 γ 和 β 控制的值。
2.Batch归一化拟合神经网络
这其中的 β 和Adam/Momentum/RMSprop中的 不一样。
通常与Mini-batch一起使用:
使用梯度下降更新参数:
先利用正向传播在 X^{t} 上;然后在每个隐藏层利用BN将 Z^[l] 更换;最后利用反向传播更新参数。
3.BN为何有用
(1)使特征值处于相似的区间。
(2)使权重比网络更滞后,更深层。(eg:第10层比第1层更能经受住变化)
BN保证了无论前面参数如何变化,而后面的均值和方差不变,从而减少了隐藏分布的变化的数量。
减弱了前层参数作用与后层参数作用之间的联系。使网络每层都可以自己学习,有一些独立性。
前层不会左右移动的太多,因为被一样的均值和方差限制,这会使后层的学习工作更容易。
(3)其他:每个Mini-batch通过均值和方差缩放;在每个隐藏单元的激活上增加了一些噪声;有轻微的正则化作用。
Tip:dropout 用较大的Mini-batch size 可减少正则化效果。
Softmax回归 (多分类)
在最后一层:
激活函数:
以前的分类:输入一个实数,输出一个实数;
softmax:输入一个向量,输出一个向量。
softmax在没有隐藏层的情况下可以线性分类,含有多个隐藏层可以非线性分类。
训练一个softmax分类器
损失函数:
对于单个样本:
整个训练集:
然后向量化,用反向传播:
深度学习框架
一些主流的框架:
选择框架的标准
(1)便于编程
(2)运行速度快
(3)开源
- 吴恩达神经网络和深度学习课程自学笔记(七)之超参数调试,Batch正则化和程序框架
- 深度学习与神经网络-吴恩达(Part2Week3)-超参数调试、Batch正则化和程序框架
- Coursera吴恩达《优化深度神经网络》课程笔记(3)-- 超参数调试、Batch正则化和编程框架
- 《深度学习Ng》课程学习笔记02week3——超参数调试、Batch正则化和程序框架
- 改善深度神经网络:超参数调试、正则化以及优化(理论)——超参数调试、Batch正则化和程序框架(2-3)
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(2-3)-- 超参数调试 和 Batch Norm
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(2-3)-- 超参数调试 和 Batch Norm
- Coursea吴恩达《优化深度神经网络》课程笔记(3)超参数调试、正则化以及优化
- 吴恩达神经网络和深度学习课程自学笔记(一)之深度学习概论
- 吴恩达神经网络和深度学习课程自学笔记(五)之深度学习实用层面
- 吴恩达神经网络和深度学习课程自学笔记(二)之神经网络基础
- 吴恩达神经网络和深度学习课程自学笔记(三)之浅层神经网络
- 吴恩达神经网络和深度学习课程自学笔记(四)之深层神经网络
- 吴恩达神经网络和深度学习课程自学笔记(八)之机器学习策略
- 吴恩达神经网络和深度学习课程自学笔记(六)之优化算法
- Coursera吴恩达《神经网络和深度学习》课程笔记(3)
- 改善深度神经网络:超参数调试、正则化以及优化——深度学习的实践方面(2-1)
- DeepLearning.ai学习笔记(二)改善深层神经网络:超参数调试、正则化以及优化--Week1深度学习的实用层面
- 数据结构实验之二叉树七:叶子问题
- Linux安装Jenkins
- Effective Java 第二章:创建和销毁对象
- impala自定义udf函数
- java基础 3.面向对象
- 吴恩达神经网络和深度学习课程自学笔记(七)之超参数调试,Batch正则化和程序框架
- 听说iPhone X到货了,识别体验是不是科技感爆棚?
- getViewTypeCount 与 addScrapView 的crash
- 淘淘商城内容管理模块内容添加
- Java 序列化对象为字符串 然后反序列化为对象
- Spring --AOP+Aspectj
- Error:(1, 1) 错误: 需要class, interface或enum
- Kotlin详解:第二章,进阶
- 关于 QMainwindow设置布局layout失败 的解决方法