1 感知机
1-1 感知机是什么
感知机接收多个输入信号,输出一个信号。感知机的信号只有“流\不流”(1\0)两种取值,‘0’表示不传递信号,‘1’表示传递信号。
—————————————————————————————————
图2-1是一个接收两个输入信号的感知机的例子。x1、x2是输入信号,y是输出信号,w1、w2是权重(w是weight的首字母)。图中的“O”称为“神经元”或者“节点”。输入信号被送往神经元时,会被分别乘以固定的权重(w1x1、w2x2)。神经元会计算传送过来的信号的总和,只有当这个总和超过了某个界限值时,才会输出1。这也称为“神经元被激活”。这里将这个界限值称为阈值,用符号θ表示。
将上述内容用数学公式表示出来就是如下式子:
注:感知机中的多个输入信号都有各自的权重,权重越大,对应该信号
1-2简单的逻辑电路
通过设置参数值,来实现“与门”、“与非门”、“或门”;
与门(输入信号x1,x2均为1时,才输出1):(w1, w2, θ) = (0.5, 0.5, 0.7) 时,当且仅当x1,x2均为1时,10.5+10.5>0.7,满足输出信号Y=1。而且这一组参数并不唯一。
与非门(输入信号x1,x2均为0时才输入1):(w1, w2, θ) = (-0.5, -0.5, -0.7) 时,当且仅当x1,x2均为0时,0*-0.5+0*-0.5>-0.7,满足输出信号Y=1。
“或门”(只要有一个输入信号为1,则输出信号为1):(w1, w2, θ) =(0.5,0.5,0.4),当且仅当x1,x2均为0时,00.5+00.5<0.4 输出信号为Y=0,其他情况都是输出Y=1的信号,满足“或门”的条件。
——————————————
由此,①在这个例子中,决定参数是的人们,而不是计算机,而机器学习的过程就是将这个取参数的过程交给计算机来完成,学习是确定合适的参数的过程,而人要做的是思考感知机的构造(模型),并把训练数据交给计算机。②这三个门电路中,感知机的模型是一样的,只需要调整适当的参数就可以变化为 三种门电路。
1-3 导入权重和偏置
首先把式(2.1)的θ换成−b,于是就可以用式(2.2)来表示感知机的行为。
式(2.1)和式(2.2)虽然有一个符号不同,但表达的内容是完全相同的。此处,b称为偏置,w1和w2称为权重。如式(2.2)所示,感知机会计算输入信号和权重的乘积,然后加上偏置,如果这个值大于0则输出1,否则输出0。
————————————————————
def AND(x1, x2):
x = np.array([x1, x2])
w = np.array([0.5, 0.5])
b = -0.7
tmp = np.sum(w*x) + b
if tmp <= 0:
return 0
else:
return 1
—————————————————————
偏置的值决定了神经元被激活的容易程度。另外,这里我们将w1和w2称为权重,将b称为偏置,但是根据上下文,有时也会将b、w1、w2这些参数统称为权重。
1-4 感知机的局限性
异或门(仅当一个输入信号为1时,输出信号才为1)
——————————————————————
感知机的可视化:
当权重参数(b, w1, w2) = (−0.5, 1.0, 1.0)时,可满足“或门”的真值表条件。此时,感知机可用下面的式(2.3)表示。
那么,换成异或门的话会如何呢?能否像或门那样,用一条直线作出分割图2-7中的○和△的空间呢?
要想用一条直线,将○和△分开是做不到,因此引入了 下文的“线性和非线性”的概念。
由图2-8这样的曲线分割而成的空间称为非线性空间,由直线分割而成的空间称为线性空间。
1-5多层感知机
对于上述问题“如何表示异或门”,可以通过感知机的“叠加层”来表示。
以下是异或门的真值表:
S1的值是x1与x2的“非与门”,S2的值是x1与x2的“或门”,S1与S2进行“与门”操作得到Y的值,从整个过程来看,这种使用三种基本门路表示的“叠加门电路”实现了异或门。与此同时也可以,将此过程通过python来实现
def XOR(x1, x2):
s1 = NAND(x1, x2)
s2 = OR(x1, x2)
y = AND(s1, s2)
return y
————————————————————————
总结:
异或门是一种多层结构的神经网络。这里,将最左边的一列称为第0层,中间的一列称为第1层,最右边的一列称为第2层。与门、或门是单层感知机,而异或门是2层感知机。叠加了多层的感知机也称为多层感知机(multi-layered perceptron)。
————————————————————————
这可以解释为“单层感知机无法表示的东西,通过增加一层就可以解决”。也就是说,通过叠加层(加深
层),感知机能进行更加灵活的表示。
本章内容总结:
参考:
《深度学习入门:基于Python的理论与实现 》斋藤康毅