【问题标题】:Dropout in activations or in weights激活或权重的丢失
【发布时间】:2018-03-27 12:20:51
【问题描述】:

一个相当简单的,但现在只是对它感到疯狂。

当应用 dropout 来正则化我的神经网络时,它应该应用在哪里?

例如,让我们假设 2 个卷积层后跟 1 个全连接层。 “A2”是第二个卷积层的激活。我应该将 dropout 应用于这些激活,还是应该将其应用于以下全连接层的权重?还是真的没关系?

我的直觉告诉我,正确的做法是在全连接层的权重上应用 dropout,而不是在第二个 conv 层的激活上,但我在很多地方都看到了相反的情况。

我见过两个类似的问题,但都没有一个令人满意的答案。

【问题讨论】:

    标签: python tensorflow neural-network conv-neural-network regularized


    【解决方案1】:

    两者都有效。当你放弃激活时,它被称为 dropout,当你放弃权重时,它被称为 dropconnect。 DropConnect 是 DropOut 方法的通用版本。 DropConnect 论文中的这张图片很好地解释了这一点。

    在 Dropconnect 的情况下,如果节点 u3 的所有权重为零(3/4 为零),这与在 r3 节点上应用 dropout 相同。另一个区别在于权重的掩码矩阵。

    左边是dropconnect的掩码矩阵,右边是dropout应用于两个连续层时的有效掩码矩阵。 注意 dropout 的掩码矩阵中的模式。 作者show that dropconnect 在基准数据集中击败了 dropout,并产生了最先进的结果。

    因为,dropconnect 是我会使用的通用版本。

    【讨论】:

    • 为了完整起见,我猜你的意思是节点 u3 的 3/4 权重为零(根据箭头)。确实很有帮助,谢谢。
    猜你喜欢
    • 2017-12-18
    • 2023-03-30
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 2019-04-25
    • 2017-09-25
    相关资源
    最近更新 更多