对偶传播神经网络(Counter-Propagation Network,CPN)能存储二进制或模拟值的模式对,因此这种网络模型也可用于联想存储、模式分类、函数逼近、统计分析和数据压缩等功能。
对偶传播神经网络的拓扑结构跟误差反向传播(BP)网络的一样,不同之处在于,CPN采用两个阶段来分别训练竞争层的内星权向量和外星权向量,即第一阶段完全不顾输出层,采用SOFM的方法来训练竞争层的内星权向量,第二阶段采用有导师的Widrow-Hoff规则(最小均方规则LMS)来训练竞争层的外星权向量。
CPN算法步骤
第一阶段采用竞争学习算法对输入层到竞争层的权向量进行训练。
- 将内星权值随机赋予0~1上的值,归一化;对输入向量也进行归一化。
- 根据输入向量得到获胜神经元。
- CPN不设优胜领域,只有获胜神经元的内星权向量可以调整
。获胜神经元的输出为1,其他为0.学习率是随时间下降的退火函数。
- 如果学习率不为0则回到第1步。
第二阶段采用外星学习算法(由于竞争层的输出为1,所以Widrow-Hoff学习算法退化为外星学习算法),对竞争层到输出层的权向量进行训练。
- 随机初始化竞争层到输出层的权向量。
- 根据输入得到输出,又有期望输出,可以调整外星权向量:
又因为Yj为1,所以Widrow-Hoff学习算法退化为外星学习算法: