天天看点

深度学习 || 17 神经元 Swish 函数&&Maxout 单元

神经元——Swish 函数&&Maxout 单元

本部分介绍Swish函数和Maxout单元

  1. Swish 函数

Swish函数是一种自门控(Self-Gated)激活函数,定义为

\operatorname{swish}(x)=x \sigma(\beta x)

其中

σ(·)

为Logistic函数,

β

为可学习的参数或一个固定超参数。

σ(·) ∈ (0, 1)

可以看作是一种软性的门控机制。当

σ(βx)

接近于1时,门处于“开”状态,激活函数的输出近似于

x

本身;当

σ(βx)

接近于0时,门的状态为“关”,激活函数的输出近似于0。

深度学习 || 17 神经元 Swish 函数&&Maxout 单元

上图给出了 Swish 函数的示例。当

β = 0

时,Swish 函数变成线性函数

x/2

。当

β = 1

时,Swish函数在

x > 0

时近似线性,在

x < 0

时近似饱和,同时具有一定的非单调性。当

β → +∞

时,

σ(βx)

趋向于离散的

0-1

函数,Swish函数近似为ReLU函数。因此,Swish函数可以看作是线性函数和ReLU函数之间的非线性插值函数,其程度由参数

β

控制。

  1. Maxout 单元

Maxout单元也是一种分段线性函数。Sigmoid型函数、ReLU等激活函数的输入是神经元的净输入

z

,是一个标量而 maxout 单元的输入是上一层神经元的全部原始输入,是一个向量

x = [x_1; x_2; · · · , x_d]

每个maxout单元有

K

个权重向量

w_k ∈ R ^d

和偏置

b_k (1 ≤ k ≤ K)

。对 于输入

x

,可以得到

K

个净输入

z_k, 1 ≤ k ≤ K

z_{k}=\mathbf{w}_{k}^{\mathrm{T}} \mathbf{x}+b_{k}

其中

\mathbf{w}_{k}=\left[w_{k, 1}, \cdots, w_{k, d}\right]^{\mathrm{T}}

为第

k

个权重向量。

Maxout单元的非线性函数定义为

\operatorname{maxout}(\mathbf{x})=\max _{k \in[1, K]}\left(z_{k}\right)

Maxout 单元不单是净输入到输出之间的非线性映射,而是整体学习输入到输出之间的非线性映射关系。Maxout 激活函数可以看作任意凸函数的分段线性近似,并且在有限的点上是不可微的。