Artificial Neural Network 简明教程
Learning and Adaptation
如前所述,人工神经网络完全受到生物神经系统(即人脑工作方式)的启发。人脑最令人印象深刻的特点是学习,因此人工神经网络也获取了相同的特征。
What Is Learning in ANN?
从本质上说,学习意味着根据环境的变化进行调整和适应。人工神经网络是一个复杂的系统,更准确地说,我们可以说它是一个复杂的适应系统,它可以根据通过它的信息来改变其内部结构。
Why Is It important?
作为一种复杂的适应系统,人工神经网络中的学习意味着处理单元能够由于环境的变化而改变其输入/输出行为。当构建特定网络时,人工神经网络中学习的重要性会增加,因为激活函数是固定的,并且输入/输出向量也是固定的。现在要改变输入/输出行为,我们需要调整权重。
Classification
可以将其定义为通过发现同一类别的样本之间的共同特征,对样本数据进行区分的学习过程。例如,要执行人工神经网络的训练,我们有一些具有唯一特征的训练样本,并且要执行其测试,我们有一些具有其他唯一特征的测试样本。分类是监督学习的一个示例。
Neural Network Learning Rules
我们知道,在人工神经网络学习期间,要改变输入/输出行为,我们需要调整权重。因此,需要使用一种方法,借助这种方法可以改变权重。这些方法称为学习规则,它们只是算法或方程。以下是一些神经网络的学习规则 -
Hebbian Learning Rule
这条规则是最古老、最简单的规则之一,是由唐纳德·赫布在 1949 年出版的《行为的组织》一书中提出的。它是一种前馈、无监督学习。
Basic Concept - 此规则基于赫布提出的建议,他写道-
"如果细胞 A 的轴突足够接近于激发细胞 B,并且反复或持续地参与激发细胞 B,那么在其中一个或两个细胞中就会发生某种生长过程或代谢变化,使得 A 作为激发 B 的细胞之一的效率会提高。"
从以上假设可以得出结论,如果神经元同时激发,那么两个神经元之间的连接可能会加强,如果它们在不同时间激发,那么可能会减弱。
Mathematical Formulation - 根据赫布学习规则,以下是用于在每个时间步长时增加连接权重的公式。
\Delta w_{ji}(t)\:=\:\alpha x_{i}(t).y_{j}(t)
这里,$\Delta w_{ji}(t)$ = 时间步长 t 时连接权重增加的增量
$\alpha$ = 正的常数学习率
$x_{i}(t)$ = 时间步长 t 时来自突触前神经元的输入值
$y_i(t)$= 同一时间步长的突触前神经元输出 t
Perceptron Learning Rule
此规则是 Rosenblatt 引入的具有线性激活函数的单层前馈网络监督学习算法的纠错。
Basic Concept − 由于其本质上是监督性的,因此,要计算误差,必须比较期望/目标输出与实际输出。如果发现有任何差异,则必须更改连接的权重。
Mathematical Formulation − 为了解释其数学公式,假设我们有 “n” 个有限输入向量 x(n) 及其期望/目标输出向量 t(n),其中 n = 1 至 N。
现在,可以基于净输入计算输出 “y”,如前文所述,表示为净输入上应用的激活函数,如下所示 −
y\:= f(y_{in})\:= \begin{cases}1, &y_{in}> \theta \\\0, &y_{in} \leqslant \theta\end{cases}
其中 θ 是阈值。
可以在以下两种情况下更新权重 −
Case I − 当 t ≠ y 时,
w(new)\:= w(old)+tx
Case II − 当 t = y 时,
不更改权重
Delta Learning Rule (Widrow-Hoff Rule)
由 Bernard Widrow 和 Marcian Hoff 引入,也称为最小均方 (LMS) 方法,以最大限度地减少所有训练模式上的误差。这是一种带有连续激活函数的监督学习算法。
Basic Concept − 此规则的基础是梯度下降法,该方法会一直持续下去。Delta 规则更新突触权重,以最大程度地减少输出单元的净输入和目标值。
Mathematical Formulation − 要更新突触权重,Delta 规则由以下内容给出
\Delta w_{i}\:= \alpha.x_{i}.e_{j}
其中 $\Delta w_{i}$ = 第 i 个模式的权重变化;
$\alpha$ = 正的常量学习率;
$x_{i}$ = 突触前神经元的输入值;
$e_{j}$ = $(t\:-\:y_{in})$,理想/目标输出与实际输出 $y_{in}$ 之间的差值
上述 delta 规则仅适用于单输出单元。
可以在以下两种情况下更新权重 −
Case-I − 当 t ≠ y 时,则
w(new)\:=\:w(old)\:+\:\Delta w
Case-II − 当 t = y 时,则
不更改权重
Competitive Learning Rule (Winner-takes-all)
它涉及无监督训练,其中输出节点试图彼此竞争以表示输入模式。要理解此学习规则,我们必须理解竞争网络,如下所示 −
Basic Concept of Competitive Network − 此网络就像一个带有输出之间反馈连接的单层前馈网络。输出之间的连接是抑制类型,用虚线表示,这意味着竞争者从不自我支持。
Basic Concept of Competitive Learning Rule − 如前所述,输出节点之间会存在竞争。因此,训练中的主要概念是,对于给定的输入模式,激活程度最高的输出单元将被宣布为获胜者。此规则也称为优胜者全得,因为只有获胜的神经元会更新,其余神经元保持不变。
Mathematical formulation − 以下是在这个学习规则中重要的三个数学表述因素 −
-
Condition to be a winner − 假设如果神经元 $y_{k}$ 想成为胜者,那么就会有以下条件 − y_{k}\:=\:\begin{cases}1 & 如果\:v_{k}\:>\:v_{j}\:对于\:所有\:j,\:j\:\neq\:k\\0 & 其他情况\end{cases}
这意味着如果某个神经元,比如说 $y_{k}$ ,想获胜,那么它的局部感应场(求和单元的输出),比如说 $v_{k}$,必须在网络中所有其他神经元中最大。
-
Condition of sum total of weight − 对竞争性学习规则的另一个约束是,特定输出神经元的权重之和将为 1。例如,如果我们考虑神经元 k ,那么 − \displaystyle\sum\limits_{j}w_{kj}\:=\:1\:\:\:\:\:\:\:\:\:对于\:所有\:k
-
Change of weight for winner − 如果神经元不对输入模式做出响应,那么神经元就不会学习。但是,如果特定神经元获胜,那么相应的权重将调整如下 \Delta w_{kj}\:=\:\begin{cases}-\alpha(x_{j}\:-\:w_{kj}), & 如果\:神经元\:k\:获胜\\0, & 如果\:神经元\:k\:失败\end{cases}
这里 $\alpha$ 是学习率。
这清楚地表明,我们通过调整权重来支持获胜的神经元,如果神经元失败,我们就不必费事重新调整其权重了。