sigmoid函数和tanh函数(sigmoid函数与tanh)

sigmoid函数和tanh函数(sigmoid函数与tanh)p 1 什么是激活函数 p p 激活函数是深度学习 亦或者说人工神经网络中一个十分重要的组成部分 它可以对神经元的接收信息进行非线性变换 将变换后的信息输出到下一层神经元 激活函数作用方式如下公式所示 p p 其中 就是激活函数 p p 为什么要使用激活函数呢 p

大家好,我是讯享网,很高兴认识大家。




讯享网

 <p>  1 什么是激活函数</p><p>  激活函数是深度学习,亦或者说人工神经网络中一个十分重要的组成部分,它可以对神经元的接收信息进行非线性变换,将变换后的信息输出到下一层神经元。激活函数作用方式如下公式所示:</p><p>  其中, 就是激活函数。</p><p>  为什么要使用激活函数呢?当我们不用激活函数时,网络中各层只会根据权重 和偏差 只会进行线性变换,就算有多层网络,也只是相当于多个线性方程的组合,依然只是相当于一个线性回归模型,解决复杂问题的能力有限。我们希望我们的神经网络能够处理复杂任务,如语言翻译和图像分类等,线性变换永远无法执行这样的任务。激活函数得加入能对输入进行非线性变换,使其能够学习和执行更复杂的任务。</p><p>  另外,激活函数使反向传播成为可能,因为激活函数的误差梯度可以用来调整权重和偏差。如果没有可微的非线性函数,这就不可能实现。</p><p>  总之,激活函数的作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题。</p><p>  2 常用激活函数</p><p>  <strong>2.1 sigmoid函数</strong></p><p>  sigmoid函数可以将整个实数范围的的任意值映射到[0,1]范围内,当当输入值较大时,sigmoid将返回一个接近于1的值,而当输入值较小时,返回值将接近于0。sigmoid函数数学公式和函数图像如下所示:</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2019%2F1218%2Fb5db21d6p00q2p1u20006c2007t005fg007t005f.png&thumbnail=660x&quality=80&type=jpg"/><br/></p><p>  感受一下TensorFlow中的sigmoid函数:</p><p>  </p><p>  有两种方式可以调用sigmoid函数:</p><p>  </p><p>  看, 中所有值都映射到了[0,1]范围内。</p><p>  sigmoid优缺点总结:</p><p>  优点:输出的映射区间(0,1)内单调连续,非常适合用作输出层,并且比较容易求导。</p><p>  缺点:具有软饱和性,即当输入x趋向于无穷的时候,它的导数会趋于0,导致很容易产生梯度消失。</p><p>  <strong>2.2 relu函数</strong></p><p>  Relu(Rectified Linear Units修正线性单元),是目前被使用最为频繁得激活函数,relu函数在x&lt;0时,输出始终为0。由于x&gt;0时,relu函数的导数为1,即保持输出为x,所以relu函数能够在x&gt;0时保持梯度不断衰减,从而缓解梯度消失的问题,还能加快收敛速度,还能是神经网络具有稀疏性表达能力,这也是relu激活函数能够被使用在深层神经网络中的原因。由于当x&lt;0时,relu函数的导数为0,导致对应的权重无法更新,这样的神经元被称为"神经元死亡"。</p><p>  relu函数公式和图像如下:</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2019%2F1218%2Fe4dabc84p00q2p1u30006c2007j005jg007j005j.png&thumbnail=660x&quality=80&type=jpg"/><br/></p><p>  在TensorFlow中,relu函数的参数情况比sigmoid复杂,我们先来看一下:</p><p>  tf.keras.activations.relu( x, alpha=0.0, max_value=None, threshold=0 )</p><p>  x:输入的变量</p><p>  alpha:上图中左半边部分图像的斜率,也就是x值为负数(准确说应该是小于threshold)部分的斜率,默认为0</p><p>  max_value:最大值,当x大于max_value时,输出值为max_value</p><p>  threshold:起始点,也就是上面图中拐点处x轴的值</p><p>  </p><p>  <strong>2.3 softmax函数</strong></p><p>  softmax函数是sigmoid函数的进化,在处理分类问题是很方便,它可以将所有输出映射到成概率的形式,即值在[0,1]范围且总和为1。例如输出变量为[1.5,4.4,2.0],经过softmax函数激活后,输出为[0.0, 0., 0.0 ],分别对应属于1、2、3类的概率。softmax函数数学公式如下:</p><p>  2.4 tanh函数</p><p>  tanh函数无论是功能还是函数图像上斗鱼sigmoid函数十分相似,所以两者的优缺点也一样,区别在于tanh函数将值映射到[-1,1]范围,其数学公式和函数图像如下:</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2019%2F1218%2F06a7addbp00q2p1u30005c2007f004ug007f004u.png&thumbnail=660x&quality=80&type=jpg"/><br/></p><p>  3 总结</p><p>  神经网络中,隐藏层之间的输出大多需要通过激活函数来映射(当然,也可以不用,没有使用激活函数的层一般称为logits层),在构建模型是,需要根据实际数据情况选择激活函数。TensorFlow中的激活函数可不止这4个,本文只是介绍最常用的4个,当然,其他激活函数大多是这几个激活函数的变种。</p> 

讯享网
小讯
上一篇 2025-05-27 21:02
下一篇 2025-04-26 11:44

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/174407.html