文章目录
一. 神经网络基础概念
我们这里所说的神经网络指的是采用误差反向传播来进行学习的一种机器学习模型。从机器学习的角度来看,神经网络就是一个非线性模型,其基本组成单位为具有非线性激活函数的神经元,通过大量神经元之间的连接,使得神经网络成为一种高度非线性的模型。神经元之间的连接权重就是需要学习的参数,可以通过梯度下降方法来进行学习。
1. 网络结构
单一的神经元是远远不够的,需要通过很多神经元一起协作来完成复杂的功能。这样通过一定的连接方式或信息传递方式进行协作的神经元可以看作是一个网络,就是神经网络。
1.1 前馈网络
- 前馈网络中各个神经元按接受信息的先后分为不同的组。每一组可以看作一个神经层。每一层中的神经元接受前一层神经元的输出,并输出到下一层神经元。整个网络中的信息是朝一个方向传播,没有反向的信息传播,可以用一个有向无环路图表示。
- 前馈网络可以看作一个函数,通过简单非线性函数的多次复合,实现输入空间到输出空间的复杂映射。这种网络结构简单,易于实现。
1.2 反馈网络
- 反馈网络中神经元不但可以接收其它神经元的信号,也可以接收自己的反馈信号。和前馈网络相比,反馈网络中的神经元具有记忆功能,在不同的时刻具有不同的状态。反馈神经网络中的信息传播可以是单向或双向传递,因此可用一个有向循环图或无向图来表示。
- 反馈网络可以看作一个程序,具有更强的计算和记忆能力。
1.3 图网络
-
图网络是定义在图结构数据上的神经网络 。图中每个节点都一个或一组神经元构成。节点之间的连接可以是有向的,也可以是无向的。每个节点可以收到来自相邻节点或自身的信息。
三种不同网络模型的结构示例如下所示:
2. 前馈神经网络
-
在前馈神经网络中,各神经元分别属于不同的层。每一层的神经元可以接收前一层神经元的信号,并产生信号输出到下一层。第0层叫输入层,最后一层叫输出层,其它中间层叫做隐藏层。整个网络中无反馈,信号从输入层向输出层单向传播,可用一个有向无环图表示。
多层前馈神经网络的示例如下所示:
-
我们用下面的记号来描述一个前馈神经网络:
L:表示神经网络的层数;
• m ( l ) m^{(l)} m(l):表示第l 层神经元的个数;
• f l f_l fl(·):表示l 层神经元的激活函数;
• W(l) ∈ R m ( l ) × m l − 1 R^{m(l)×ml−1} Rm(l)×ml−1:表示l − 1层到第l 层的权重矩阵;
• b ( l ) b^{(l)} b(l) ∈ R m l R^{m^l} R