![TensorFlow知识图谱实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/115/44510115/b_44510115.jpg)
上QQ阅读APP看书,第一时间看更新
3.3.4 反馈神经网络原理的激活函数
现在回到反馈神经网络的函数:
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P91_11593.jpg?sign=1738954661-XCPq0AVUoQeiOrNE4oJDhrt0wGPr8wpu-0-336640c894bf490aeaf45e69d5ffc3b8)
对于此公式中的、
以及所需要计算的目标
已经做了较详尽的解释,对
则没有介绍。
回到前面生物神经元的图示中,传递进来的电信号通过神经元进行传递,由于神经元的突触强弱是有一定敏感度的,也就是只会对超过一定范围的信号进行反馈,即:这个电信号必须大于某个阈值,神经元才会被激活以引起后续的传递。
在训练模型中同样需要设置神经元的阈值,即神经元被激活的频率用于传递相应的信息,模型中这种能够确定是否当前神经元节点的函数被称为“激活函数”,如图3.22所示。
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P91_8612.jpg?sign=1738954661-nisiOQb5CPK232z4HMBkIq724H6XJ9MR-0-5e706bc75f5700c45f76c6ee5026b8eb)
图3.22 激活函数示意图
激活函数代表了生物神经元中接收到的信号强度,目前应用范围较广的sigmoid函数。因为其在运行过程中只接受一个值,输出也是一个经过公式计算后的值,且其输出值为0~1之间。
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P91_11603.jpg?sign=1738954661-7fsDidRvwaVnTk4zzhdZEDR9ROt0I8A8-0-4372ea5c8ad9c3455297925df6531562)
其图形如图3.23所示。
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P91_8620.jpg?sign=1738954661-xAhyGwvopK6ca6h4EqnAJytBA5MTrhh8-0-28c986b3f8b0b5be36a20ce0a15cb620)
图3.23 sigmoid激活函数图
其倒函数的求法较为简单,即:
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P92_11604.jpg?sign=1738954661-t9YZ4sS8H51IyH2BNIraMKQQy0mVFdCe-0-4e008957058ff2d8e8ccbb73917e84c5)
换一种表示方式为:
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P92_11605.jpg?sign=1738954661-bT2uZNPMhggOJxlTaeoV7cLnGonFVoRv-0-25d764f28048e3075f09ee3d394d0ec7)
sigmoid输入一个实值的数,之后将其压缩到0~1之间。较大值的负数被映射成0,大的正数被映射成1。
顺便说一句,sigmoid函数在神经网络模型中占据了很长一段时间的统治地位,但是目前已经不常使用,主要原因是其非常容易区域饱和,当输入开始非常大或者非常小的时候,其区域零会造成梯度传播过程中产生接近于0的传播梯度。这样在后续的传播时,会造成梯度消散的现象,因此并不适合现代的神经网络模型使用。
除此之外,近年来涌现出大量新的激活函数模型,例如Maxout、Tanh和ReLU,这些都是为了解决传统的sigmoid模型在更深程度上的神经网络所产生的各种不良影响。sigmoid函数的具体实现请读者参考相关资料自行完成。