LSTM之父再次炮轰LeCun:你那5点"创新"都是抄我的!却惨遭「已读不回」...

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—> CV 微信技术交流群

转载自:新智元 | 编辑:David 好困

【导读】看起来,继Gary Marcus之后,LeCun的「一生之敌」可能又要多上一个了!

最近,LSTM之父Jürgen Schmidhuber一言不合又跟LeCun干上了!

其实之前稍微熟悉这位暴脾气大爷的同学都知道,特立独行的Jürgen Schmidhuber和机器学习社区的几位大佬级人物之间都有过不愉快。

尤其是当「那三个人」一起拿了个图灵奖,而Schmidhuber却没有之后,这位老爷子就更气了……

9e358ab2e96183095bc0880674a759d6.png

(被遮住的那位是吴恩达)

说到底Schmidhuber一直认为,现在这几个ML领军人物,什么Bengio、Hinton、LeCun,包括「GAN」之父Goodfellow等人,他们的很多所谓「开创性成果」都是自己先提出来的,而这些人在论文中根本就没提过他。

5fde98a40872930835dc6b6307cebc4a.png

为此,Schmidhuber曾经专门撰文把Bengio、Hinton、LeCun于2015年发在Nature上的综述性文章「Deep Learning」一文拿出来批判过一番。

主要是说这篇文章里的成果,哪些东西是他先提的,哪些东西是别的前辈先提的,反正不是这仨作者先提的。

怎么又吵起来了?


回到这次事件起因,实际上是LeCun在9月份发的一条推文。

内容是对David Chalmers教授提问的回答:「在过去十年中,AI最重要的智力突破(新想法)是什么?」

bee4aaf00a508dbec30d814bc0979afa.png

10月4日,Schmidhuber在他的博客上撰文怒斥:这5个「best idea」大部分都来自于我的实验室,而且提出的时间要远远早于「10年」这个时间节点。

文中Schmidhuber详细列举了六大证据来支撑自己的论述。

99acafa678f280e9d75584d828148060.png

但估计是因为看到的人太少,Schmidhuber又在11月22日发推,重新把这个「冷饭」炒了一遍。

然而,相比于上一次还算激烈的争辩,这回LeCun连理都没理……

b123428236fc473889c6d0765f592069.png

LSTM之父摆出「六大证据」


1. 通过神经网络(NN)自动生成标注的「自监督学习」:至少可以追溯到我1990-91年的工作。

(I) 通过预测编码在一个循环神经网络(RNN)中进行自监督的目标生成,来学习在多个时间尺度和抽象层次上压缩数据序列。

在这里,一个「自动机」RNN学会了「预测下一个输入」的前置任务,并将传入数据流中的意外观察作为目标发送给「分块机」RNN,后者学习更高层次的规律性,随后通过适当的训练目标将其获得的预测知识提炼回自动机中。

这大大促进了以前无法解决的序列分类的下游深度学习任务。

16b0916282c2acf2ebf75f135303145f.png

(II) 通过GAN类型的内在动机进行自监督的标注生成,其中一个世界模型NN学习预测对抗性的、标注生成的、实验发明的控制器NN的行为后果。

85994d89e5570abd931849ed141dcaf4.png

此外,我于1990年发表的论文标题中,就已经出现了「自监督」的说法。

e3792729f1c966c1bb523422acf6f9dd.png

但是吧,在更早期(1978年)的论文中,也用到了这个词……

f7504ec435bb52f58a672ac9e42b940b.png

2. 「ResNets」:实际上就是我早期提出的Highway Nets。但LeCun却认为ResNets的智力「不深」,这让我非常伤心。

在我提出Highway Nets之前,前馈网络最多只有几十层(20-30层),而Highway Nets是第一个真正的深度前馈神经网络,有数百层。

218d62bacdbbb82b70a9ac76e739cf38.png

在1990年代,我的LSTM给有监督的递归NN带来了基本无限的深度。在2000年代,LSTM启发的Highway Nets给前馈NN带来了深度。

由此带来的是,LSTM已经成为20世纪被引用最多的NN,而Highway Nets(ResNet)是21世纪被引用最多的NN。

可以说,它们代表了深度学习的精髓,而深度学习就是关于NN的深度。

3. 「门控->注意力->动态连通图」:至少可以追溯到我的Fast Weight Programmers和1991-93年的Key-Value Memory Networks(其中的「Key-Value」被称为「FROM-TO」)。

1993年,我引入了现在使用的术语「注意力」。

0652e1b212c09a4baec68d2842b04522.png

不过值得注意的是,NN中的第一个乘法门可以追溯到1965年Ivakhnenko & Lapa的深度学习机。

4. 「Differentiable memory」:同样可以追溯到我的Fast Weight Programmers或1991年的Key-Value Memory Networks。

像传统计算机中那样分离存储和控制,但以端到端差分、自适应、完全神经的方式(而不是以混合方式)。

5c97c0070aeceaae713c60137b9bcef4.png

5. 「置换等变模块,例如多头自注意力->Transformer」:我在1991年发表了带有线性化自注意的Transformer。相应的「注意力」术语(internal spotlights of attention)可以追溯到1993年。

