深度卷积网络原理—非线性激活的必要性

假设有如上图所示的神经网络实例图

网络描述如下:

1)有2个输入,即图中的x1、x2

2)有3个神经元,即途中的b1、b2、b3

3)共2层网络。第1层的神经元是b1、b2,第2层的神经元是b3.可将中间层称为隐层。例如途中的b1、b2就属于隐层

4)有6个权重(w11到w23)。最终输出为OUT。

神经元b1的输出是: x1w11+x2w21+b1

神经元b2的输出是:x1w12+x2w22+b2

如果没有非线性激活,那么最终的输出OUT的计算公式是:

OUT=(x1w11 + x2w21 + b1)* w13 + (x1w12 + x2w22 + b2)*w23 + b3

        =x1*(w11w13 + w12w23) + x2 * (w21w13 + w22w23)+(b1w13 +b2w23 +b3)

从上面的公式可以看出,虽然用了3个神经元,但这个网络对于x1和x2仍然是线性的,完全等价于1个神经元的效果。

如下图:

因此,如果只是把神经元简单的连接在一起,不加入非线性处理,最终得到的仍然是线性函数,无法完成描述各种复杂的现象,可看出在神经元的输出时需要一个非线性函数是必要的。

若非线性激活函数对于中间层神经元是f,对于最终输出神经元是g,那么,对于此前的网络,最终的输出会变为:

OUT=g(f(x1w11 + x2w21 +  b1)* w13 + f(x1w12 + x2w22+b2)*w23 + b3)

由于f和g都是非线性的,于是最终可得到非线性的网络输出,即可拟合出复杂的数据。

原文地址:https://www.cnblogs.com/wangyong/p/9740333.html