受到人脑神经系统的启发,早期的神经科学家构造了一种模仿人脑神经系统的数学模型,称为 人工神经网络,简称 神经网络. 在机器学习领域,神经网络是指由很多人工神经元构成的网络结构模型,这些人工神经元之间的连接强度是可学习的参数.
生物神经元
人类大脑是人体最复杂的器官,由神经元、神经胶质细胞、神经干细胞和血管组成. 其中,神经(Neuron),也叫神经细胞(Nerve Cell),是携带和传输信息的细胞,是人脑神经系统中最基本的单元. 典型的神经元结构大致可分为细胞体和细胞突起.
(1) 细胞体(Soma) 中的神经细胞膜上有各种受体和离子通道,胞膜的受体可与相应的化学物质神经递质结合,引起离子通透性及膜内外电位差发生改变,产生相应的生理活动:兴奋或抑制.
(2) 细胞突起是由细胞体延伸出来的细长部分,又可分为树突和轴突:
(a) 树突(Dendrite) 可以接收刺激并将兴奋传入细胞体. 每个神经元可以有一或多个树突.
(b) 轴突(Axon) 可以把自身的兴奋状态从胞体传送到另一个神经元或其他组织. 每个神经元只有一个轴突.
神经元可以接收其他神经元的信息,也可以发送信息给其他神经元. 神经元之间靠突触(Synapse) 进行互联来传递信息,形成一个神经网络,即神经系统. 突触可以理解为神经元之间的链接“接口”,将一个神经元的兴奋状态传到另一个神经元. 一个神经元可被视为一种只有两种状态的细胞:兴奋和抑制. 神经元的状态取决于从其它的神经细胞收到的输入信号量,及突触的强度(抑制或加强). 当信号量总和超过了某个阈值时,细胞体就会兴奋,产生电脉冲. 电脉冲沿着轴突并通过突触传递到其他神经元.下图便是典型的神经元结构.
人工神经元
我们把生物神经元(Neuron)的模型抽象为下图(a)所示的数学结构:
神经元接收输入向量
x
x
x,经过函数映射:
f
θ
:
x
→
y
f_\theta: x \rightarrow y
fθ:x→y后得到输出
y
y
y,其中
θ
\theta
θ为函数𝑓自身的参数。考虑一种简化的情况,即线性变换:
f
(
x
)
=
w
T
x
+
b
f(x)=w^Tx+b
f(x)=wTx+b,展开为标量形式:
f
(
x
)
=
w
1
x
1
+
w
2
x
2
+
⋯
+
w
n
x
n
+
b
f(x)=w_1x_1+w_2x_2+\cdots+w_nx_n+b
f(x)=w1x1+w2x2+⋯+wnxn+b
假设用净输入
z
∈
R
z \in R
z∈R表示神经元所获得的输入信号
x
x
x的加权和:
z
=
w
T
x
+
b
=
w
1
x
1
+
w
2
x
2
+
⋯
+
w
n
x
n
+
b
z=w^Tx+b=w_1x_1+w_2x_2+\cdots+w_nx_n+b
z=wTx+b=w1x1+w2x2+⋯+wnxn+b
净输入
z
z
z在经过一个非线性函数
f
(
⋅
)
f(\cdot)
f(⋅)后,得到神经元的 活性值(Activation)
a
a
a :
a
=
f
(
z
)
a = f(z)
a=f(z)
其中非线性函数
f
(
⋅
)
f(\cdot)
f(⋅)称为 激活函数(Activation Function)。
人工神经网络
一个生物神经细胞的功能比较简单,而人工神经元只是生物神经细胞的理想化和简单实现,功能更加简单。要想模拟人脑的能力,单一的神经元是远远不够的,需要通过很多神经元一起协作来完成复杂的功能。这样通过一定的连接方式或信息传递方式进行协作的神经元可以看作是一个网络,就是人工神经网络,也称神经网络。它是一种从结构、实现机理和功能上模拟人脑神经网络而设计的计算模型。
人工神经网络与生物神经元类似,由多个人工神经元(节点) 互相连接而成,可以用来对数据之间的复杂关系进行建模。不同人工神经元之间的连接被赋予了不同的权重,每个权重代表了一个人工神经元对另一个人工神经元的影响大小。每个人工神经元代表一种特定函数,来自其他人工神经元的信息经过其相应的权重综合计算,输入到一个激活函数中并得到一个新的活性值(兴奋或抑制)。 从系统观点看,人工神经元网络是由大量神经元通过极其丰富和完善的连接而构成的自适应非线性动态系统。
如下图所示,由多个神经元构成基础神经网络:
(a) 包含一个输入层,一个隐层,一个输出层
(b) 包含一个输入层,两个隐层,一个输出层
人工神经网络结构
前馈网络
前馈网络中各个神经元按接收信息的先后分为不同的组。每一组可以看作一个神经层。每一层中的神经元接收前一层神经元的输出,并输出到下一层神经元。整个网络中的信息是朝一个方向传播,没有反向的信息传播,可以用一个有向无环路图表示. 前馈网络包括全连接前馈网络和卷积神经网络等。
前馈网络可以看作一个函数,通过简单非线性函数的多次复合,实现输入空间到输出空间的复杂映射。这种网络结构简单,易于实现。
记忆网络
记忆网络,也称为反馈网络,网络中的神经元不但可以接收其他神经元的信息,也可以接收自己的历史信息。和前馈网络相比,记忆网络中的神经元具有记忆功能,在不同的时刻具有不同的状态。记忆神经网络中的信息传播可以是单向或双向传递,因此可用一个有向循环图或无向图来表示。记忆网络包括循环神经网络、
H
o
p
f
i
e
l
d
Hopfield
Hopfield网络、玻尔兹曼机、受限玻尔兹曼机等。
记忆网络可以看作一个程序,具有更强的计算和记忆能力。
图网络
前馈网络和记忆网络的输入都可以表示为向量或向量序列。但实际应用中很多数据是图结构的数据,比如知识图谱、社交网络、分子(Molecular )网络等。前馈网络和记忆网络很难处理图结构的数据。
图网络是定义在图结构数据上的神经网络。图中每个节点都由一个或一组神经元构成。节点之间的连接可以是有向的,也可以是无向的。每个节点可以收到来自相邻节点或自身的信息。
图网络是前馈网络和记忆网络的泛化,包含很多不同的实现方式,比如图卷积网络(Graph Convolutional Network,GCN)、图注意力网络(Graph Attention Network,GAT)、消息传递神经网络(Message Passing Neural Network,MPNN) 等。
参考:
[1] 邱锡鹏.神经网络与深度学习[D].
[2] 周志华.机器学习[D].
[3] TensorFlow深度学习