赵工的个人空间


专业技术部分转网页计算转业余爱好部分


 图像处理与人工智能

首页 > 专业技术 > 图像处理与人工智能 > 反馈型神经网络
反馈型神经网络

反馈型神经网络,也称为递归网络或回归网络,其输入包含有延迟的输入或者输出数据的反馈。这种系统的学习过程就是它的神经元状态的变化过程,最终会达到一个神经元状态不变的稳定态,也标志着学习过程结束。反馈网络的反馈形式多样化,有输入延迟的、单层输出反馈的、神经元自反馈的、两层之间互相反馈的等。
反馈网络包括输入延迟和输出反馈两种类型,其他网络称为静态网络。静态网络的响应所持续的时间和输入序列一样,即静态网络在任意时间点的响应只依赖于同一时间点的输入;反馈网络的响应在时间上延迟得比输入序列要长,因为反馈网络在任意时刻的响应不仅依赖于当前的输入,也依赖于以前的输入,所以是有记忆效应的;输入中包括输出反馈的网络,即层反馈的网络,具有更长的输出响应,因为在时间上输出总是要晚于输入。

1. Elman神经网络:

Elman神经网络是Elman于1990年提出的,该模型在前向网络的隐含层中增加一个承接层,作为一步延时算子,以达到记忆的目的,从而使系统具有适应时变特性的能力,能直接反映动态过程系统的特性。
Elman型回归神经元网络一般分为4层,输入层、中间层(隐含层)、承接层、输出层,其输入层、隐含层和输出层的连接类似于前向网络,输入层的单元仅起信号传输作用,输出层单元起线性加权作用。隐含层单元的传递函数可采用线性或非线性函数,承接层又称为上下文层或状态层,它用来记忆隐含层单元前一时刻的输出值并返回给输入,可以认为是一个一步延时算子。
Elman型回归神经元网络的特点是隐含层的输出通过承接层的延迟与存储,自联到隐含层的输入,这种自联方式使其对历史状态的数据具有敏感性,内部反馈网络的加入增加了网络本身处理动态信息的能力,从而达到了动态建模的目的。
1)Elman神经网络的学习过程:
Elman网络的非线性状态空间表达式为:
反馈型神经网络    反馈型神经网络   Elman神经网络
其中,y、x、u、xc分别表示m维输出结点向量、n维中间层结点单元向量、r维输入向量和n维反馈状态向量;w3、w2、w1分别表示中间层到输出层、输入层到中间层、承接层到中间层的连接权值;g()为输出神经元的传递函数,是中间层输出的线性组合;f()为中间层神经元的传递函数,常采用S函数。
Elman网络也采用BP算法进行权值修正,学习指标函数采用误差平方和函数:
Elman神经网络
其中,Elman神经网络为目标输出向量。
Elman神经网络是典型的动态神经元网络,是在BP网络基本机构基础上,通过存储内部状态使其具备映射动态特征的功能,从而使系统具有适应时变特性的能力。从理论上讲,Elman网络中间层的神经元数目是任意选定的,随着问题复杂性不断提高,需要在中间层增加更多的神经元以使得网络的精度和速度都非常高。

2. Hopfield神经网络:

