【傻瓜攻略】深入学习入门之**函数(四)
参考:http://cs231n.github.io/neural-networks-1/
2.tanh(反正切)函数
这个函数的取值范围为[-1,+1],其实看图也可以发现这个函数与上一章所述的sigmoid函数类似,但是由于这个函数是0对称的,所以实际应用中tanh的效果会略好于sigmoid函数
另外它的求导函数也是很简单,所以应用还是很方便的。
3.ReLU(Rectified Linear Unit)函数
由于翻译成中文是在有点奇怪,所以用英文全文写。
ReLU单元比tanh单元具有6倍的收敛速度提升。左图为其函数图形,右图是它的收敛速度。
函数公式为f(x)=max(0,x)
优点:梯度下降时收敛速度更快,设计简单
缺陷:在输入过大时候,即梯度过大时候,会导致权重梯度过大,导致整个权重更新为0甚至负数,导致整个神经节点输出会一
直为0,简称神经节点垮掉了。
具体推导参考上章的公式,很容易推到出来的。
处理方法:选择一个适合的学习速率,可以使这种情况不容易发生。
4、leaky ReLU
图和上面差不多,函数修正为f(x)=1(x<0)(ax)+1(x>=0)(x) 其中a是一个很小的常量。简单来说,就是当x<0时,f(x)不再是0,而是一个很小的数值。
这样在一定程度上是缓解了ReLU的问题,但是却还是会发生。
5、softmax
用于多分类神经网络输出
softmax相当于是sigmoid的扩展,当k=2时就退化为二分类问题了。
不过,感觉softmax多用于全连接层,很少用于隐藏层。
好吧以上的全是关于常用的**函数的介绍,但是**函数很多,我这理一理要好久……大概以后有空会再理一理。
现在就放上这几个常用的,算是结束关于**函数的介绍了。**函数有很多,需要根据自身的需要选择,不过以上这几个对于初学者了解已经够了。
下面开始介绍全连接层,✿✿ヽ(°▽°)ノ✿
FC(fully connected layers)全连接层:
全连接层在剩个神经网络中起到‘分类器‘的作用,个人认为这是神经网络最难的一部分,最需要仔细理解的一部分。
现在我们慢慢一点一点来。