吴恩达Deeplearning.ai 知识点梳理(course 2,week 3)

这周主要讲的是超参数的调试、Batch Norm以及多分类。

Hyperparameter Tuning

Tuning Process

  一般来说,最重要的就是那个Learning_rate,也就是 α α 。第二重要的一般是动量参数 β β 以及Hidden Units的数量,还有mini-batch的大小。第三是层数以及learning_rate decay,最后是adam的参数,但是一般都是默认值0.9,0.999以及10e-8。
Hyperparameter Tuning

  第二是调参时尽量不要用正交的Grid的方式进行参数搜索,因为一开始其实并不知道那个参数比较重要,所以尽可能的随机采集。多一些数据,了解一下每个参数在分布在哪儿对模型比较优。

  第三是先粗调再精调。可能随机搜索出来的几个比较好,那就在这个范围找。

Random Search & Coarse to Fine

Parameter scale

scale 有几种:

  1. 层数(2~4),单元个数(50~100),均匀采样
  2. α α ,0.0001~1,对数采样
  3. β β ,0.9~0.999,可以用 1β 1 − β ,然后对数采样。

  另外要注意的是,以 β β 举例,0.9000和0.9005可能差别不大,但是对于0.999和0.9995差别就很大了,因为第一个是 111000 1 − 1 1000 ,第二个是 112000 1 − 1 2000 ,所以相对变化很重要。

调参模式:熊猫和鱼子酱

  1. 数据是会时不时发生变化的,随着数据的变化,模型参数应该与时俱进,时不时重新更新一下数据。
  2. 调参模式,如果硬件条件有限,可以拿一个模型精细的慢慢调,这个就类似于熊猫每次只生1、2个孩子,然后仔细照看;还有一种是鱼子模式,鱼每次生上亿个卵,看哪个能成。这两种模式可以根据环境条件具体情况具体来做。

Batch Normalization

什么是Batch Norm?

  Batch Norm是给每一层都加上输入归一化,如下图所示:

Batch Norm

首先对输入计算均值和方差,然后做归一化,然后给分配上一个缩放和偏移,这个缩放和偏移是“学习”得来的。

Batch Norm

Batch Norm的位置在上图所示的位置,也就是Z和A之间。

Mini-Batch的Batch Norm以及test time的处理

Training-Test-Minibatch

当使用Mini-Batch的时候,使用指数衰减平均对当前的Mini-Batch的均值和方差。然后最后test的时候,就用最后一个均值和方差就行了。

为什么Batch Norm好用?

  1. Batch Norm最大的作用是降低Covariate Shift的影响。简要的说就是输入特征发生变化了:对每一层来说,在学习过程中,由于前一层的参数总是发生变化,那么对于后一层,Feature Vector总是发生变化,那么学习起来就会更困难。如果我们对每一层做一个均值方差归一化,那么至少每一层的Feature Vector的均值和方差是比较稳定的,这样就减小了Covariate Shift的影响。
  2. Regularization的作用。Batch Norm还有一些轻微的正则化的作用。这是由于加上了缩放和偏移,导致给Z加上了一些噪声,类似于drop out,所以有轻微的正则化作用。

多分类

SoftMax Activation Function

SoftMax
SoftMax就是对输出的Z中每一个元素做exp(),然后计算exp()后的每一个元素的权重。

Loss Function

如下图所示:
Loss Function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值