Hopfield网络是由每个物理学家J.J Hopfield于1982年首先提出。Hopfield是一种全连接型的神经网络,模拟生物神经网络的记忆机理。离散型Hopfield网络结构比较简单,在实际工程中应用广泛。
Hopfield是一种单层反馈型非线性网络,每一个结点的输出均反馈到其他结点的输入,整个网络不存在自反馈。J.J Hopfield利用模拟电路实现了对网络结点的描述。假设网络共有n个神经元组成:
Hopfield神经网络      Hopfield神经网络
其中:
Hopfield神经网络  Hopfield神经网络  Hopfield神经网络  Hopfield神经网络  Hopfield神经网络  Hopfield神经网络  Hopfield神经网络
传递函数f(x)为S函数。
Hopfield神经网络 
Ri和Ci的并联模拟了生物神经元的时间常数,wij模拟了神经元间的突触特性,即权值,运算放大器模拟了神经元的非线性特性,偏置电流Ij相当于阈值。
Hopfield网络是渐进稳定的,随着时间的推移,网络状态向能量减小的方向移动,稳定平衡状态就是能量的极小点。因此,如果网络的初始状态在稳定平衡状态,则其状态不变;否则,网络需要运动到稳定平衡状态。
1)Hopfield网络的学习过程:
网络的学习过程,实际上就是权值调整的过程。Hopfield网络常用的学习算法是Hebb学习规则,权值调整规则为:若第i个和第j个神经元同时处于兴奋状态,那么它们之间的连接应该增强,权值增大。
Hopfield神经网络
假设要求网络有p个正交稳态:
Hopfield神经网络
则:
Hopfield神经网络
若增加新的稳态,则:
Hopfield神经网络
2)Hopfield网络的使用:
由于网络可以收敛于稳定状态,因此可以用于联想记忆。若将稳态视为一个记忆,则由初始状态向稳态收敛的过程就是寻找记忆的过程,初态可认为是给定的部分信息,收敛过程可认为是从部分信息找到了全部信息,则实现了联想记忆功能。联想记忆的一个重要特性是由噪声输入模式反映出训练模式。
若将稳态视为某一优化问题目标函数的极小点,则由初态向稳态收敛的过程就是优化计算过程。
网络渐进稳定的前提是wij=wji。
Hopfield网络多用于在控制系统的设计中求解约束优化问题,另外在系统辨识中也有应用。
字符识别是计算机模式识别的一个重要方面,目前有多种方法用于字符识别,主要分为神经网络识别、概率统计识别和模糊识别等。目前,对印刷体的字符识别技术已经比较成熟了,而手写体字符的识别是字符识别领域最有挑战性的课题。

3. CG网络模型:

CG网络模型是由Cohen和Grossberg提出的,是Hopfield神经网络的一种推广形式。CG网络神经元的状态不再是二值的,而是根据一组常微分方程连续地变化。CG网络主要用于联想记忆,信息存在于系统的局部最小值上。
CG模式可用常微分方程进行描述:
CG网络模型
其中,n为大于或等于2的数,表示网络中的神经元数目;xi表示第i个神经元对应的状态;由tij构成的nxn维矩阵T为连接权值矩阵,描述了各神经元之间的耦合程度;sj为激励函数。
公式有全局收敛性,也就是,如果权矩阵T是对称的,在任何给定的初始条件下,上式总能收敛于系统的某一个等价形式。
CG网络的稳定性:ai为正调函数,即ai≥0;bi为单调递增函数,即bi'≥0;且tij=tji;则网络稳定。
CG网络在结构分析中的应用比较广泛,比如可用于有限元分析。使用前需要对有限元预处理,对有限元网络划分,建立刚度矩阵和结点载荷矩阵等,选择合适的参数,组织神经网络求解动力学方程。求解神经网络动力学方程,关键问题是得到方程的稳态解,一般采用数值方法来模拟整个动力学过程,常用的数值方法有最速下降法、共轭梯度法和龙格-库塔法等。

4. 盒中脑模型:

盒中脑(BSB:Brain-State-in-a-Box)神经网络模型首先是由Anderson等人于1977年提出,Golden等人对该模型进行了深入研究。BSB模型是一种结点之间存在横向连接和结点自反馈的单层网络,可用做自联想最邻近分类器,并可存储任何模拟向量模式。
BSB网络模型可用如下方程描述:X(k+1)=g(X(k)+αWX(k))  k=0,1,2,...
初始条件为X(0)=X0,X(k)表示k时刻的状态向量,参数α是一正值,用于控制层内反馈的大小;W为对称的权矩阵,传递函数g的第i个坐标通常形式为:
BSB模型
随着时间的推移,每个状态xi逐渐趋近于±1。实际上,当系统达到某个平衡态后,状态进入由(±1,±1,...,±1)构成的盒子的某一角。

