0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Jürgen Schmidhuber:无监督神经网络在极大极小上的博弈

zhKF_jqr_AI 来源:未知 作者:李倩 2018-11-24 09:27 次阅读

编者按:如果说GAN的发展史上有什么戏剧性事件,那“LSTM之父”Jürgen Schmidhuber(发音:You_again Shmidhoobuh)和“GAN之父”Ian Goodfellow之间的恩怨绝对是其中最精彩的一幕。在2016的NIPS大会上,Schmidhuber和Goodfellow就GAN是否借鉴了前者在九十年代发表的一篇论文展开了激烈争论,引得满座震惊。虽然事后学界认可了GAN的原创性,但Schmidhuber似乎对此仍然耿耿于怀。近日,他发表了一篇小短文,文章的主角还是几十年前的那个模型——PM。

1990s,无监督神经网络在最小值上的博弈 每个网络最小化由另一个网络最大化的值函数 或生成实验,产生对好奇心的内在奖励

在对人工神经网络(NN)的研究中,研究人员最重要的目标之一是创建能从给定数据中学习统计数据的算法。为了实现这一目标,我在20世纪90年代曾引入一种新型无监督学习机制,它基于极大极小博弈中的梯度下降/上升原理,其中一个NN负责最小化由另一个NN最大化的目标函数。我把发生在这两个无监督神经网络之间的对抗称为“可预测性最小化”(Predictability Minimization)。

首先,PM需要一个自带初始随机权重的编码器网络,它通过其输入节点(下图中的白色圆圈)接收数据样本(例如图像),并在其输出节点(下图中的灰色圆圈,也称编码节点)生成对应编码。每个编码节点都可以在区间[0,1]内被激活。

图中的黑色圆圈表示一个独立的预测网络,经过训练后,给定一部分编码节点,它能学习每个编码节点的条件期望,从而预测所有未提供的编码节点。虽然图中没有标出,编码网络和预测网络都有隐藏节点。

但是,每个编码节点都希望自己能变得更不可预测。因此它需要经过训练,最大限度地提高由预测网络最小化的目标函数(如均方误差)。预测器和编码器相互对抗,以激励编码器实现无监督学习的“圣杯”——关于输入数据的理想的、展开的、二元的阶乘编码,其中每个编码节点在统计上彼此互相独立。

理想情况下,NN在经过学习后,给定数据模式的概率就应该等于其编码节点概率的乘积,这个概率也是预测网络的输出。

无独有偶,生成对抗网络(GAN)也使用无监督的极小极大原理来模拟给定数据的统计数据。相信读者都熟悉NIPS 2014的那篇GAN论文,虽然那位作者声称PM并不是基于值函数的极大极小博弈,不是一个网络寻求最大化而另一个寻求最小化,相比GAN那种“网络之间的对抗是唯一训练标准,并且足以完成训练”的方法,PM只能算“一个正则,鼓励神经网络的隐藏节点在完成其他任务时在统计上独立,其对抗性不是主要的训练方法”。

但是,我觉得PM确实也是个纯粹的极大极小博弈,尤其是它也对抗训练,“网络之间的对抗是唯一训练标准,并且足以完成训练”。

将无监督极大极小博弈用于强化学习好奇心

还是20世纪90年代,PM论文发表后,我曾尝试过把这个想法扩展到强化学习领域,构建具有人工好奇心的智能体。

我构建了一个目标是在环境中生成动作序列的神经网络C,它的动作生成的由一个追求回报最大化的节点控制。作为参考,我设计了一个名叫世界模型M的独立神经网络,它能根据给定的以往输入和动作预测未来输入。动作选择越合理,网络得到的回报就越高,因此C所获得的内在回报和M的预测误差成正比。同时,因为C试图最大化的正是M试图最小化的值函数,这意味着C会尽力探索M无法准确预测的新动作。

最近关于好奇心的强化学习论文有很多,我觉得它们都是基于这个简单的90年代的原理。尤其是在97年的那篇论文中[UARL3-5],我让两个对抗的、追求回报最大化的模块(左脑和右脑)共同设计一个实验:一个能定义如何在环境中执行动作序列、如何通过实现由实验触发的观察序列的可计算函数(如二元分类)的指令序列来计算最终实验结果的(概率)程序。

两个模块都能提前预测实验结果,如果它们的预测或假设不同,那么在动作生成和执行完毕后,失败一方会向这个零和博弈的优胜一方提供内在回报。这种设计促使无监督的两个模块专注于“有趣”的事情,也就是不可预测的空间。同样的,在没有外部回报的情况下,每个无监督模块都在试图最大化由另一个最小化的值函数。

当时我在论文中提出,如果想把这种方法用于现实世界的某些问题,我们还需要科学家和艺术家的人为介入,设置合理的外部回报。而时至今日,很多人也确实正在用它处理数据分布建模和人工好奇心等任务。

小结

