《深度学习入门》学习笔记(二)

本文最后更新于:2022年7月9日 下午

《深度学习入门》学习笔记(二)

第二章 感知机

本章将介绍感知机这一算法。感知机是由美国学者Frank Rosenblatt在1957年提出来的。为何我们现在还要学习这一很久以前就有的算法呢?因为感知机也是作为神经网络(深度学习)的起源的算法。因此,学习感知机的构造也就是学习通向神经网络和深度学习的一种重要思想。本章我们将简单介绍一下感知机,并用感知机解决一些简单的问题。希望大家能和我一起通过这个过程能熟悉感知机。

2.1 什么是感知机

感知机接收多个输入信号,输出一个信号。这里所说的“信号”可以想象成电流或河流那样具备“流动性”的东西。像电流流过导线,向前方输送电子一样,感知机的信号也会形成流,向前方输送信息。但是,和实际的电流不同的是,感知机的信号只有“流/不流”(1/0)两种取值。在计算机编程里,我们最常用的就是bool型的true和false两种状态,正好对应感知机两种取值信号,这也是我们需要重点掌握的。

而在感知机里还有一些概念需要去掌握,例如:输入信号、输出信号、权重、阈值等。接下来我将以一个例子说明。

upload successful

如上图,x1、x2是输入信号,y是输出信号,w1、w2是权重。图中的大圆圈被我们称之为神经元或者节点。当输入信号被送往神经元时,会被分别乘上固定的权重(即w1x1、w2x2)。神经元会计算传送过来的信号总和,当这个总和超过某个特定的界限值时,会触发某种响应从而输出1(true)。我们把这种响应称之为神经元被激活。这里将这个界
限值称为阈值,用符号θ表示。

我们用数学公式来表示感知机的原理可得下式:

upload successful

感知机的多个输入信号都有各自固有的权重,这些权重发挥着控制各个信号的重要性的作用。也就是说,权重越大,对应该权重的信号的重要性就越高。

个人理解:权重相当于电流里所说的电阻。电阻是决定电流流动难度的参数,电阻越低,通过的电流就越大。而感知机的权重则是值越大,通过的信号就越大。不管是电阻还是权重,在控制信号流动难度(或者流动容易度)这一点上的作用都是一样的。

2.2 简单逻辑电路

看到这,也许有人问了,我们不是学感知机嘛?怎么开始讲逻辑电路了?其实感知机的工作模式跟逻辑电路很相似,例如前面说的虚拟机只存在两种信号状态(0/1),而逻辑电路中也是只有0/1两种通电状态。另外还可以用感知机实现逻辑电路,从而去理解感知机的原理。所以,我们开始吧。

2.2.1 与门

现在让我们考虑用感知机来解决简单的逻辑电路的问题(与门)。与门是有两个输入和一个输出的门电路。如下图的输入信号和输出信号的真值表。

与门真值表

下面我们用感知机的形式模拟与门的逻辑流程。根据上面已有的x1,x2,y来确定w1,w2, θ的值。本质上有点像数学解方程的过程,其实不是像,它就是!所以想学好深度学习,数学是必不可少的功课。那我们怎么解出w1,w2, θ的值呢?

其实,满足上图条件的参数的选择方法有无数多个。比如,当(w1, w2, θ) = (0.5, 0.5, 0.7) 时,可以满足上图的条件。此外,当(w1, w2, θ)为(0.5, 0.5, 0.8)或者(1.0, 1.0, 1.0)时,同样也满足与门的条件。设定这样的参数后,仅当x1和x2同时为1时,信号的加权总和才会超过给定的阈值θ。

2.2.2 与非门和或门

接着,我们再来考虑一下与非门(NAND gate)。 NAND是Not AND的意思,与非门就是颠倒了与门的输出。用真值表表示的话,如下图所示,仅当x1和x2同时为1时输出0,其他时候则输出1。那么与非门的参数又可以是什么样的组合呢?

与非门真值表

要表示与非门,可以用(w1, w2, θ) = (−0.5, −0.5, −0.7)这样的组合(其他的组合也是无限存在的)。实际上,只要把实现与门的参数值的符号取反,就可以实现与非门。

接下来在看一下或门的真值表,并设置参数。如下图:

或门真值表

如上所示,我们已经知道使用感知机可以表示与门、与非门、或门的逻辑电路。这里重要的一点是:与门、与非门、或门的感知机构造是一样的。实际上, 3个门电路只有参数的值(权重和阈值)不同。也就是说,相同构造的感知机,只需通过适当地调整参数的值,就可以像“变色龙演员”表演不同的角色一样,变身为与门、与非门、或门。

个人理解:做深度学习算法的,在行业内有几大分类,最顶层是造轮子的(写算法模型),往下是改轮子的(优化算法模型),在往下就是用轮子的(调参工程师)。上两层是真大佬,但大多数人都是后者的调参工程师。这里决定感知机参数的并不是计算机,而是我们人。我们看着真值表这种“训练数据”,人工考虑(想到)了参数的值。而机器学习的课题就是将这个决定参数值的工作交由计算机自动进行。 学习是确定合适的参数的过程,而人要做的是思考感知机的构造(模型),并把训练数据交给计算机。

2.3 感知机的实现

2.3.1 简单的实现

2.3.2 导入权重和偏置

2.3.3 使用权重和偏置的实现

2.4 感知机的局限性

2.4.1 异或门

2.4.2 线性和非线性

2.5 多层感知机

2.5.1 已有门电路组合

2.5.2 异或门的实现

2.6 从与非门到计算机

总结


《深度学习入门》学习笔记(二)
https://jinbilianshao.github.io/2021/11/06/深度学习入门》学习笔记(二)/
作者
连思鑫
发布于
2021年11月6日
许可协议