什么是激活函数
输入信号的总和会被函数h(x)转换,转换后的值就是输出y。 函数h(x)就被称为激活函数。 举个例子:输入信号x1,x2.经过权重w1,w2偏置b的计算总和为a.a通过激活函数h()输出y.
那么我们为什么要用激活函数呢?
因为如果没有激活函数,那么我们的输出信号仅仅是一个线性函数。它没有办法解决复杂的数据。 激活函数的主要作用是为隐含层(中间层)引入非线性。加入非线性,多层神经网络的预测能力李就得到了显著的提高,对于后向传播算法,激活函数必须可微。 所以神经网络的激活函数必须是非线性函数。
激活函数有哪些常用的?
1.sigmoid函数
sigmoid函数:h(x)=1/ 1 + exp(-x). exp(-x)表示e的-x次方。 由图就可以直接理解非线性。线性函数的值只能返回0或1这种整数,而非线性函数却可以返回0.11565.这种实数,所以说非线性函数流动的是一种连续的实数值信号。 但是sigmoid函数存在梯度消亡问题。这个以后再说。
ReLU函数
ReLU函数是一种很直观的函数。 R(x)= max(0,x),即如果x <0,R(x)= 0,如果x> = 0,则R(x)= x。 但他的局限性在于他只能在隐藏层使用。 在机器学习和计算机科学领域,最简单、相容的技术和方法才是首选,才是表现最好的。因此,它可以避免和纠正梯度消失问题。现如今,几乎所有深度学习模型现在都使用ReLu函数。