谁能解释神经网络中的 maxout 单元是做什么的?它们的性能如何,它们与传统单位有何不同?
我尝试阅读Goodfellow等人在 2013 年发表的“Maxout Network”论文。(来自 Yoshua Bengio 教授的小组),但我不太明白。
谁能解释神经网络中的 maxout 单元是做什么的?它们的性能如何,它们与传统单位有何不同?
我尝试阅读Goodfellow等人在 2013 年发表的“Maxout Network”论文。(来自 Yoshua Bengio 教授的小组),但我不太明白。
maxout 层只是激活函数是输入最大值的层。如论文所述,即使是具有 2 个 maxout 单元的 MLP 也可以逼近任何函数。他们给出了为什么 maxout 可能表现良好的几个原因,但他们给出的主要原因如下 -
Dropout 可以被认为是模型平均的一种形式,其中在每次迭代中训练一个随机子网络,最后对不同随机网络的权重进行平均。由于无法明确平均权重,因此使用了近似值。这种近似对于线性网络是精确
的。
在 maxout 中,它们不会将输入丢弃到 maxout 层。因此,输出数据点最大值的输入的标识保持不变。因此 dropout 只发生在 MLP 的线性部分,但由于 maxout 层,仍然可以逼近任何函数。
由于 dropout 仅发生在线性部分,他们推测这会导致更有效的模型平均,因为平均近似对于线性网络是精确的。
他们的代码可在此处获得。
一个 maxout 单元可以学习一个分段线性凸函数,最多包含 k 个片段。1
所以当k为2时,可以实现ReLU、absolute ReLU、leaky ReLU等,也可以学习实现一个新的功能。如果 k 是 10,你甚至可以近似地学习凸函数。
当 k 为 2 时:
Maxout 神经元计算函数。ReLU 和 Leaky ReLU 都是这种形式的特例(例如,对于 ReLU,我们有)。因此,Maxout 神经元享有 ReLU 单元的所有优点(线性操作状态,无饱和),并且没有其缺点(垂死的 ReLU)。
然而,与 ReLU 神经元不同,它使每个神经元的参数数量增加了一倍,导致参数总数增加。2
您可以在此处阅读详细信息:
1. DL 书
2. http://cs231n.github.io/neural-networks-1