谁能解释神经网络中的maxout单位做什么?它们的性能如何,与常规装置有何不同?
我试图阅读Goodfellow 等人的2013年“ Maxout Network”论文。(来自Yoshua Bengio教授的小组),但我不太明白。
谁能解释神经网络中的maxout单位做什么?它们的性能如何,与常规装置有何不同?
我试图阅读Goodfellow 等人的2013年“ Maxout Network”论文。(来自Yoshua Bengio教授的小组),但我不太明白。
Answers:
maxout层只是激活函数为输入最大值的层。如本文所述,即使具有2个maxout单位的MLP也可以近似任何功能。他们给出了有关maxout为何表现良好的几个原因,但是他们给出的主要原因如下:
辍学可以被认为是模型平均的一种形式,其中在每次迭代中训练一个随机子网,最后对不同的随机网络的权重进行平均。由于无法明确平均权重,因此使用了一个近似值。对于
在maxout中的线性网络,此近似值是准确的
,它们不会将输入丢弃到maxout层。因此,输出数据点最大值的输入的身份保持不变。因此,丢失仅发生在MLP的线性部分,但是由于maxout层的存在,仍然可以近似任何函数。
由于辍学仅发生在线性部分,他们推测这会导致更有效的模型平均,因为平均逼近对于线性网络是精确的。
他们的代码在这里。
一个maxout单元最多可以学习 k个分段的分段线性凸函数。1个
因此,当k为2时,您可以实现ReLU,绝对ReLU,泄漏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