第1.2章 神经网络中隐藏层、偏置单元、激活函数的作用(使用激活函数的原因)

神经网络中隐藏层、偏置单元、激活函数的作用

  • 隐藏层
  • 偏置单元
  • 激活函数
  • 权重

摘要:这篇文章主要是对上一篇文章中所给例题中部分知识点的讲解,较多的参考了网上其他朋友的资料,主要是供大家学习和自己以后查看资料方便,如有侵权,请告知!我会及时修改、删除!

首先给出上一篇文章的例题,一道题道出神经网络的本质https://www.jianshu.com/p/daf5b4f0238c,下面将介绍例题中涉及的隐藏层、偏置单元、激活函数。

隐藏层

例题中除了输入层和输出层,还有几层隐藏层。从图中可以看出,隐藏层不直接接受外界的信号,也不直接向外界发送信号。隐藏层的作用,简单来说就是构造出一个复杂的模型,复杂的程度由隐藏层的层数和各隐藏层神经元的个数决定。

因此,当隐藏层层数等于0时,相当于一个最简单的模型——线性或非线性回归模型。

有兴趣的朋友们可以参考以下文章详细了解
1."使用隐藏层和神经元的目的"https://www.jianshu.com/p/91138ced2939
2."对隐藏层的简单理解 "https://www.cnblogs.com/freyr/p/4506522.html

偏置单元

偏置单元(bias unit),也称为偏置项(bias term)或者截距项(intercept term),它其实就是函数的截距,与线性方程 y=wx+b 中的 b 的意义是一致的。
在 y=wx+b 中,b表示函数在y轴上的截距,控制着函数偏离原点的距离,其实在神经网络中的偏置单元也是类似的作用。

下面举个简单的例子:
神经网络最重要的用途是分类,如垃圾邮件识别、疾病判断、猫狗分类这种能自动对输入的东西进行分类的机器,就叫做分类器。现在我们有一个简单的任务,需要将下面三角形和圆形进行分类:
第1.2章 神经网络中隐藏层、偏置单元、激活函数的作用(使用激活函数的原因)_第1张图片
如果没有偏置单元,我们可以轻易得到一条过原点的直线y=wx线性分开这些数据点。

但是,假如我现在的样本点是如下这种:

第1.2章 神经网络中隐藏层、偏置单元、激活函数的作用(使用激活函数的原因)_第2张图片
则方程应为y=wx+b,由此,我们发现,增加偏置单元可以给网络分类增加平移的能力

激活函数

input layer✖权重后,往往要对结果进一步处理,即把结果作为激活函数的输入值。一般,激活函数要取非线性的激活函数。从ReLU到GELU,一文概览神经网络的激活函数


如果我们不使用或使用线性激活函数会怎么样呢?

变量声明:
x:输入,下角标代表是第几个输入
y:输出,上面的符号代表y值是通过网络计算出的值,并不是真实值
W:权重,一般是向量或矩阵。上角标1代表是输入层和第一层之间的权重
b:偏置,常数。每一层只有一个,上角标意义同权重。
z:使用激活函数前的输出,上角标1代表是输入层和第一层计算后的输出
a:使用激活函数后的输出,上角标1代表是输入层和第一层计算并经过激活函数后的输出
g:代表某一个激活函数g(x),上角标1代表是第一层的激活函数

如下图,图中第一列圆圈为第一层,第二列为第二层。如果不使用激活函数,则第一层的a=z,第二层的a=z。如右边公式,最后得到的结果仍然是线性的。

我们使用神经网络的目的是为了得到复杂的函数关系,如果不使用激活函数,最后得到的只是线性关系,并不是我们所需要的。

使用线性的激活函数同理,只不过在最后结果前面加了一个系数。

第1.2章 神经网络中隐藏层、偏置单元、激活函数的作用(使用激活函数的原因)_第3张图片


权重

为了理解方便,我们采用最简单的方式:每个连接的权值由随机数函数产生,权重w就是我们需要训练的模型参数,但这样得到的效果并不好,收敛速度慢,因此采用某些函数对权值进行初始化,后面将详细介绍设置权重的函数。

你可能感兴趣的:(人工智能)