深度学习实践教程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 神经元与深度神经网络

计算机是如何模拟人的神经系统的?

人的神经系统非常复杂,其基本组成单位是神经元。成人的大脑中大约有1000亿个神经元。下面来看看人工智能中的神经网络是如何实现这种模拟,并且达到惊人效果的。

计算机模拟人的神经系统是从模拟神经元开始的。人的神经元包含树突、细胞核和轴突,如图1.9所示。树突接收上一个神经元的轴突释放的化学物质使该神经元产生电位差,形成电流,传递信息。每个神经元可以有一个或多个树突。而神经网络中的神经元模型包含输入、计算模块和输出三个部分。输入模拟人的神经元的树突,输出模拟人的神经元的轴突,计算模块模拟人的神经元的细胞核。

图1.9 人的神经元

图1.10给出了一个典型的神经元模型,包含两个输入、两个计算模块(求和与非线性函数)及一个输出。

图1.10 神经元模型

图1.10中,连接输入与计算模块的箭头称为“连接”。每个连接上有一个“权值”用来表示权重。连接是神经元中最重要的一部分,每个连接都表示值的加权传递。若使用a表示输入,w表示权值,则加权输出结果为a*w,如图1.11所示。

图1.11 连接

训练一个神经网络就是将权值调整到最佳,以使整个模型的效果最好。下面将图1.10所示的神经元模型用变量符号来表示,如图1.12所示。

图1.12 神经元模型(变量符号表示)

根据图1.12,可得输出Z的计算公式:

Z=sign(a1*w1+a2*w2)

sign(x)称为符号函数,在数学运算中,其功能是取某个数的符号。sign(x)的定义如下:

x>0时,sign(x)=1

x=0时,sign(x)=0

x<0时,sign(x)=-1

下面对图1.12进行一些变换。将sum函数与sign函数合并到一个圆圈里,代表神经元的内部计算。另外,一个神经元可以引出多个代表输出的有向箭头,但是值都是一样的,如图1.13所示。

图1.13 神经元模型变换

神经元模型可以视为一个计算与存储单元。计算是指神经元对其输入进行计算的功能;存储是指神经元能够暂存计算结果,并将其传递到下一层的功能。

当用神经元组成神经网络以后,描述神经网络中的某个神经元时,更多地会用“单元”(Unit)一词。同时由于神经网络的表现形式是一个有向图,因此有时也会用“节点”(Node)来表达。

若图1.12中的两个已知输入是属性a1a2,未知输出是属性Z,则属性Z可以通过公式计算出来。上述已知的属性称为特征,未知的属性称为目标。假设特征与目标之间是线性关系,并且已经得到表示这个关系的权值w1w2,那么就可以通过神经元模型预测新样本的目标。