激活函数

激活函数的意思:现在有几个神经元,其他几个神经元的信号达到某一个阈值的时候,就会传递给下一个神经元。比如A是B,C,D的下一个神经元,A接收B,C,D三个神经元给它的信号,只有当B,C,D三个神经元给它的信号满足一定条件的时候,A才会把接收到的信号传递给A的下一个神经元,也就是说A才能被激活(传递给下一个神经元的这个命令被激活,如果不满足条件的话是不能被激活的,A是不会传给下一个神经元的)

常见的激活函数比如sigmoid函数

它会把我们从正无穷到负无穷到输入映射到一个从0到1的输出,也就是说把我们的输入转换成一个概率值

最常用的激活函数relu

当x小于0的时候,输出永远为0,当x大于0的时候,是y=x的输出,也就是输入什么就输出什么

就比如一个神经元,当之前一个神经元满足大于0的输入时,这个神经元就把上一个神经元的输入进行输出;如果上一个神经元输入小于0,那么这个神经元就不输出,就是输出也是0

还有一个tanh激活函数(用的比较少,在对抗神经网络里有用到。因为tanh可以输出负值,所以可以输出图像)

这里注意一下激活函数是必须可导的,因为反向传播算法要求把损失传回去,所以过程中需要求导。(relu函数在0这个点我们忽略不计,这个点不可导)

从另一个角度来看激活函数,它为我们的网络引入了非线性。如果我们的网络是一个线性的值,那么我们输入是连续的值,输出也是连续的值,这对于我们解决问题的时候是不方便的。比如说我们想知道这个人是男还是女,这是一个具体的问题,我们需要把连续的值映射成非连续的值,这时候就需要用激活函数来解决


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!