原理
Maxout是一种激活函数,它通过在数个线性元素中取最大值来增加模型的非线性表达。对于给定的输入向量,Maxout层则将输入映射到一组仿射变换上,并从中选择最大的输出作为最终结果。
具体来说,如果我们将定义为第个仿射变换,则Maxout单元的输出被定义为
导数
唯一最大通道 若是唯一的最大值,则导数仅传递到该通道: 此时仅更新第个通道的权重和偏置。
多个最大通道 若有个通道值同为最大,则梯度均分到这些通道:
优缺点
优点
- 增加表达能力
- 通过允许网络学习哪些仿射变换更重要,Maxout网络可以近似任意凸函数,从而增加了模型的表达能力。
- 缓解过拟合:
- 由于每个神经元都包含多个仿射变换,这可以看作是一种形式的模型平均,有助于缓解过拟合问题。
缺点
- 参数数量
- Maxout单元比传统的激活函数(如ReLU)需要更多的参数,因为每个神经元都需要学习多个仿射变换的权重和偏置。
- 计算成本:
- 由于引入了额外的仿射变换和最大值操作,Maxout网络的计算成本相对较高。