zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

(《机器学习》完整版系列)第5章 神经网络——5.2 RBF网络(单层RBF就可解决异或问题)与ART网络(实现“自适应谐振”)

机器网络学习神经网络 实现 解决 系列 适应
2023-09-11 14:14:53 时间

单层RBF神经网络就可解决异或问题。
ART网络已发展出一个了一个算法族,需要理解它是如何实现“自适应谐振”的。

RBF网络

径向基函数网络RBF如图5.3所示,此图为缩略图,即一个圆圈代表一组圆圈。
图5.3 RBF网络

图5.3 RBF网络

分为两部分:左边的虚线框确定神经元中心 c \boldsymbol{c} c,可用聚类算法找出各类的中心作为神经元中心,右边虚线框为一个前馈神经网。 下面我们将右边虚线框展开成图5.4(此时 c \boldsymbol{c} c为已确定,视为常数):
在这里插入图片描述

图5.4 RBF网络的BP部分

显然,图5.4是一个类BP网络,其特点是使用径向基函数 ρ \rho ρ作为隐层神经元的激活函数。 当然不是套用前述BP网络更新公式,而是依其思路导出自己的更新公式。

RBF网络的输出是一个实数值,用于回归预测任务,而BP网络的输出是一个向量,用于分类任务。

我们构造一个单层RBF神经网络解决异或问题,异或问题的训练集即为异或真值表5.1。

作单层RBF神经网络,如图5.5所示。
图5.5 单层RBF神经网络

图5.5 单层RBF神经网络