看到这里,相信大家都看出来了,Jürgen Schmidhuber还是放不下对GAN的纠结,或者说,是对“对抗”这种方法的执念。虽然GAN的原创性已无争议,但比起抬高/贬低Schmidhuber的为人,我们都不能否认他对深度学习作出的杰出贡献。2年前,他也正是以一种几乎“闹剧”的方式警告所有人,在过去几十年的研究中,可能存放着许多不为人知的珍宝,它们不是不够优秀,而只是输给了时代。

正如网友评价的:

作为机器学习的英雄,我们追随他;作为超越时代的罪人,我们围攻他。但他都可以接受,因为他不是英雄。他只是一个沉默的守护者,一个警惕的保护者,一个Schmidhuber。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码器
    +关注

    关注

    41

    文章

    3360

    浏览量

    131508
  • 神经网络
    +关注

    关注

    42

    文章

    4572

    浏览量

    98735
  • GaN
    GaN
    +关注

    关注

    19

    文章

    1762

    浏览量

    67948

原文标题:Jürgen Schmidhuber:无监督神经网络在极大极小上的博弈

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    神经网络教程(李亚非)

      第1章 概述  1.1 人工神经网络研究与发展  1.2 生物神经元  1.3 人工神经网络的构成  第2章人工神经网络基本模型  2.1 MP模型  2.2 感知器模型  2.3
    发表于 03-20 11:32

    脉冲耦合神经网络FPGA的实现谁会?

    脉冲耦合神经网络(PCNN)FPGA的实现,实现数据分类功能,有报酬。QQ470345140.
    发表于 08-25 09:57

    labview BP神经网络的实现

    请问:我在用labview做BP神经网络实现故障诊断,NI官网找到了机器学习工具包(MLT),但是里面没有关于这部分VI的帮助文档,对于”BP神经网络分类“这个范例有很多不懂的地方,比如
    发表于 02-22 16:08

    有人做过神经网络FPGA的实现吗?

    例如BP神经网络
    发表于 03-07 19:44

    【PYNQ-Z2试用体验】神经网络基础知识

    前言前面我们通过notebook,完成了PYNQ-Z2开发板编写并运行python程序。我们的最终目的是基于神经网络,完成手写的数字识别。在这之前,有必要讲一下神经网络的基本概念和
    发表于 03-03 22:10

    基于赛灵思FPGA的卷积神经网络实现设计

    FPGA 实现卷积神经网络 (CNN)。CNN 是一类深度神经网络处理大规模图像识别任务以及与机器学习类似的其他问题方面已大获成功。在当前案例中,针对
    发表于 06-19 07:24

    卷积神经网络如何使用

    卷积神经网络(CNN)究竟是什么,鉴于神经网络工程经历了曲折的历史,您为什么还会在意它呢? 对于这些非常中肯的问题,我们似乎可以给出相对简明的答案。
    发表于 07-17 07:21

    【案例分享】基于BP算法的前馈神经网络

    期望的输出。BP神经网络算法推导(更新权重和偏倚):从上面推导可以发现:对于任意从神经元i(输出神经元/隐层神经元)至 神经
    发表于 07-21 04:00

    【案例分享】ART神经网络与SOM神经网络

    是一种常用的监督学习策略,使用改策略时,网络的输出神经元相互竞争,每一时刻只有一个竞争获胜的神经
    发表于 07-21 04:30

    如何设计BP神经网络图像压缩算法?

    (Digital Signal Processor)相比,现场可编程门阵列(Field Programma-ble Gate Array,FPGA)神经网络的实现更具优势。DSP处理器
    发表于 08-08 06:11

    如何用卷积神经网络方法去解决机器监督学习下面的分类问题?

    人工智能下面有哪些机器学习分支?如何用卷积神经网络(CNN)方法去解决机器学习监督学习下面的分类问题?
    发表于 06-16 08:09

    如何构建神经网络

    原文链接:http://tecdat.cn/?p=5725 神经网络是一种基于现有数据创建预测的计算系统。如何构建神经网络神经网络包括:输入层:根据现有数据获取输入的层隐藏层:使用反向传播优化输入变量权重的层,以提高模型的预测
    发表于 07-12 08:02

    STM32验证神经网络模型

    STM32CubeMx.AI的使用欢迎使用Markdown编辑器STM32论坛中看到这样一个视频:视频中,STM32验证神经网络模型
    发表于 08-03 06:59

    卷积神经网络一维卷积的处理过程

    以前的神经网络几乎都是部署云端(服务器),设备端采集到数据通过网络发送给服务器做inference(推理),结果再通过网络返回给设备端。
    发表于 12-23 06:16

    卷积神经网络模型发展及应用

    举足轻重的地位。由于卷积 神经网络的模型十分丰富,有些模型的结构或用途 比较特殊,本文中统称为特殊模型,包括具有简单的结构和很少参数量的挤压网络模型 SqueezeNet,采 用
    发表于 08-02 10:39