认识人工神经网络

本单元介绍人工神经网络。

1. 认识MP神经元模型

MP神经元模型是1943年,由Warren McCulloch和Walter Pitts提出的。

公式如下:

2. 如何对非线性数据进行分类?

图中数据属于非线性分类问题。

直角坐标曲线图。传统的 x 轴用“x1”标记。传统的 y 轴用“x2”标记。蓝点占据西北和东南象限;黄点占据西南和东北象限。

“非线性”意味着“决策面”不是直线。 的线性模型不能预测分类。考虑以下数据集分类:

数据集包含许多橙点和蓝点。很难确定一个连贯的图案,但橙点依稀呈螺旋状,而蓝点可能会呈不同的螺旋状。

图 2. 更难的非线性分类问题。

图 2 所示的数据集问题无法用线性模型解决。

为了解神经网络如何解决非线性问题,首先用图表呈现一个线性模型:

同一行中三个蓝色圆圈通过箭头与其上方的绿色圆圈相连

图 3. 用图表呈现的线性模型。

每个蓝色圆圈均表示一个输入特征,绿色圆圈表示各个输入的加权和。

要提高此模型处理非线性问题的能力,可以如何更改它?

在下图所示的模型中,添加了一个表示中间值的“隐藏层”。隐藏层中的每个黄色节点均是蓝色输入节点值的加权和。输出是黄色节点的加权和。

同一行中三个标为“输入”的蓝色圆圈通过箭头与其上方的一行标为“隐藏层”的黄色圆圈相连,这些黄色圆圈转而与顶部标为“输出”的绿色圆圈相连。

图 4. 两层模型的图表。

此模型是线性的吗?是的,其输出仍是其输入的线性组合。

在下图所示的模型中,又添加了一个表示加权和的“隐藏层”。

同一行中三个标为“输入”的蓝色圆圈通过箭头与其上方的一行标为“隐藏层 1”的黄色圆圈相连,这些黄色圆圈转而与其上方另一行标为“隐藏层 2”的黄色圆圈相连,而这些黄色圆圈转而又与顶部的绿色圆圈相连。

图 5. 三层模型的图表。

此模型仍是线性的吗?是的,没错。当将输出表示为输入的函数并进行简化时,只是获得输入的另一个加权和而已。该加权和无法对图 2 中的非线性问题进行有效建模。

要对非线性问题进行建模,可以直接引入非线性函数,用非线性函数将每个隐藏层节点像管道一样连接起来。

在下图所示的模型中,在隐藏层 1 中的各个节点的值传递到下一层进行加权求和之前,采用一个非线性函数对其进行了转换。这种非线性函数称为激活函数。

除了在两个隐藏层之间添加了一行标为“非线性转换层”的粉色圆圈之外,与上一个图一样。

图 6. 包含激活函数的三层模型的图表。

现在,已经添加了激活函数,如果添加层,将会产生更多影响。通过在非线性上堆叠非线性,能够对输入和预测输出之间极其复杂的关系进行建模。简而言之,每一层均可通过原始输入有效学习更复杂、更高级别的函数。

以下 S 型激活函数将加权和转换为介于 0 和 1 之间的值。

曲线图如下:

S 型函数。

图 7. S 型激活函数。

相较于 S 型函数等平滑函数,以下修正线性单元激活函数(简称为 ReLU)的效果通常要好一点,同时还非常易于计算。

ReLU 的优势在于它基于实证发现(可能由 ReLU 驱动),拥有更实用的响应范围。S 型函数的响应性在两端相对较快地减少。

ReLU 激活函数。

图 8. ReLU 激活函数。

实际上,所有数学函数均可作为激活函数。假设 表示激活函数(ReLU、S 型函数等等)。因此,网络中节点的值由以下公式指定:

激活函数对比

现在,模型拥有了人们通常所说的“神经网络”的所有标准组件:

  • 一组节点,类似于神经元,位于层中。
  • 一组权重,表示每个神经网络层与其下方的层之间的关系。下方的层可能是另一个神经网络层,也可能是其他类型的层。
  • 一组偏差,每个节点一个偏差。
  • 一个激活函数,对层中每个节点的输出进行转换。不同的层可能拥有不同的激活函数。

拓展:讲解视频。
本视频来自谷歌机器快速学习微课程。视频交互支持可以支持切换语言,包括脚本所用文本和讲解所有的语言。

神经网络简介