5. 双向联想记忆网络:

双向联想记忆BAM(Bidirectional Associative Memory)网络是由Kosko最早提出来,是一种可以记忆模式对的两层非线性反馈神经网络,采用前向和反向双向联想,从一个输入对(A,B)回忆另一个相关的双极性向量对(Ak,Bk),所以称为双向联想存储器。BAM神经网络在智能系统中有着比较广泛应用。
BAM网络可以存储两组向量:n维向量A和p维向量B
双向联想
双向联想记忆网络
以上两组向量构成一组向量对(As,Bs),s=0,1,2,...,M-1,共有M对样本向量。将它们提供给BAM网络即可进行由A到B或由B到A的双向联想。如果有噪声或缺损时,联想功能可使样本对复原。
BAM网络有很多种结构形式,Kosko型BAM网络是其中最基本的一种,其中与向量A对应的一层有n个结点,另一层对应着向量B,由p个结点组成;两层之间双向连接。假定由B到A的传输方向为正向,则由A到B的传输方向为反向,正向的权值矩阵为W,反向权值矩阵为WT。
如果输入向量由上层加入,且对应于网络中B的稳定状态,则经过权值矩阵W的作用产生A稳定状态;若输入矢量由下层加入,且对应于A的稳定状态,则经过反权值矩阵WT的作用产生B稳定状态。
对于BAM网络,若输入为任意向量,网络状态转换过程为:
双向联想记忆网络     双向联想记忆网络     双向联想记忆网络
直到A和B均达到稳定状态,转换过程就结束。
BAM网络按照Hebb规则进行学习,在给定双极性向量对(As,Bs)的前提下,权值矩阵和反权值矩阵的表达式为:
双向联想记忆网络        双向联想记忆网络
网络经过一定的变换过程之后,网络将会进入某一稳定状态。
利用神经网络实现联想功能,一般有两种形式,即自联想和异联想(双向联想)。Hopfield属于自联想模式,而BAM网络属于双向联想模式,其特点是会收敛于吸引子,使它可以用作联想记忆存储器,即合理选择权系数,使网络的稳态为一组状态X。稳态应该为X与初态在Hamming距离上最近的状态。

6. 回归BP网络:

误差反向传播BP算法是前向网络学习算法中应用最为广泛的一种,一些研究者尝试将BP算法中采用的梯度下降法推广到回归网络中,由此产生回归BP(Recurrent)网络。
回归BP网络同时具有反馈和前向机制,这就意味着在网络的一个训练周期中,网络的输出同时反馈给网络的输入数据位作为网络的外部输入。
典型的3层回归BP网络中,输入层有一个n维的输入向量和阈值结点,该结点的值是固定的,这个值的存在保证了网络的收敛特性;中间层有m个神经元和一个阈值结点;相邻两层的所有神经元采用全连接的方式连接。输入层的神经元输入/输出关系表示为:
回归BP网络        回归BP网络        回归BP网络
其中,F表示输入层,输入神经元和隐含层神经元之间实现加权连接,即如果信号从第i个神经元传递到第j个神经元,则信号需要乘上两个神经元之间的连接权值wij。令Oi表示第i个神经元的输出,第j个神经元的输入则为OiWij。对第j个神经元的输入进行求和,得:
回归BP网络
式中,θj为阈值项,H表示中间层。这种加法操作是通过中间层的处理器实现的,实现加法的过程就是激发神经元的过程。由于神经元的权值和输入可以取正值,也可以取负值,因此对神经元的激发有可能产生正值、负值和零值中的任意数据。中间层的激发函数为:
回归BP网络
对于输出层Y,它的第k个神经元接收了中间层第j个神经元的输出信号,经过加权后作为自己的输入信号,可以得到与上面类似的结论。
回归BP网络
回归BP网络
回归BP网络的传递函数为:
回归BP网络
这是一种非常典型的函数,连续可导的,输出也是连续的并且位于区间[0,1]中,β为函数斜率。

