美文网首页
李沐-动手学深度学习(3)权重衰退和dropout

李沐-动手学深度学习(3)权重衰退和dropout

作者: minlover | 来源:发表于2022-06-20 15:50 被阅读0次

    【总结】

    权重衰退通过L2正则项使得模型参数不会过大,从而控制模型复杂度。

    正则项权重是控制模型复杂度的超参数。

    丢弃法将一些输出项随机置0来控制模型复杂度。

    常作用在多层感知机的隐藏层输出上。

    丢弃概率是控制模型复杂度的超参数。(取0.5、0.9、0.1比较常见)


    一、权重衰退Weight Decay

    一种常见的处理过拟合的方法。

    (1)如何控制模型容量:把模型变的比较小,控制其中的参数比较少,或者控制参数值的选择范围。

    意味着w的每个值的都要小于θ开根号。

    通常不会直接用上面这个优化函数,因为优化起来相对麻烦一些。常用下面这个。

    λ不再是硬性的,要求某个值一定要小于某个值,而是会平滑一些的。

    假设l是二次函数,绿色那个线,那么w~*的最优解就是中心点(绿色圈中间那个绿点)。加上正则项(惩罚项)后,后面那个正则项也是二次函数,对应黄色线。所以w*最优解会在黄绿交界点。

    Q:为啥要把w往小拉,如果真的最优解解释在绿点,会不会起反效果?A:假设绿点是真的最优解,但是因为里面有噪音,所以去学的时候,学不到绿色的点,所以学到的可能很大。模型看到的是噪音,就会去学习记住噪音,所以必然过大。所以需要λ去往回拉,并控制往回拉多少。

    (2)梯度更新

    更新参数时,后一项是没有变化的,就是前面那个w_t多减了个ηλ。

    (3)代码实现和简洁实现

    chapter_multilayer-perceptrons/weight-decay.ipynb

    (4)问答

    (1)Q:实践中权重衰减的值一般设置多少为好呢,总觉得权重衰退的效果并不那么好?

    A:一般e-2(0.01)、2-3(0.001)、e-4(0.0001),权重消退并不会带来特别特别好的效果。

    (2)Q:范数的上下标

    A:其实这里有个下标的,加了下标2就是L2范数,但是他是默认,所以下标2不写也没关系。上标2表示的是平方。

    二、Dropout

    1、Dropout

    正则就是使权重范围不要过于大,防止过拟合的方法

    在数据中加入噪音,等价于正则,这跟之前的噪音不一样,之前是固定噪音,这个是随机加噪音。丢弃法是在层之间加噪音。

    假设x是一层到下一层的输出:虽然加了噪音,但是不要改变期望

    因为每次随机丢,所以也可以理解为,每次随机采样一些子神经网络来做训练,也就是拿到了一堆小的神经网络来训练来做平均。但是实验上跟正则效果很像的,所以现在主流把它当做正则。

    隐藏层设大一点,然后dropout也大一点,可能比没有dropout但隐藏层小效果要好。

    2、问答

    (1)Q:dropout随机置0对求梯度和反向传播的影响是什么

    A:置0的地方,梯度也会置0,对应的权重这一轮不会更新;没有置0的地方,梯度也会相对的乘以一个数。

    (2)Q:dropout随机丢弃,如何保证结果的可重复性?

    A:如果把dropout随机种子固定住的话,可以重复性。但是神经网络的随机性很大,还有初始权重随机、cuda中(因为做并行,一些数加的顺序不一样导致结果不一样,要重复就要禁掉cudnn)。

    (3)丢弃法每个batch都会丢弃一次

    (4)dropout主要对全连接层用,weight decay对卷积层、之后的transforma都可以用。

    dropout调起来也很方便。

    (5)dropout是有可能使收敛变慢的。

    相关文章

      网友评论

          本文标题:李沐-动手学深度学习(3)权重衰退和dropout

          本文链接:https://www.haomeiwen.com/subject/mflrvrtx.html