dropout和drop connect有什么区别?


24

dropout和drop connect有什么区别?

AFAIK,在训练过程中,dropout会随机丢弃隐藏的节点,但会使其处于测试状态,而drop connect会断开连接。

但是,删除连接是否不等于删除隐藏节点?节点(或连接)不是一组权重吗?

Answers:


24

DropOut和DropConnect都是旨在防止神经网络中的单元“共同适应”的两种方法。换句话说,我们希望单位从其输入中独立提取特征,而不是依赖其他神经元来提取特征。

假设我们有一个像这样的多层前馈网络(拓扑实际上并不重要)。我们担心中间层中的黄色隐藏单元会相互配合。

样本5-4-3网络

退出

要应用DropOut,我们随机选择单位的子集,并将其输出固定为零,而不管输入是什么。这有效地从模型中删除了这些单位。每次我们提供训练示例时,都会随机选择一个不同的单元子集。

以下是两种可能的网络配置。在第一个演示文稿(左)上,禁用了第一个和第三个单位,但是在随后的演示文稿中已随机选择了第二个和第三个单位。在测试时,我们使用完整的网络,但重新调整权重以补偿它们现在都可以变为活动状态的事实(例如,如果删除一半的节点,权重也应减半)。

DropOut示例

DropConnect的

DropConnect的工作方式类似,不同之处在于,我们禁用单个权重(即将其设置为零)而不是节点,因此节点可以保持部分活动状态。从示意图上看,它看起来像这样:

DropConnect的

比较方式

这些方法之所以起作用,是因为它们有效地使您可以同时训练多个模型,然后对它们进行平均以进行测试。例如,黄色层有四个节点,因此有16种可能的DropOut状态(全部启用,#1禁用,#1和#2禁用等)。

DropConnect是DropOut的概括,因为它产生的可能性甚至更多,因为连接几乎总是多于单位。但是,您可以在单个试验中获得相似的结果。例如,由于所有传入连接均已删除,因此右侧的DropConnect网络已有效删除了单元#2。

进一步阅读

原始论文相当容易获得,包含更多细节和经验结果。


6

是的,但重量的降低方式略有不同。

这些是DropConnect(左)和dropout(右)的公式。

在此处输入图片说明 在此处输入图片说明

因此,dropout将掩码应用于激活,而DropConnect将掩码应用于权重。

DropConnect论文说,从某种意义上说,这是辍学的概括

DropConnect是Dropout的一般化,其中可以以概率p丢弃每个连接,而不是Dropout中的每个输出单元。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.