7. Boltzmann机网络:

Hinton等人在1985年将模拟退火算法引入到神经网络中,提出了Boltzmann机网络,简称BM网络。BM网络结构与离散Hopfield网络结构相似,由N个神经元组成,每个神经元取0-1二值输出,且神经元之间以对称连接权相互连接。BM网络通常将整个神经元分为可视层和隐含层两大部分,可视层又可分为输入部分好输出部分,但没有明显的层次界限,且神经元之间不是单向连接而是双向连接的。
BM网络的算法根据其用途可以分为工作规则和学习规则,工作规则也就是网络的状态更新规则,主要用于优化组合问题;学习规则就是连接权值和输出阈值的修正规则,主要用于将网络作为一个外界概率分布的模拟机的场合。这是BM网络的一个独特的方面。
1)工作规则:
BM网络的工作规则就是模拟退火算法的具体体现。假定网络有N个神经元,各神经元之间的连接权值为wij,各神经元的输出阈值为θi,输出为ui,神经元i的内部状态为Hi,网络温度T0,i和j=1,2,...,N。为wij和θi赋予区间[-1,1]之间的随机值,令wij=wji。步骤为:
⑴从N个神经元中随机选取一个神经元i
⑵按照下式求出神经元i的输入总和,即内部状态Hi:
Boltzmann机网络
⑶按照下式得到的概率将神经元状态更新为1:
Boltzmann机网络
⑷i以外的神经元的输出状态保持不变:
Boltzmann机网络
⑸令t=t+1,按照下式计算新的温度参数:
Boltzmann机网络
⑹返回步骤⑴,直到温度参数T小于预先设定的截止温度Td。
在步骤⑶中更新网络状态,一般有两种方法:
(i)当Hi(t)>0时,直接令ui(t+1)=1;当Hi(t)<0时,产生一个位于区间[0,0.5]内的随机数ε(t);当P[ui(t+1)=1]>ε时,令ui(t+1)=1,否则令ui(t+1)=ui(t)。
(ii)当Hi(t)>0时,直接令ui(t+1)=1;当Hi(t)<0时,当P[ui(t+1)=1]大于预先设定的概率值ε(ε<0.5)时,令ui(t+1)=1;否则令ui(t+1)=ui(t)。
此外,初始温度T0和结束温度Te一般凭经验给出。
2)自联想学习规则:
BM网络除了可以解决优化组合问题外,还可以通过网络训练模拟外界给出的概率分布,实现概率意义下的联想记忆。联想记忆分为自联想记忆和互联想记忆两项模式。当把一组记忆模式及其概率分布函数提供给BM网络的可视层后,网络按照一定的学习规则进行学习,学习结束后,当网络状态按照工作规则进行不断转移时,网络的各个状态按照记忆的学习模式的概率分布出现,即概率大的状态出现的频率高,概率小的状态出现的频率低。这种概率意义下的联想记忆就称为自联想记忆。
如果将某个记忆模式提供给网络的输入部分,同时在输出部分按照给定的概率分布给出一组目标输出模式。此时给出的概率分布函数实际上是输出模式相对于输入模式的条件概率分布。BM网络正是通过记忆这种条件概率分布函数来完成互联想记忆的。
无论自联想记忆还是互联想记忆,其实质都是通过学习目标概率分布函数,将其记忆并在以后的回想过程中将这一概率分布再现出来。下面是自联想学习规则。
假设网络共有N个神经元,其中可视层有n个神经元,隐含层有m=N-n个神经元;可视层有p=pow(2,n)个状态,隐含层有q=pow(2,m)个状态,整个网络则有M=pow(2,N)个状态。各层的状态可表示为:可视层状态Ua=(u1,u2,...,un),隐含层状态Ub=(u1,u2,...,um),其中a=1,2,...,p,b=1,2,...,q。整个网络的状态的概率分布函数为Q(Ua,Ub),网络的连接权值和输出阈值分别为wij和θj,i和j=1,2,...,N,网络在第k个状态时的能量为Ek(Ua,Ub)。学习过程为:
⑴初始化,将连接权wij赋予区间[-1,1]之间的随机值并令θj=0
⑵按给定的外界概率(目标概率分布)P(Ua)将网络可视层的各神经元固定在某一个状态Ua
⑶从温度T0开始,按照网络工作规则(即模拟退火算法)对网络隐含层的各神经元的输出进行状态更新,直到达到温度Td下的平衡状态Ub
⑷在隐含层的平衡状态下,保持温度Td不变,再进行L次全网络的状态更新,每次更新后,当神经元i和j同时为1时,计算下式(学习过程):
Boltzmann机网络
⑸重新从温度T0开始,按照网络工作规则对全网络神经元状态ui进行更新,直到达到温度Td下的平衡状态U=(u1,u2,...,un,un+1,un+2,...,um+m),n+m≤N
⑹在网络的平衡状态下,保持温度Td不变,再进行L次全网络的状态更新,每次更新后,当神经元i和j同时为1时,计算下式(反学习过程):
Boltzmann机网络
⑺返回步骤⑵,一共进行M次循环,并要求M>p,p为可见层的状态个数
⑻计算对称概率:
Boltzmann机网络
⑼按照下式调整网络的连接权值wij:
Boltzmann机网络
⑽返回步骤⑵,直到循环次数大于或等于预先设定的值
3)互联想学习规则:
在前面的假设基础上,进一步假设可视层输出部分有nt个神经元,对应pt=pow(2,nt)个状态Ua;输出部分有n个神经元,对应p0=pow(2,n0)个状态Lc。目标联合概率分布:
Boltzmann机网络
学习步骤为:
⑴初始化,将连接权wij赋予区间[-1,1]之间的随机值并令θj=0
⑵随机选取输入模式Ua,提供给可视层的输入部分
⑶按照目标条件概率分布P(Lc|Ua),将输出模式Lc固定在可视层的输出部分上
⑷从温度T0开始,按照网络工作规则(即模拟退火算法)对网络隐含层的各神经元的输出进行状态更新,直到达到温度Td下的平衡状态
⑸在隐含层的平衡状态下,保持温度Td不变,再进行L次全网络的状态更新,每次更新后,当神经元i和j同时为1时,计算下属(学习过程):
Boltzmann机网络
⑹重新从温度T0开始,按照网络工作规则对全网络神经元状态ui进行更新,直到达到温度Td下的平衡状态
⑺在网络的平衡状态下,保持温度Td不变,再进行L次全网络的状态更新,每次更新后,当神经元i和j同时为1时,计算下式(反学习过程):
Boltzmann机网络
⑻返回步骤⑶,一共进行M1次循环,并要求M1>p0,p0为可视层输出部分的状态个数
⑼计算对称概率:
Boltzmann机网络
⑽按照下式调整网络的连接权值wij:
Boltzmann机网络
⑾返回步骤⑵,选取下一组学习模式进行M2次循环,且要求M2>pt,pt为可视层输入部分的状态个数
⑿从步骤⑵~⑾进行Y次循环后学习结束,其中Y为预先设定的最大循环次数。
在对每一组学习模式进行训练时,输入部分的状态总是固定在某个输入模式的状态。在学习结束后网络进行回想时,当给网络的输入部分提供一输入模式Ua后,对网络输入部分按照网络工作规则进行状态更新,在网络的输出部分各个状态出现的概率将符合学习过的希望概率分布P(Lc|Ua)。

 

Copyright@dwenzhao.cn All Rights Reserved   备案号:粤ICP备15026949号
联系邮箱:dwenzhao@163.com  QQ:1608288659