神经网络(十)激活函数DLC

激活函数是构成神经元的重要部件之一,它衔接了神经元净输入z和神经元净输出a

可以分为以下几种:

一、Logistic函数

        \sigma(x)=\frac{1}{1+exp(-x)}

        可以视为一个挤压函数,输出区间[0,1],输入越小越接近0,输入越大越接近1。连续可导;可以作为软性门

        Hard-Logistic函数

                        其中 g_l(x)=\sigma(0)+x\times {\sigma}'(0)=0.25x+0.5实质为\sigma(x)在0出的泰勒展开

                                {\sigma}'=\sigma(x)(1-\sigma(x))

                        最终形式为:=max(min(g_l(x),1),0)=max(min(0.25x+0.5,1),0) 

二、Tanh函数

        tanh(x)=\frac{exp(x)-exp(-x)}{exp(x)+exp(-x)}

         可视为变换后的Logistic函数 tanh(x)=2\sigma (2x)-1,值域为[-1,1] 

         Hard-Tanh函数

                g_t(x)=tanh(0)+x \times {tanh}'(0)=x

                         最终形式为:=max(min(g_t(x),1),-1)=max(min(x,1),-1)

        上述激活函数的图像如下图:

         !!!Hard型函数用于解决Logistic函数和Tanh函数计算开销过大的问题。采用分段函数进行模拟近似(其在0附近都具有近似性),近0点采用导数进行近似

三、ReLU函数

        神经网络中较为常用的一种激活函数,实际为一个斜坡函数

        优点:具有生物合理性(单侧抑制,宽兴奋边界),同时具有良好的稀疏性(50%左右的神经元处于激活状态,而Sigmoid型激活函数会导致一个非稀疏型神经网络) 

        缺点:其为非零中心化(会给下一层引入偏置偏移,影响梯度下降的效率)可能出现ReLU死亡现象

        为避免ReLU死亡问题,出现以下几种变种函数

        1.带泄露的ReLU

                在x<0时,保持一个较小的梯度\gamma

                 当\gamma <0.01时,可以写作LeakyReLU(x)=max(x,\gamma x)

        2.带参数的ReLU

                引入一个可以学习的参数,对于第 i 个神经元

                       若\gamma_i=0则会退化为ReLU

                       若\gamma_i非常小,这可以视为LeakyReLU

                       允许一组神经元共享一个参数,也可以是不同的参数

        3.ELU函数

                是一个近似的零中心非线性函数

                        其中\gamma\geq 0为超参数,决定 x≤0时的饱和曲线,并调整输出均值在0附近

        4.Softplus函数

                可以视为Rectifier函数的平滑版本

                                Softplis(x)=log(1+exp(x))

                 其导数刚好为Logistic函数,虽然具有单侧抑制、宽兴奋边界;但没有稀疏激活性

四、Swish函数

        自门控激活函数

          swish(x)=x\sigma(\beta x)

        其中\sigma(.)可以视为Logistic函数\beta是一个可以学习的参数/固定的超参数

        当\sigma(\beta x)接近1时,门处于开的状态;\sigma(\beta x)接近-时,门处于关闭状态

                其形态由\beta控制

                        \beta=0时,Swish函数变为\frac{x}{2}

                        \beta=1时,Swish在x >0时近似线性,在x <0时近似饱和,同时具有非单调性

                        \beta\rightarrow \infty时,Swish函数可以近似为ReLU函数

五、GELU函数

        高斯误差线性单元,也是通过门控机制来调整输出值的激活函数,类似Swish

        GELU(x)=xP(X\leq x)

        其中P(X \leq x)高斯分布N(\mu,\sigma ^2)的累积分布函数,一般设\mu=0,\sigma=1

                高斯分布即为正态分布,常用的形式为标准正态分布N(0,1)

        GELU函数可以由Tanh或Logistic近似

                 GELU(x) \approx 0.5x(1+tanh(\sqrt{\frac{2}{\pi}})(x+0.044715x^3))

        ​​​​​​​        GELU(x) \approx x\sigma(1.702x)

六、MaxOut单元

        一种分段线性函数,不同于上面的激活函数只能处理净输入值z(标量),其可以直接处理上层的全部原始输入(向量)

        每个MaxOut单元有K个权重向量w_k,可以得到K个净输入z_k

        ​​​​​​​        z_k=w^T_kx+b_k

        MaxOut单元的非线性定义为

        ​​​​​​​        ​​​​​​​maxout(x)=\underset{k\in [1,K]}{max}(z_k)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值