当前位置:网站首页 > Haskell函数式编程 > 正文

sigmoid激活函数求导(sigmoid激活函数公式)



文章目录

  • sigmoid函数
  • tanh函数
  • relu函数
  • maxout函数
  • softplus函数
  • softmax函数

sigmoid函数公式:
SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数
值域在[0,1]之间,图像y轴对称。
sigmoid函数求导:
SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_02
从sigmoid函数的导数形式可知,其导数最大值为0.25,因此sigmoid函数容易引起梯度消失。

tanh函数公式:
SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_03
值域[-1,1]。
tanh函数求导:
SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_04

relu函数公式:
SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_05
relu函数求导:
SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_06
在输入为正数的时候,函数导数为1,因此不存在梯度消失问题。作为激活函数时网络模型的收敛速度远快于sigmoid和tanh。

假如一个简单的神经网络输入层有x1和x2两个神经元,下一层有4个神经元,x1和x2分别与4个神经元做运算,得到4个输出值,如果我们使用relu函数,那么这4个输出值应当都要经过relu函数计算得到4个激活值。而使用Maxout则是将这个4个值分成两组,即一个组里2个神经元,分别取每组的最大值,最后只输出两个最大值。
Maxout学习出来的激活函数是分段的线性函数。当分组中神经元数量越多时,分段函数的分段就越多,拟合能力越强。事实上relu就可以看成是Maxout函数的一种特殊情况。
Maxout函数在每次反向传播时总是将分组中其他较小的值当做不存在,只更新最大值所在的神经元权重参数。这也与relu类似,relu每次反向传播时对神经元值为0的神经元权重参数不更新,因为该神经元梯度被计算为0。

softplus函数公式:
SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_07
Softplus函数可以看成是ReLU函数的平滑版本。Softplus函数是对全部数据进行了非线性映射,是一种不饱和的非线性函数。它的收敛速度比ReLU函数要慢很多。但是计算量比relu函数要大,因此函数的导数计算起来较为复杂。
softplus函数求导:
SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_08
softplus函数求导的结果正好是sigmoid函数。

softmax函数压缩一维向量中的每个元素在0到1之间,并且所有元素总和为1。softmax函数最好在分类器的输出层使用,用来预测输入物体属于某个类的概率。
softmax函数公式:
SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_09
右边的矩阵中每一个元素sj的计算公式为:
SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_10
Sj范围是(0,1),所有的Sj的和为1。
我们可以将softmax解释如下:
SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_11
其中y是输出的N个类别中的某个类(取值为1…N)。a是任意一个N维向量。最常见的例子是多类别的逻辑回归,输入的向量x乘以一个权重矩阵W,且该结果输入softmax函数以产生概率。
softmax函数求导:
对于softmax函数第i个输出关于第j个输入的偏导数为:
SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_12
我们使用DjSi来表示这个偏导数。所有偏导数组成了一个雅可比矩阵:
SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_13
计算DjSi时我们必须分别考虑两种情况:

  • 如果i等于j:
    SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_14
  • 如果i不等于j:
    SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_15
    所以softmax函数的导数为:
    SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_16
    在文献中我们常会见到用克罗内克函数来表示softmax函数的导数:
    SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_17
    则有:
    SiLU激活函数函数 sigmoid激活函数公式_SiLU激活函数函数_18
到此这篇sigmoid激活函数求导(sigmoid激活函数公式)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • pivot函数 oracle(pivot函数的作用)2025-02-23 21:00:08
  • udp广播模式(udp广播模式发送指令)2025-02-23 21:00:08
  • can报文格式(CAN报文格式转换工具)2025-02-23 21:00:08
  • 支付方式T/T(支付方式T/T就是OA吗)2025-02-23 21:00:08
  • 支付方式T/C(支付方式英文)2025-02-23 21:00:08
  • 指数与对数的转换公式图片(指数与对数的转换公式图片怎么做)2025-02-23 21:00:08
  • sigmoid函数怎么读(sigmrnd函数)2025-02-23 21:00:08
  • 单片机编程实例大全(单片机编程入门视频教程)2025-02-23 21:00:08
  • ped文件怎么打开(ped格式的文件怎么打开)2025-02-23 21:00:08
  • redis 哨兵模式配置(redis哨兵部署方式)2025-02-23 21:00:08
  • 全屏图片