据说Hinton提出的dropout是为了防止共同适应。我的问题是如何测量在不使用 drop out 的多层感知器中发生的协同适应?
如何测量不使用 drop out 的多层感知器神经网络中发生的协同适应?
机器算法验证
机器学习
神经网络
深度学习
2022-04-03 16:25:40
1个回答
我认为隐藏层激活中的非恒等协方差是“协同适应”的一种形式。
要计算隐藏层协方差,只需使用经过训练的 MLP 并找到一堆数据。通过 MLP 运行数据,直到计算出感兴趣的隐藏层的激活:
对于具有一个隐藏层和激活函数的 MLP. 获得这些值后,只需计算它们的协方差:
要从隐藏特征协方差中获得单个数字度量,您可以使用许多不同的东西,但我认为计算协方差的范数减去单位矩阵(即,在观察到的协方差矩阵):
使用这种方法,您可以训练不同的 MLP 并测试 dropout 是否对隐藏层激活的共变趋势有影响。
当然,衡量“共同适应”(或“依赖”)的方法有很多种;协方差仅通过第二个统计时刻测量依赖性。你也可以做一些事情,比如测量隐藏激活的峰度,这会给你一个不同的指标,但也可以在某种意义上测量协同适应——就像 ICA 模型通过几个不同的追求独立组件的方式一样损失。
在这些类型的模型中,独立性是一个非常有趣的话题。那里有很多好论文,特别是在 ICA 领域,但是对于不同类型的独立性的精彩讨论,请参阅 Bell & Sejnowski (1997) “自然场景的“独立组件”是边缘过滤器”(尤其是讨论围绕图 2)。
其它你可能感兴趣的问题