深度学习入门09-从感知机到神经网络

深度学习入门09-从感知机到神经网络_第1张图片
在之前的文章中,我们学习了感知机。在之后的几期文章中,我们主要学习一下神经网络的基础知识。

0 引言

通过之前的学习,我们知道,即便是计算机进行的复杂处理,感知机(理论上)也可以将其表示出来。但是,感知机却有一个最重要的问题,就是感知机各个节点对应的权重都需要人为地设定,比如我们使用感知机实现基本逻辑门电路功能时就是人工计算出来的。比如,我们结合与门、或门的真值表人工决定了合适的权重。对于一个简单的逻辑功能实现,节点较少,我们可以手工设定,但是对于复杂的功能呢?我们可以选择使用多层感知机实现,但这样必然增加了很多参数,我们再人工确定各个参数值是一件非常麻烦的事情。能否通过某种方式可以自动地完成设定权重的工作呢?

此时,神经网络粉墨登场,因为神经网络的一个重要性质是它可以自动地从数据中学习到合适的权重参数。在本篇文章中,我们会先介绍神经网络的概要。在之后的文章中,我们将了解如何从数据中学习权重参数。

1 神经网络的例子

用图来表示神经网络的话,就如下图所示:

深度学习入门09-从感知机到神经网络_第2张图片

我们把最左边一列称为输入(Input)层,最右边一列称为输出(Output)层,中间的一列称为中间层,中间层有时也称为隐藏层(Hidden)。相对于输入输出层来说,隐藏的意思就是人们肉眼看不到的神经元集合。为了以后编程方便描述,我们把输入层到输出层依次称为第0层、第1层、第2层…对于上图来说,Input是第0层、Hidden是第1层、Output是第2层。

我们将上图所示的神经网络称为2层网络,因为只有Hidden和Output层中的神经元有权重参数,因此,在以后描述网络有几层是指实际含有权重的层数。(可能有的文章把Input层也计入了,希望大家注意区分)

大家看到这个图是否想起之前所讲的感知机?下图是表示异或门的多层感知机图。

深度学习入门09-从感知机到神经网络_第3张图片

从本质上讲,神经网络和感知机有很多共同点,而且就神经元的连接方式而言,和感知机并没有任何差异,但是神经网络中的信号是怎么传递呢?

2 复习感知机

为了更好地学习神经网络中信号的传递方法,我们先简要的回忆一下感知机的相关知识。具体内容可以点击下面链接查看。

深度学习入门09-从感知机到神经网络_第4张图片

上图中感知机接受x1和x2两个输入信号,输出y。用数学公式来表示如下:

深度学习入门09-从感知机到神经网络_第5张图片

b是被称为偏置的参数,用于控制神经元被激活的容易程度;w1和w2是表示各个信号的权重参数,用于控制各个信号的重要性。在上图中,我们画出偏置参数b,如果要明确显示b如下图所示:

深度学习入门09-从感知机到神经网络_第6张图片

我们添加了权重为b的输入信号1,感知机将x1,x2,1三个信号作为神经元的输入,各个信号与权重相乘后再传送给下一个神经元,下一个神经元计算所有加权信号的总和。如果总和超过0,则输出1,否则输出0。由于偏置b的输入信号一直是1,为了和其他神经元区分开,我们用灰色圆圈表示。

我们还可以将表示感知机的数学公式再进行化简,首先我们将分情况讨论变为一个公式:

在这里插入图片描述

其中的h(x)可以表示如下:

深度学习入门09-从感知机到神经网络_第7张图片

我们引入了新函数h(x),输入的信号总和会被该函数进行转换,最终输出y。

3 激活函数

对于感知机的表示,我们引入的h(x)可以将输入信号的总和转换为输出信号,这个函数有非常酷的名字,叫做激活函数(activation function)。为什么叫做激活函数呢?当然是和这个函数的作用有关啦。正如“激活”一词所示,该函数决定如何来激活输入信号的总和,从而给出一个输出结果。

我们把上面的公式再进一步进行改写如下:
深度学习入门09-从感知机到神经网络_第8张图片

我们把上面的公式分为了两步,第一步计算加权输入信号和偏置的总和,记为a,之后再使用激活函数h(x)将a转换为输出y。按照之前的表示方式,我们可以将这个公式使用图像显示出来:
深度学习入门09-从感知机到神经网络_第9张图片

上图显示了感知机的计算过程,在包含激活函数的神经元中,信号的加权总和为节点a,然后节点a被激活函数h(x)转换成节点y。值得注意的是,我们所说的“节点”和“神经元”这两个术语是相同的。我们可以使用一个圆圈简要的表示一个神经元,也可以在圆圈中显示出具体的计算过程。如下图所示:
深度学习入门09-从感知机到神经网络_第10张图片
以上就是本次的内容,下一篇文章我们将详细介绍激活函数。
深度学习入门09-从感知机到神经网络_第11张图片

你可能感兴趣的:(深度学习)