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