深度学习基础:从原理到实践——第一章感知机(下)
1.4感知机与简单逻辑电路的实现原理
下面让我们用简单的两输入感知机来实现简单的逻辑电路:与门(AND Gate)、与非门(NAND Gate)、或门(OR Gate)、异或门(XOR Gate)。
图 10两输入感知机模型
两输入感知机公式如下:
1.4.1感知机实现与门(AND Gate)
与门的逻辑规则:仅当两个输入均为 “真”(1)时,输出 “真”(1);否则输出 “假”(0),真值表如下:
图 12与门的真值表
下面考虑用感知机来表示上面的与门(AND Gate),需要设定w1, w2,b值,来满足上面与门(AND Gate)的真值表。
能够满足上面真值表的参数有无数个,比如w1, w2,b=1.0,1.0,-1.2,或者w1, w2,b=0.5,0.5,-0.9,都可以满足上面的真值表条件。
设定参数后,当且仅当x1, x2=(1,1)时,信号的加权和才会满足大于给定门限θ的条件。
1.4.2感知机实现与非门(NAND Gate)
与非门是 “与门的反运算”:仅当两个输入均为 “真”(1)时,输出 “假”(0);否则输出 “真”(1),真值表如下:
图 13与非门的真值表
下面考虑用感知机来表示上面的与非门(NAND Gate),需要设定w1, w2,b值,来满足上面与非门(NAND Gate)的真值表。
能够满足上面真值表的参数有无数个,比如w1, w2,b=-1.0,-1.0,1.2,或者w1,w2,b=-0.5,-0.5,0.9,都可以满足上面的真值表条件(只要把实现与门的参数值取负号,即可实现与非门)。
1.4.3感知机实现或门(OR Gate)
或门的逻辑规则:只要有一个输入为 “真”(1),输出 “真”(1);仅当两个输入均为 “假”(0)时,输出 “假”(0),真值表如下:
图 14或门的真值表
下面考虑用感知机来表示上面的或门(OR Gate),需要设定w1, w2,b值,来满足上面或门(OR Gate)的真值表。
能够满足上面真值表的参数有无数个,比如w1, w2,b=1.0,1.0,-0.6,或者w1, w2,θ=0.5,0.5,-0.3,都可以满足上面的真值表条件(只要把实现与门的参数值取负号,即可实现与非门)。
1.4.4感知机实现异或门(XOR Gate)
异或门的逻辑规则:两个输入不同时输出 “真”(1),输入相同时输出 “假”(0),真值表如下:
图 15异或门的真值表
1.4.4.1单层感知机的局限性
感知机实现逻辑门的本质是 “用直线(二维)/ 超平面(高维)分割输入空间”。
图 16单层感知机实现线性分割
上图中,由直线分割而成的空间称为线性空间。
而为异或门情况时,直线无法分开这种情况,只有曲线可以:
图 17多层感知机实现非线性分割
上图中,由曲线分割而成的空间,称为非线性空间。
1.4.4.2多层感知机
感知机的结构可以分为单层感知机和多层感知机。单层感知机只包含输入层和输出层,输入层接收原始特征数据,输出层直接产生分类结果多层感知机则在输入层和输出层之间增加了一个或多个隐藏层,能够处理更复杂的非线性问题。
单层感知机无法实现异或门,直接导致了人工智能研究的第一次“寒冬”。单层感知机无法表示异或门,而多层感知机可以实现,感知机的绝妙之处在于它可以“叠加层”。
通过组合前三个逻辑电路(与门、与非门、或门)即可实现异或门。
图 18通过组合与门、与非门、或门实现异或门
下面采用多层感知机的表示方法,来实现异或门。
图 19异或门的多层感知机网络
上图中的异或门是一种多层感知机(multi-layered perceptron),其中最左边的称为第0层,中间的称为第1层,最右边的称为第2层。
异或门的多层感知机真值表如下。
图 20异或门的多层感知机真值表
通过上图的两层感知机结构,可实现单层感知机无法实现的异或门。
1.5小结
感知机作为第一个可以学习的人工神经网络,其核心贡献在于建立了从生物神经元到数学模型的桥梁。通过权重向量和偏置参数,感知机实现了对生物神经元信息处理机制的数学抽象。感知机的数学模型 f (x) = sign (w・x + b) 简洁而优雅,清晰地表达了线性分类的本质。
感知机在处理线性可分数据时表现出色,在逻辑门实现、简单模式识别等任务中达到了理想的效果。然而,异或问题的挑战揭示了感知机无法处理非线性可分数据的根本局限。这一发现虽然导致了人工神经网络发展的低潮,但也推动了对多层神经网络和非线性模型的研究。
感知机的历史意义远超其技术本身。作为机器学习的基石,感知机引入的许多概念和方法至今仍在使用。其简单性和明确性使其成为理解神经网络的最佳起点,对机器学习教育具有不可替代的价值。