我一直试图弄清楚神经网络中“Maxout”激活函数的确切含义。有这个问题,这篇论文,甚至在Bengio 等人的深度学习书中都有。,除了只有一点点信息和旁边的大 TODO。
为清楚起见,我将使用此处描述的符号。我只是不想重新输入它并导致问题膨胀。简而言之,,换句话说,一个神经元有一个偏差,每个输入的单个权重,然后将输入乘以权重相加,然后添加偏差并应用激活函数来获得输出(也称为激活)值。
到目前为止,我知道 Maxout 是一个“输出最大输入”的激活函数。这意味着什么?以下是我可以从中解释的一些想法:
- ,也称为最大池化。
- ,简单地用最大值替换通常完成的总和。
- ,其中每个神经元现在对每个输入都有一个偏置值,而不是应用单个偏置值在对所有输入求和后。这将使反向传播不同,但仍然可能。
- 每个都按正常计算,每个神经元对每个输入都有一个偏差和一个权重。然而,类似于 softmax ( a^i_j = \frac{\exp(z^i_j)}{\sum\limits_k \exp(z^i_k)} ),这取当前层中所有z的最大值。形式上,a^i_j=\max\limits_k z^i_k。
这些都是正确的吗?还是有什么不同?
