原理

Maxout是一种激活函数,它通过在数个线性元素中取最大值来增加模型的非线性表达。对于给定的输入向量,Maxout层则将输入映射到一组仿射变换上,并从中选择最大的输出作为最终结果。

具体来说,如果我们将定义为第个仿射变换,则Maxout单元的输出被定义为

导数

唯一最大通道是唯一的最大值,则导数仅传递到该通道: 此时仅更新第个通道的权重和偏置

多个最大通道 若有个通道值同为最大,则梯度均分到这些通道:

优缺点

优点

  • 增加表达能力
    • 通过允许网络学习哪些仿射变换更重要,Maxout网络可以近似任意凸函数,从而增加了模型的表达能力。
  • 缓解过拟合
    • 由于每个神经元都包含多个仿射变换,这可以看作是一种形式的模型平均,有助于缓解过拟合问题。

缺点

  • 参数数量
    • Maxout单元比传统的激活函数(如ReLU)需要更多的参数,因为每个神经元都需要学习多个仿射变换的权重和偏置。
  • 计算成本
    • 由于引入了额外的仿射变换和最大值操作,Maxout网络的计算成本相对较高。