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