几类常见的激活函数——ReLU函数、sigmiod函数、tanh 函数

    科技2022-07-11  110

    背景介绍:

    对于常见线性回归和 s o f t m a x softmax softmax 单层神经网络,在深度学习中的多层神经网络都可以对带有隐藏层的多层感知机,其中的一至多个隐藏层经过非线性变换等价于一个单层的神经网络;常⽤的激活函数包括 R e L U ReLU ReLU 函数、 s i g m o i d sigmoid sigmoid 函数和 t a n h tanh tanh 函数。

    数学推导

    一个小批量样本 X X X ∈ \in R m ∗ n R^{m*n} Rmn,其中批量大小为 n n n,输入个数为 d d d,假设多层感知机有一个隐藏层,其中隐藏单元个数为 h h h,其中 H 为隐藏层的输出,由于隐藏层和输出层均是全连接层,可以假设隐藏层的权重参数和偏差参数分别为 W h W_{h} Wh ∈ \in R d ∗ h R^{d*h} Rdh b n b_{n} bn ∈ \in R 1 ∗ h R^{1*h} R1h,输出层的权重和偏差参数分别为 W o W_{o} Wo ∈ \in R h ∗ q R^{h*q} Rhq b o b_{o} bo ∈ \in R n ∗ q R^{n*q} Rnq。 我们计算含单隐藏层的输出 O O O ∈ \in R n ∗ q R^{n*q} Rnq为: H = X W h + b n H = XW_{h} + b_{n} H=XWh+bn O = H W o + b o O = HW_{o} + b_{o} O=HWo+bo 将第 1 个表达式代入到第二个表达式: O = ( X W h + b h ) W o + b o = X W h W o + b h W o + b o O = (XW_{h}+b_{h})W_{o} + b_{o} = XW_{h}W_{o}+ b_{h}W_{o} + b_{o} O=(XWh+bh)Wo+bo=XWhWo+bhWo+bo 不难可以看出虽然神经网络引入了隐藏层,但依然等价于一个单层的神经网络:其中输出层权重参数为 W h W o W_{h}W_{o} WhWo,偏差参数为 b h W o + b o b_{h}W_{o}+b_{o} bhWo+bo

    激活函数

    R e L U 函 数 ReLU函数 ReLU: 简单的非线性变换,仅保留正数元素,

    R e L u ( x ) = m a x ( x , 0 ) ReLu (x) = max(x,0) ReLu(x)=max(x,0)

    s i g m o i d 函 数 sigmoid函数 sigmoid: 将元素的值变换到0 和1 之间的非线性变换,

    s i g m o i d ( x ) = 1 1 + e − x sigmoid(x) = \frac{1}{1+e^{-x}} sigmoid(x)=1+ex1

    t a n h 函 数 tanh函数 tanh: 将元素的值变换到 -1 和 1 之间的非线性变换,

    t a n h ( x ) = 1 − e − 2 x 1 + e 2 x tanh(x) = \frac{1 - e^{-2x}}{1 + e^{2x}} tanh(x)=1+e2x1e2x

    Processed: 0.009, SQL: 8