对偶传播神经网络(CPN)
1987年,美国学者Robert Hecht-Nielsen提出了对偶传播神经网络模型 (Counter Propagation Network,CPN),CPN最早是用来实现样本选择匹配系统的。CPN 网能存储二进制或模拟值的模式对,因此这种网络模型也可用于联想存储、模式分类、函数逼近、统计分析和数据压缩等用途。
1. 网络结构与运行原理
网络结构如图所示,各层之间的神经元全互联连接。从拓扑结构看,CPN网与三层BP网络相近,但实际上CPN是由自组织网和Grossberg外星网组合而成。隐层为竞争层,采用无导师的竞争学习规则,而输出层为Grossberg层,采用有导师信号的Widrow-Hoff规则或Grossberg规则学习。
网络各层按两种学习规则训练好之后,运行阶段首先向网络送入输入变量,隐含层对这些输入进行竞争计算,获胜者成为当前输入模式类的代表,同时该神经元成为如下图(a)所示的活跃神经元,输出值为1而其余神经元处于非活跃状态,输出值为0。竞争取胜的隐含神经元激励输出层神经元,使其产生如下图(b)所示的输出模式。由于竞争失败的神经元输出为0,不参与输出层的整合。因此输出就由竞争胜利的神经元的外星权重确定。
2. 学习算法
网络学习分为两个阶段:第一阶段是竞争学习算法对隐含层神经元的内星权向量进行训练;第二阶段是采用外星学习算法对隐含层的神经元的外星权向量进行训练。
因为内星权向量采用的是竞争学习规则,跟前几篇博文所介绍的算法步骤基本类似,这里不做介绍,值得说明的是竞争算法并不设置优胜临域,只对获胜神经元的内星权向量进行调节。
下面重点介绍一下外星权向量的训练步骤:
(1) 输入一个模式以及对应的期望输入,计算网络隐节点净输入,隐节点的内星权向量采用上一阶段中训练结果。
(2) 确定获胜神经元使其输出为1。
(3) 调整隐含层到输出层的外星权向量,调整规则如下:
β为外星规则学习速率,为随时间下降的退火函数。O(t)为输出层神经元的输出值。
由以上规则可知,只有获胜神经元的外星权向量得到调整,调整的目的是使外星权向量不断靠近并等于期望输出,从而将该输出编码到外星权向量中。
3. 改进CPN网
(1) 双获胜神经元CPN
指的是在完成训练后的运行阶段允许隐层有两个神经元同时竞争获得胜利,这两个获胜神经元均取值为1,其他神经元则取值为0。于是有两个获胜神经元同时影响网络输出。下图给出了一个例子,表明了CPN网能对复合输入模式包含的所有训练样本对应的输出进行线性叠加,这种能力对于图像的叠加等应用十分合适。
(2) 双向CPN网
将CPN网的输入层和输出层各自分为两组,如下图所示。双向CPN网的优点是可以同时学习两个函数,例如:Y=f
(X);X′=f
(Y′)
当两个函数互逆时,有X =X′,Y
=Y′。双向CPN可用于数据压缩与解压缩,可将其中一个函数f作为压缩函数,将其逆函数g作为解压缩函数。
事实上,双向CPN网并不要求两个互逆函数是解析表达的,更一般的情况是f和g是互逆的映射关系,从而可利用双向CPN实现互联想。
4. CPN网应用
下图给出了CPN网用于烟叶颜色模式分类的情况,输入样本分布在下图(a)所示的三维颜色空间中,该空间的每个点用一个三维向量表示,各分量分别代表烟叶的平均色调H,平均亮度L和平均饱和度S。可以看出颜色模式分为4类,分别对应红棕色,橘黄色,柠檬色和青黄色。下图(b)给出了CPN网络结构,隐层共设了10个神经元,输出层设4个神经元,学习速率为随训练时间下降的函数,经过2000次递归之后,网络分类的正确率达到96%。
*************************************
2015-8-15
艺少
对偶传播神经网络(CPN)的更多相关文章
- AI 反向传播神经网络
反向传播(Back Propagation,简称BP)神经网络
- Python3 反向传播神经网络-Min-Batch(根据吴恩达课程讲解编写)
# -*- coding: utf-8 -*- """ Created on Sat Jan 20 13:47:54 2018 @author: markli " ...
- 【原】Coursera—Andrew Ng机器学习—编程作业 Programming Exercise 4—反向传播神经网络
课程笔记 Coursera—Andrew Ng机器学习—课程笔记 Lecture 9_Neural Networks learning 作业说明 Exercise 4,Week 5,实现反向传播 ba ...
- 第四节课-反向传播&&神经网络1
2017-08-14 这节课的主要内容是反向传播的介绍,非常的详细,还有神经网络的部分介绍,比较简短. 首先是对求导,梯度的求解.反向传播的核心就是将函数进行分解,分段求导,前向计算损失,反向计算各个 ...
- 【神经网络】BP反向传播神经网络
BP算法细节 参数说明:假设有n层.J表示代价函数,和上面的E是同样的意思,只不过用不同的字母写而已. 分析:要想知道第l层的第i个结点的残差,必须知道层已经计算出来了残差,你只要把后面一层的每个结点 ...
- 反向传播神经网络(BP)
实验部分: ①输入.输出矢量及问题的阐述 由题意输入变量取值范围为e={-2,-1,0,1,2}和ec={-2,-1,0,1,2},则输入矢量有25种情况,分别如下所示: 则由T=int((e+ec) ...
- 人工神经网络ANNs
参考: 1. Stanford前向传播神经网络Wiki 2. Stanford后向传播Wiki 3. 神经网络CSDN blog 4. 感知器 5. 线性规划 6. Logistic回归模型 内容: ...
- BP神经网络
秋招刚结束,这俩月没事就学习下斯坦福大学公开课,想学习一下深度学习(这年头不会DL,都不敢说自己懂机器学习),目前学到了神经网络部分,学习起来有点吃力,把之前学的BP(back-progagation ...
- R语言-神经网络包RSNNS
code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...
随机推荐
- 洛谷 P1842 奶牛玩杂技 题解
P1842 奶牛玩杂技 题目背景 Farmer John 养了N(1<=N<=50,000)头牛,她们已经按1~N依次编上了号.FJ所不知道的是,他的所有牛都梦想着从农场逃走,去参加马戏团 ...
- 题解 UVA11105 【H-半素数 Semi-prime H-numbers】
做这道题之前首先要掌握的是线性筛的模板 附上题目链接 https://www.luogu.org/problem/P3383 首先这道题目的范围有些特殊必须是% 4 == 1的数才行 所以可以这样 直 ...
- 区块链阶段1-Linux基础- 2 Linux文件系统
2.1 什么是文件系统 文件系统是操作系统在磁盘或分区上组织文件的方法和数据结构.负责对磁盘空间进行组织和分配,存储文件数据,并对其提供保护和检索服务.学习Linux,首先需要了解整个 Linux 文 ...
- phpMyadmin各个版本漏洞【转载】
原作者:热爱网络安全的小菜狗 原文链接:phpMyadmin各版本漏洞 0x01 PREGREPLACEEVAL漏洞 影响版本:3.5.x < 3.5.8.1 and 4.0.0 < 4. ...
- 树——倍增LCA
与正文无瓜的前言 身为一个高一才开始学的OIER,现在才开始恶补模板,感觉今年就要退役了. 不想刷题了滚过来写写博客<-------极端危险的思想. 引入 LCA(Lowest Common A ...
- VMware 桥接网络设置
1. 桥接的基本原理 桥接是将虚拟机和宿主机在局域网中的地位看成是一样的,逻辑如下: 但实际上是通过如下图实现的:(该图来自http://blog.csdn.net/qingfengtsing/art ...
- 三大框架 之 SSH整合
目录 SSH整合 Spring整合web项目 在Servlet当中直接加载配置文件,获取对象 存在问题 解决方案 SSH整合 引入Jar包 引入配置文件 创建包结构 创建相关类 创建Customer业 ...
- 【转】JVM类装载机制的解析,热更新的探讨(二)
同样,一个Class对象必须知道自己的超类.超级接口.因此,Class对象会引用自己的超类和超级接口的Class对象.这种引用一定是实例引用.(实际上,超类.超级接口的引用也存储在常量池中,但为了区分 ...
- 深度学习面试题28:标签平滑(Label smoothing)
目录 产生背景 工作原理 参考资料 产生背景 假设选用softmax交叉熵训练一个三分类模型,某样本经过网络最后一层的输出为向量x=(1.0, 5.0, 4.0),对x进行softmax转换输出为: ...
- 教你如何使用QBDI动态二进制检测框架
工具介绍 QBDI 全名为 QuarkslaB Dynamicbinary Instrumentation,它是一个模块化的跨平台以及跨架构的 DBI 框架.该工具目前支持 Linux.macOS.A ...