隐层四个点的坐标即为图5.5中的四个点,即 C i j = ( i , j ) ,   i , j ∈ { 0 , 1 } \mathbf{C}_{ij}=(i,j),\,i,j \in \{0,1\} Cij=(i,j),i,j{0,1},由【西瓜书式(5.19)】有
ρ ( x , C i j ) = e − β ∥ x − C i j ∥ 2 = { 1   , ( x = C i j ) e − β  或  e − 2 β   , ( x ≠ C i j ) \begin{align} \rho (\boldsymbol{x},\mathbf{C}_{ij}) & =\mathrm{e}^{-\beta {\Vert\boldsymbol{x}-\mathbf{C}_{ij} \Vert}^2 }\notag \\ & = \begin{cases} 1\, , & \qquad (\boldsymbol{x}=\mathbf{C}_{ij}) \\ \mathrm{e}^{-\beta}\ \text{或}\ \mathrm{e}^{-{2}\beta }\, , & \qquad (\boldsymbol{x}\neq \mathbf{C}_{ij}) \end{cases} \tag{5.10} \end{align} ρ(x,Cij)=eβxCij2={1,eβ  e2β,(x=Cij)(x=Cij)(5.10)
其中,参数 β \beta β采取共享方式。 若以式(5.10)的值表示亮度,则取足够大的 β \beta β,使得 e − β < 1 2 \mathrm{e}^{-\beta}< \frac{1}{2} eβ<21,表示“灯暗”。

再设隐层两白圈至输出结点的权重为1,两灰圈至输出结点的权重为0,则由【西瓜书式(5.18)】,该RBF的输出为
φ ( x ) = { 1 + e − 2 β   , ( 白灯亮时 ) 2 e − β   , ( 灰灯亮时 ) \begin{align} \varphi (\boldsymbol{x}) = \begin{cases} 1+\mathrm{e}^{-{2} \beta}\, , & \qquad (\text{白灯亮时}) \\ 2\mathrm{e}^{-\beta}\, , & \qquad (\text{灰灯亮时}) \end{cases} \tag{5.11} \end{align} φ(x)={1+e2β,2eβ,(白灯亮时)(灰灯亮时)(5.11)

再增加一阶跃函数【西瓜书图5.2(a)】变换,即 y = s g n ( φ ( x ) − 1 ) y=\mathrm{sgn}(\varphi (\boldsymbol{x})-1) y=sgn(φ(x)1)
则该网络实现了异或运算。

ART网络

ART网络已发展出一个了一个算法族,【西瓜书】对ART进行了简介,这里结合图5.6作进一步说明,以便理解如何实现“自适应谐振”的。
图5.6 ART网络(简化)

图5.6 ART网络(简化)

如图5.6所示是ART网络的简单情况,组成如下:

  • 左则为网络部分,由两层神经元构成两个子系统:比较层 C C C和识别层 R R R
  • 右则为控制部分:由阈值 ρ \rho ρ 、重置Reset和逻辑控制信号组成,其中,两个逻辑控制信号 G 1 G_1 G1 G 2 G_2 G2,分别制控两个子系统;
  • 输入层结点(向量 x \boldsymbol{x} x的分量)与比较层 C C C的神经元是一一对应的。 输入层输入的向量 x \boldsymbol{x} x称为模式(因为ART网络初期用于模式识别,故有此名),最简单的模式为黑白图像,对应的向量就是二值向量,即分量为0或1;
  • 比较层 C C C和识别层 R R R之间,为有向全连接,前向连接权重矩阵为 W \mathbf{W} W,图示的 w \boldsymbol{w} w代表从 C C C的一个神经元出发射向R所有神经元的一组射线的权重向量,后向连接权重矩阵为 T \boldsymbol{T} T,图示的 t \boldsymbol{t} t代表从 R R R的一个神经元出发射向 C C C所有神经元的一组射线的权重向量。

ART网络的功能分解:

(1)识别层 R R R的记忆功能: R R R层的每个神经元充当聚类(聚类概念请参考第9章)的一个簇中心, K K K个神经元代表 K K K个簇(类),设第 k k k个神经元为 r k r_k rk,如何使它代表第 k k k簇(类)呢?方法就是让这个神经元把第 k k k簇(类)中心点的向量(坐标)存起来,这里,不光是存起来,还将其作为后向连接的权重向量 t \boldsymbol{t} t,如图5.7所示。
图5.7中可以看出权重向量 t \boldsymbol{t} t是从 r k r_k rk出发的向量,故后向连接的权重向量 t \boldsymbol{t} t称为外星权重向量,相应地,前向连接的权重向量 w \boldsymbol{w} w称为内星权重向量。
图5.7 识别层R神经元的记忆

图5.7 识别层R神经元的记忆

(2)识别层 R R R的识别功能: R R R层可以用一个前馈神经网络来实现,即对一个输入模式 x \boldsymbol{x} x,该层通过竞争产生一个响应结点 r k r_k rk,说明输入模式 x \boldsymbol{x} x“疑似”属于结点 r k r_k rk,再交由比较层决策。

(3)识别层 R R R的学新功能:当输入模式 x \boldsymbol{x} x不能归入R的任一簇(类)中时,该层产生一个新结点,作为一个新的簇(类)。 通过这种方法 R R R层“不忘旧知识,学习新知识”。

(4)比较层 C C C的比较功能:针对上述“疑似”情况,计算 x \boldsymbol{x} x与结点 r k r_k rk(后向连接权重向量 t \boldsymbol{t} t)的相似度,当相似度超过阈值 ρ \rho ρ时,认为该输入模式 x \boldsymbol{x} x属于结点 r k r_k rk

(5)优化功能:当比较层 C C C认为输入模式 x \boldsymbol{x} x属于结点 r k r_k rk时,调整该结点 r k r_k rk的前向连接权重向量 w \boldsymbol{w} w和后向连接权重向量 t \boldsymbol{t} t,使该输入模式 x \boldsymbol{x} x和该结点 r k r_k rk间更适配,即 x \boldsymbol{x} x更易激活该结点 r k r_k rk,并获得更高的相似度,其几何解释为:簇(类) r k r_k rk由于 x \boldsymbol{x} x的加入,其重心会向 x \boldsymbol{x} x稍作偏移。 两组权重同时调整,故为“谐振”。

(6)控制功能:逻辑控制信号 G 1 G_1 G1控制网络的运行阶段,当 G 1 = 1 G_1=1 G1=1指示比较层让道,让输入模式 x \boldsymbol{x} x直接通过,以便实现上述(1),当(1)完成后,调整 G 1 = 0 G_1=0 G1=0完成网络的后续功能。 下一次输入前再设 G 1 = 1 G_1=1 G1=1。 信号 G 2 = 0 G_2=0 G2=0针对识别层控制:当输入 x = 0 \boldsymbol{x}=0 x=0时,它与任意向量 w \boldsymbol{w} w的内积都为0,产生不了竞争胜出结点,这种特殊情况由信号 G 2 = 0 G_2=0 G2=0指定某结点胜出。

有了上述功能分解,就可以得到ART网络的运行流程,原理如下(略去表达式):

(1)网络初始化:主要是初始化识别层各结点的前向连接权重向量 w \boldsymbol{w} w和后向连接权重向量 t \boldsymbol{t} t,以及阈值 ρ \rho ρ及逻辑控制信号 G 1 G_1 G1 G 2 G_2 G2

(2)输入新 x \boldsymbol{x} x:此时 G 1 = 1 G_1=1 G1=1,故模式 x \boldsymbol{x} x直接穿过比较层 C C C,经 W \mathbf{W} W到达识别层 R R R

(3) 产生响应结点 r k r_k rk:即上述识别层 R R R的识别功能,并置 G 1 = 0 G_1=0 G1=0

(4)比较:即上述比较层 C C C的比较功能,当认为该输入模式 x \boldsymbol{x} x属于结点 r k r_k rk,转入(7),否则:

(5)重置Reset:取消对 x \boldsymbol{x} x的识别结果,恢复 G 1 = 1 G_1=1 G1=1,返回(2)进行重新识别,此时,将上轮的“疑似”结点排除在识别范围之外,重新识别的结果实际上是上轮的第2名结点(“次疑似”结点)胜出,若存在该胜出结点,则转入(7),否则:

(6) R R R增加新结点:当(5)的识别范围为空时转入此步,实现上述识别层 R R R的学新功能;

(7)优化网络:上述优化功能起作用;

(8)至此,已完成了一个样本 x \boldsymbol{x} x的学习,以此为基础可以输入下一个模式 x \boldsymbol{x} x:置 G 1 = 0 G_1=0 G1=0,返回(2)学习新样本,此循环可以不断地学习。

本文为原创,您可以:

  • 点赞(支持博主)
  • 收藏(待以后看)
  • 转发(他考研或学习,正需要)
  • 评论(或讨论)
  • 引用(支持原创)
  • 不侵权

上一篇:5.1 误差逆传播算法(BP算法)
下一篇:5.3 SOW网络(“灯阵”面板)、Elman网络(将训练集转化时序数据)、Boltzmann机(达到Boltzmann分布)