专栏首页AI2ML人工智能to机器学习易图秒懂の神经网络潜行-RNN前生

易图秒懂の神经网络潜行-RNN前生

在“易图秒懂の神经网络潜行-CNN前生"里面,简述了CNN的前生Neocognitron横空出世的环境和当时的影响。 这里描述RNN的前生, 叫SRN,简单递归网络的诞生, 这个Simple Recurrent Network又名叫Elman Network。

前言

在前面我们谈到Kohonen的CAM理论,是源于对冯诺依曼工作小组的Estrin的寻址内存的模型扩展而来的。

而Kohonen的这个CAM理论影响超级大, 不仅仅影响了Neocognitron福岛, 还影响了另外个人, 这个人对后来神经网络恢复元气作用巨大。 他就是物理学家Hopfield。 他提出了Hopfield模型, 而SRN或者Elman网络几乎就是对Hopfield网络的一个变形。

一图抵千言

Elman Network是Hopfield网络的变形

SRN其实就是给Hopfield网络加了一个输入层和输出层, 把整个Hopfield网络变成了隐藏层。 这种变化其实也可以说是受到MLP三层模型的影响。

Hopfiled网络有没有其它知名变形

其实, 除了SRN模型, Hopfield网络还有另外一个变种叫BAM (参考 ”神经网络之双向关联记忆网络(BAM)“)BAM相当于把Hopfield网络进行了一次展开, 然后一层称为输入, 另外一层称为输出。 无论是SRN还是BAM, 都继承了Hopfield关于能量函数, 和收敛性证明方面的结论。 而这个BAM某种意义上是深度中RBM模块的前生BM boltzmann machine的前生。

Hopfield网络是如何炼成的?

Hopfield网络的横空出世得益于三大方面, 首先,受到了Kohonen的CAM的启发, 着眼于相关性的方向的神经网络。 其次, 采用了另外一个物理生物学家Little定义的能量函数。 并且Little还根据李雅普诺夫的不动点理论, 证明了收敛性。

再次,就是吸收了物理学家Widow的ADALINE模型的学习机制。 这样, 有了三合一, Hopfield网络理论就诞生了。

Hopfield网络的影响

其实后来有个叫Grossberg的神经科学家, 对Hopfield的工作和福岛的工作进行了深刻讨论, 提出了记忆模型 和 ART模型自回声网络。类似记忆模型的工作对后来RNN的变种LSTM的影响很大。 Grossberg本人对Sigmoid函数的鼓吹, 也对后来BP算法的流行有深刻影响。

SRN的三大学习算法

除了SRN网络结构的完善, 学习能力也不能落下, 三大学习算法BPTT,EKF和RTRL训练,也多在受到Hopfield网络模型成功影响力下, 发明出来了。 而后来深度学习里面LSTM的发明, 也是一个硕士对这三个算法的深入理解, 总结缺点后的突破。 以后深度学习的部分会讲到。

其实BPTT就是最早发明BP的那个Werbos发明的。 而RTRL也和以后再发明应用BP算法, 并且引起轰动的Rumelhart有关系。 而Rumelhart是连接主义的代表人物, 以后也会谈谈他。

小结

这样, 透过Hopfield网络的成功和变形, SRN横空出世, 伴随着神经网络记忆学习理论的总结, 和三大学习算法的出现。 RNN的前生就这么铺垫好了。

本文分享自微信公众号 - AI2ML人工智能to机器学习(mloptimization),作者:史春奇

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-08-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Hopfield网络及其收敛性

    在上一次的神经网络之双向关联记忆网络(BAM)中我们介绍了神经网络中能量的概念。在BAM的基础上稍加改变就可以得到著名的Hopfield网络。

    史博
  • All-in-one! 深度学习的Docker套装

    跑深度学习Deep Learning已经快成为程序员必备技能了。 那么, 一个随手可得测试环境将是很必要的。 如果有时间有精力, 那么自己安装编译一个也不错。...

    史博
  • Python的map函数理解四式

    这个map函数是python的内嵌的函数, 那么如何手写一个自己的map函数, 实现内嵌map函数一模一样的功能呢?

    史博
  • 浅谈Android自定义锁屏页的发车姿势

    一、为什么需要自定义锁屏页 锁屏作为一种黑白屏时代就存在的手机功能,至今仍发挥着巨大作用,特别是触屏时代的到来,锁屏的功用被发挥到了极致。多少人曾经在无聊的时候...

    腾讯Bugly
  • 拒绝成为免费劳动力:检测含有挖矿脚本的WiFi热点

    前几日看到一则新闻,一家星巴克店内无线网络被发现植入了恶意代码,劫持网络流量利用用户设备挖掘门罗币(XMR)。 ? 与加密货币相关的安全事件总是引人注目,我们除...

    FB客服
  • Maven入门教程

    Maven是Java项目构建工具,可以用于管理Java依赖,还可以用于编译、打包以及发布Java项目,类似于JavaScript生态系统中的NPM。

    Fundebug
  • 【提问帖】GO中调用redis时,当并发量比较大时出现的问题。

    GO中调用redis时,实始化一个连接池,做法也是一般的用户: &redis.Pool{ MaxIdle: beego.AppConfig.De...

    李海彬
  • golang之数据验证validator

    在web应用中经常会遇到数据验证问题,普通的验证方法比较繁琐,这里介绍一个使用比较多的包validator。

    孤烟
  • Spring Boot 设置静态资源访问

    问题描述 当使用spring Boot来架设服务系统时,有时候也需要用到前端页面,当然就不可或缺地需要访问其他一些静态资源,比如图片、css、js等文件。那么如...

    hbbliyong
  • 设计模式(五): 简单而又不失其重要性的单例模式(Singleton Pattern)

    上篇博客我们系统的介绍了三种工厂模式,今天我们就来介绍一下单例模式。单例模式虽然简单,但是还是比较重要的,是常用设计模式之一。在之前的博客《Objective-...

    lizelu

扫码关注云+社区

领取腾讯云代金券