级联相关网络


文章转自https://blog.csdn.net/xc_xc_xc/article/details/53163478

介绍

一般的神经网络是固定好拓扑结构,然后训练权重和阈值。级联相关神经网络是从一个小网络开始,自动训练和添加隐含单元,最终形成一个多层的结构。

级联相关神经网络具有以下优点:

  • 学习速度快;
  • 自己决定神经元个数和深度;
  • 训练集变化之后还能保持原有的结构(这个是缺点还是优点);
  • 不需要后向传播错误信号;

后向传播算法运行缓慢的原因

后向传播算法运行缓慢主要有两个原因:步长问题和目标移动问题。

为了快速学习,我们通常希望步长越大越好。然而,如果步长过大,训练网络不能稳定地收敛到一个较好的结果。因此,为了选择一个合适的步长,我们不仅需要知道误差函数的斜率,还要了解它的曲率。相应的算法叫Quickprop Algorithm

移动目标问题主要是说,在网络的每次迭代中,每个单元都希望进化成在全局计算中扮演重要角色的那个。实际的问题是,训练过程很复杂,所有的单元都会同时更新。隐含单元之间缺少必要的沟通,每个单元只能看到自己的输入和从网络输出反馈的错误信号。因此,单元需要相当长的时间才能稳定。为解决这个问题,每次迭代中,算法可以只允许部分权重和单元改变。

级联相关神经网络(CCNN)

级联相关神经网络包含两个部分:

  • cascade architecture : 在这个步骤中,隐含单元一个一个的添加到网络中,当他们添加到网络之后就不能更改;
  • learning algorithm : 创造并安装新的单元;
算法过程

这里写图片描述

  • 首先,候选神经元连结到所有的输入隐含神经元(也就是图中的虚线),并且候选神经元的输出不连结到网络上;
  • 然后固定住图中的实线部分,只训练候选神经元的权重(也就是图中的虚线);
  • 当权重训练好之后,就将候选神经元安装到图中空白的层上,也就是第四个区域,这时候选项的连接权就不能再改变了;
  • 接着,
    将候选神经元连结到网络的输出上,这时候选神经元被激活,开始训练网络的所有输出连接权;
  • 重复以上步骤;

候选神经元的训练目标是最大化新神经元的输出和网络训练误差之间的相关性 :

S=o|p(VpV¯¯¯¯)(Ep,oEo¯¯¯¯¯¯)|S=∑o|∑p(Vp−V¯)(Ep,o−Eo¯)|

VV :候选单元的值
EoEo:单元o处观察到的输出残差;
oo:网络输出,从这里测量误差;
pp:训练模式(training pattern);

为了最大化SS,我们需要计算S/wt∂S/∂wt:

Swi=p,oσo(Ep,oEo¯¯¯¯¯¯)fpIi,p∂S∂wi=∑p,oσo(Ep,o−Eo¯)fp′Ii,p

σoσo:是候选项和输出oo之间的相关性的符号;
fpf′p:是模式p的候选单元的激励函数的对输入的微分;
Ii,pIi,p:是候选单元从单元ii处接收的输入;

我们使用梯度上升算法来最大化SS。然后再训练单层的权值。


  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值