Deep Leaning 学习笔记之改善神经网络的超参数(1.2)—— 正则归一初始化及函数

it2022-05-05  215

1.正则化方法

1.1 几种常用的正则化方法

L1正则化:

L2正则化: From: (1) J = − 1 m ∑ i = 1 m ( y ( i ) log ⁡ ( a [ L ] ( i ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − a [ L ] ( i ) ) ) J = -\frac{1}{m} \sum\limits_{i = 1}^{m} \large{(}\small y^{(i)}\log\left(a^{[L](i)}\right) + (1-y^{(i)})\log\left(1- a^{[L](i)}\right) \large{)} \tag{1} J=m1i=1m(y(i)log(a[L](i))+(1y(i))log(1a[L](i)))(1) To: (2) J r e g u l a r i z e d = − 1 m ∑ i = 1 m ( y ( i ) log ⁡ ( a [ L ] ( i ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − a [ L ] ( i ) ) ) ⎵ cross-entropy cost + 1 m λ 2 ∑ l ∑ k ∑ j W k , j [ l ] 2 ⎵ L2 regularization cost J_{regularized} = \small \underbrace{-\frac{1}{m} \sum\limits_{i = 1}^{m} \large{(}\small y^{(i)}\log\left(a^{[L](i)}\right) + (1-y^{(i)})\log\left(1- a^{[L](i)}\right) \large{)} }_\text{cross-entropy cost} + \underbrace{\frac{1}{m} \frac{\lambda}{2} \sum\limits_l\sum\limits_k\sum\limits_j W_{k,j}^{[l]2} }_\text{L2 regularization cost} \tag{2} Jregularized=cross-entropy cost m1i=1m(y(i)log(a[L](i))+(1y(i))log(1a[L](i)))+L2 regularization cost m12λlkjWk,j[l]2(2) λ \lambda λ的值是一个超参数,您可以使用开发集对其进行调优。 L2正则化使决策边界更平滑。如果 λ \lambda λ太大,也可能会“过度平滑”,导致模型具有较高的偏差。

1.2 dropout 反向随机失活技术

- 总的来说,比如,一个神经网络有3层,一层有10个units ,那么反向随机失活技术,就是为每一层的10个单元都抛硬币,比如设置,每一个units都有0.5的几率保留下来,否则会消除。当随机消除之后,会得到一个比原NN小的NN,然后再做 反向传播训练 这就是反向随机失活技术。

算法图示如下 d3 = np.random.rand( a3.shape[0] , a3.shape[1] ) < keep_prop (生成一个随机矩阵,当d3的元素值小于keep_prop时,为1,否则为0的 0-1矩阵) a3 = np.multiply( a3 , d3 ) 也就是点乘, a3 ∗ * = = = d3 a3 = a3 / keep_prop

注意点: 1.反向随机失活技术,是对于训练集中每一个样本训练时,都由不同的NN网络(经过随机失活后)进行训练。 2.进行失活后,a3(也就是个例子)的20%都被清零了(keep_prop = 0.8),为了不减少z3的期望,因此要给 a3 / keep_prop用来保证 z4 = w4 * a3 + b3 的期望值不变。

2.均值归一

2.1 均值归一方法

2.2 均值归一为何提高训练速度

3.初始化权重W

3.1 为什么要初始化权重W

如果训练一个深度神经网络,那么如果NN层数越多,则权重W会呈指数级增加或者减少,以至于y_hat的值指数级增加或减少,这被称为梯度消失(减少)或梯度爆炸(增加)

3.2 初始化方法

就是在随机初始化之后,乘一个数来进行缩放。

一般将W控制在一个可变范围,通常来说是 W : = 1 n W:= \frac {1}{n} W:=n1 如果g函数用的是ReLU函数,则 W : = 2 n W:= \frac {2}{n} W:=n2 “Xavier初始化” : 如果g函数用的是tan h 函 数,则 W : = 1 n ( l − 1 ) W:=\sqrt \frac{1}{n ^ {(l-1)}} W:=n(l1)1 “HE 初始化”:如果g函数用的是ReLU 函 数,则 W : = 2 n ( l − 1 ) W:=\sqrt \frac{2}{n ^ {(l-1)}} W:=n(l1)2


最新回复(0)