【问题标题】:Does dropout applies to regularization term in Keras?辍学是否适用于 Keras 中的正则化项?
【发布时间】:2019-12-01 12:34:19
【问题描述】:

我有一个自定义的正则化术语my_reg

model = Sequential()
model.add(Dense(128, activation='relu'))
model.add(Dense(64, activation='relu'))
# The last layer is regularized with a custom regularizer
model.add(Dense(10, activation='softmax', W_regularizer=my_reg))
model.add(Dropout(0.5))

Dropout(0.5) 在训练过程中是否也适用于my_reg?如果不是,我怎样才能使它成为真的?提前致谢!

【问题讨论】:

    标签: python tensorflow keras regularized dropout


    【解决方案1】:

    Dropout 的工作原理是丢弃神经元,将它们的激活设置为零,因此这在概念上也会影响与该神经元相关的权重,您可能会将其视为“应用于”任何正则化项,但请注意,从未明确设置权重为零,因此您将看到正则化系数效果几乎没有变化。

    【讨论】:

    • 感谢马蒂亚斯!我不完全确定你的最后陈述。假设我向 Dropout (0.5) 应用的层添加了 L2 正则化器。那么会有 50% 的权重被 L2 正则化器更新,另外 50% 在本次迭代中不会改变,所以正则化效果改变了,对吧?
    • @PiggyWenzhou 很复杂,因为权重不设置为零,神经元的激活设置为零,所以梯度为零,但权重不为零,所以还是考虑在 L2 正则化中,与丢弃的神经元相关的权重不会改变,但在计算 L2 正则化项时仍会使用这些权重。
    猜你喜欢
    • 1970-01-01
    • 2020-09-28
    • 2018-10-01
    • 2017-11-05
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多