9d8b3b4ae8d76c62078d885545083dde.png

6. 「GAN是过去10年中最好的机器学习理念」

你提到的这个GAN(2014年)的原理,实际上是我在1990年以人工智能好奇心的名义提出的。

11a137390a1f751a34a1ea63d1ec87ef.png

上一次,还是在几个月之前


其实这已经不是Schmidhuber和LeCun之间今年第一次发生争执了。

在六七月间,两人就关于LeCun发表的一篇「自主机器智能未来方向」的展望报告有来有回地吵了一番。

6月27日,Yann LeCun发表了自己积蓄几年的论文「A Path Towards Autonomous Machine Intelligence」,并称其为「指明AI未来发展方向之作」。

e6b2597e7598d18e53a35d4f7e137eaf.png

这篇论文系统讲述了关于「机器如何能像动物和人类一样学习」的问题,长达60多页。

LeCun表示,此文不仅是自己关于未来5-10年内关于AI发展大方向的思考,也是自己未来几年打算研究的内容,并希望能够启发AI界的更多人来一起研究。

d81747c5ccda1ffc57d4b0962c3f9379.png

而Schmidhuber大概提前十几天就得知这个消息,并拿到了这篇论文,当即就写了一篇文章反驳。

按照Schmidhuber自己在博客上文章的说法,当时事情是这样的:

2022年6月14日,一家科学媒体发布消息,说LeCun在6月27日要发布一篇报告,给我发了一份报告的草稿(当时还在保密期),并要求我发表评论。

我写了一篇评论,告诉他们这基本上是我们以前工作的翻版,而LeCun的文章中并没有提到。

然而,我的意见被置若罔闻。

9f5b79c519cd64cc49b6907ad0ce5b6c.png

实际上,早在他这篇东西发表以前,我们就提出了LeCun在这篇文中所谓的「主要原创贡献」的大部分内容,主要有:

(1)  「认知架构,其中所有模块都是可分的,而且许多模块是可训练的」(我们在1990年提出)。

(2)  「预测世界模型的分层结构,在多个抽象层次和多个时间尺度上学习表征」 (我们在1991年提出)。

(3)  「自我监督的学习范式,产生同时具有信息性和可预测性的表征」(我们的模型自1997年起就用于强化学习和世界建模了)

(4) 「用于不确定性下的分层规划」的预测模型,包括基于梯度的神经子目标生成器(1990年)、抽象概念空间的推理(1997年)、「主要通过观察学习行动」的神经网络(2015年),以及学习思考(2015年),都是我们先提出的。

7月14日,Yann LeCun回应,说讨论要有建设性,他是这么说的:

我不想陷入一场关于「某个概念是谁发明的」这种无谓争论中,也不想在你的回应文章中列出的160个参考文献中深究。我认为更有建设性的做法是,指出你认为可能包含我列出的4项贡献中的观点和方法的4篇出版物。

正如我在论文的开头所说,有许多概念已经存在了很长时间,你和我都不是这些概念的发明人:比如,可微调世界模型的概念,可以追溯到早期的优化控制工作。

训练世界模型利用神经网络学习世界模型的系统识别,这个想法可以追溯到80年代末,由Michael Jordan, Bernie Widrow, Robinson & Fallside, Kumpathi Narendra, Paul Werbos进行的工作,都比你的工作早。

在我看来,这个稻草人式的回答似乎是LeCun在转移话题,对他的所谓「主要原创贡献」中贪他人之功的问题避而不谈。

我在7月14日回复:

关于你说的「你我都没有发明的东西」:你的论文声称,用神经网络进行系统识别可以追溯到20世纪90年代初。然而,在你的之前的回应中,你似乎同意我的观点:这方面的第一篇论文出现在1980年代。

至于你的「主要原创贡献」,实际上都用了我早年间的工作成果。

(一) 关于你提出的「认知架构,其中所有模块都是可分化的,且许多模块都是可训练的」,「通过内在动机驱动行为」:

我在1990年就提出了用于在线学习和规划的可分化架构,这是第一个具有 「内在动机」的控制器,用以改善世界模型,它既是生成性的,也是对抗性的;你文中引用的2014年的GAN是这个模型的一个衍生版本。

(二)关于你提出的 「在多个抽象层次和时间尺度上学习表征的预测性世界模型的分层结构」:

这是由我1991年的神经历史压缩机实现的。它使用预测编码,以自监督的方式学习长序列数据的分层内部表征,大大促进了下游的学习。使用我1991年的神经网络提炼程序,这些表征可以被折叠成一个单一的循环神经网络(RNN)。

(三)关于你在控制方面的「自监督学习范式,产生同时具有信息性和可预测性的表征」:

这一点我在1997年提出构建的系统中已经提出。它不是预测未来输入的所有细节,而是可以提出任意的抽象问题,并在你所说的「表征空间」中给出可计算的答案。在这个系统中,两个名为「左脑」和「右脑」的学习模型,选择奖励最大化的对手进行零和博弈,偶尔还会在这种计算实验的结果上打赌。

