Answers:
DropOut和DropConnect都是旨在防止神经网络中的单元“共同适应”的两种方法。换句话说,我们希望单位从其输入中独立提取特征,而不是依赖其他神经元来提取特征。
假设我们有一个像这样的多层前馈网络(拓扑实际上并不重要)。我们担心中间层中的黄色隐藏单元会相互配合。
要应用DropOut,我们随机选择单位的子集,并将其输出固定为零,而不管输入是什么。这有效地从模型中删除了这些单位。每次我们提供训练示例时,都会随机选择一个不同的单元子集。
以下是两种可能的网络配置。在第一个演示文稿(左)上,禁用了第一个和第三个单位,但是在随后的演示文稿中已随机选择了第二个和第三个单位。在测试时,我们使用完整的网络,但重新调整权重以补偿它们现在都可以变为活动状态的事实(例如,如果删除一半的节点,权重也应减半)。
DropConnect的工作方式类似,不同之处在于,我们禁用单个权重(即将其设置为零)而不是节点,因此节点可以保持部分活动状态。从示意图上看,它看起来像这样:
这些方法之所以起作用,是因为它们有效地使您可以同时训练多个模型,然后对它们进行平均以进行测试。例如,黄色层有四个节点,因此有16种可能的DropOut状态(全部启用,#1禁用,#1和#2禁用等)。
DropConnect是DropOut的概括,因为它产生的可能性甚至更多,因为连接几乎总是多于单位。但是,您可以在单个试验中获得相似的结果。例如,由于所有传入连接均已删除,因此右侧的DropConnect网络已有效删除了单元#2。
原始论文相当容易获得,包含更多细节和经验结果。