(四)关于你的可用于不确定情况下的分层规划预测性可微分模型,你的文章里是这么写的:

「一个尚未回答的问题是,配置器如何学习将一个复杂的任务分解为一连串可以由智能体单独完成的子目标。我将把这个问题留给未来的调查。」

就别说什么未来了,实际上我在30多年前就发表过这样的文章:

一个控制器神经网络负责获得额外的命令输入,其形式为(开始,目标)。一个评估器神经网络负责学习预测从开始到目标的预期成本。一个基于可微调循环神经网络的子目标生成器看到了这个(开始,目标)的输入,并使用评估器神经网络,通过梯度下降学习一系列成本最小的中间子目标。

(五)你还强调了 「主要通过观察来学习行为」的神经网络。实际上我们很早就解决了这个问题,比2015年这篇文章,讨论了部分可观察环境中强化学习(RL)的一般问题。

d9120d00ae52df6104157deaff9202b2.png

世界模型M可能擅长预测一些事情,但对其他事情不确定。控制器C通过学习通过自我发明的问题序列(激活模式)来查询并解释答案(更多的激活模式)来最大化其目标函数。

C可以从学习从M中提取任何类型的算法信息中获益,比如用于分层规划和推理,利用M中编码的被动观察等等。

不重要的彩蛋


有趣的是,线上售卖的一款文化衫就同时把这四位大佬列在了一起,而且还只要13刀。

不知道Schmidhuber看到之后,会有什么想法。

afeb8180404224cc9d5314c1a29aa83f.png

参考资料:

https://twitter.com/SchmidhuberAI/status/1594964463727570945

https://people.idsia.ch/~juergen/lecun-rehash-1990-2022.html#addendum2

https://mp.weixin.qq.com/s?__biz=MzI3MTA0MTk1MA==&mid=2652206003&idx=1&sn=79e7db65262a428fd96355ec9a82341e&token=1899273704&lang=zh_CN#rd

 
 

点击进入—> CV 微信技术交流群

CVPR/ECCV 2022论文和代码下载

 
 

后台回复:CVPR2022,即可下载CVPR 2022论文和代码开源的论文合集

后台回复:ECCV2022,即可下载CVPR 2022论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF

目标检测和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer222,即可添加CVer小助手微信,便可申请加入CVer-目标检测或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲扫码或加微信号: CVer222,进交流群
CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!

▲扫码进群
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我之前的回答有误,是因为我误解了您的问题,我现在重新给您一个正确的回答: 以下是一个复杂的一维数据 LSTM 模型的 PyTorch 实现代码: ```python import torch import torch.nn as nn class LSTM(nn.Module): def __init__(self, input_size, hidden_size, num_layers, output_size, dropout): super(LSTM, self).__init__() self.input_size = input_size self.hidden_size = hidden_size self.num_layers = num_layers self.output_size = output_size self.dropout = dropout self.embedding = nn.Embedding(input_size, hidden_size) self.lstm = nn.LSTM(hidden_size, hidden_size, num_layers, batch_first=True, dropout=dropout) self.fc = nn.Linear(hidden_size, output_size) def forward(self, x): embedded = self.embedding(x) h0 = torch.zeros(self.num_layers, x.size(0), self.hidden_size).to(x.device) c0 = torch.zeros(self.num_layers, x.size(0), self.hidden_size).to(x.device) out, _ = self.lstm(embedded, (h0, c0)) out = self.fc(out[:, -1, :]) return out ``` 这个 LSTM 类定义了一个包含一个嵌入层、一个 LSTM 层和一个线性层的模型,用于处理一维数据。在初始化函数 `__init__` 中,我们定义了输入维度 `input_size`,隐藏层维度 `hidden_size`,LSTM 层数 `num_layers`,输出维度 `output_size` 和 dropout 比率 `dropout` 等参数。`nn.Embedding` 是 PyTorch 中的嵌入层,我们在这里定义了一个嵌入层,它将输入的整数序列映射为指定维度的向量序列,嵌入向量的维度是 `hidden_size`。 `nn.LSTM` 是 PyTorch 中的 LSTM 模块,我们在这里定义了一个 LSTM 层,它的输入维度是 `hidden_size`,输出维度也是 `hidden_size`,层数是 `num_layers`,batch_first 参数为 True 表示输入数据的第一维是 batch_size,dropout 参数是 dropout 比率。`nn.Linear` 是 PyTorch 中的线性层,我们在这里定义了一个线性层,它将 LSTM 层的输出映射到输出维度 `output_size`。 在前向传播函数 `forward` 中,我们首先将输入数据 `x` 传入嵌入层中,得到嵌入向量序列 `embedded`。然后,我们定义了 LSTM 层的初始隐藏状态 `h0` 和细胞状态 `c0`,它们的维度分别是 `num_layers`、`batch_size` 和 `hidden_size`。接着,我们将嵌入向量序列和初始隐藏状态和细胞状态传入 LSTM 层中,得到 LSTM 层的输出 `out`。在这里,我们只使用 LSTM 层的最后一个输出,即 `out[:, -1, :]`,并将其传入线性层中,得到最终的输出。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值