从头开始构建,DeepMind新论文用伪代码详解Transformer

2022 年 7 月 22 日 极市平台
↑ 点击 蓝字  关注极市平台

作者丨陈萍、小舟
来源丨机器之心
编辑丨极市平台

极市导读

 

与滚动 1000 行源代码相比,伪代码更浓缩,思路更清晰。 >>加入极市CV技术交流群,走在计算机视觉的最前沿

2017 年 Transformer 横空出世,由谷歌在论文《Attention is all you need》中引入。这篇论文抛弃了以往深度学习任务里面使用到的 CNN 和 RNN。这一开创性的研究颠覆了以往序列建模和 RNN 划等号的思路,如今被广泛用于 NLP。大热的 GPT、BERT 等都是基于 Transformer 构建的。

Transformer 自推出以来,研究者已经提出了许多变体。但大家对 Transformer 的描述似乎都是以口头形式、图形解释等方式介绍该架构。关于 Transformer 的伪代码描述可参考的资料很少。

正如下面这段话所表达的:一位 AI 领域非常出名的研究者,曾向一位著名的复杂性理论家发送了一篇自认为写得非常好的论文。而理论家的回答是:我在论文中找不到任何定理,我不知道这篇论文是关于什么的。

对于从业者来说,论文可能足够详细,但理论家需要的精度通常更高。由于某些原因,DL 社区似乎不愿为他们的神经网络模型提供伪代码。

目前看来,DL 社区存在以下问题:

DL 出版物缺乏科学的准确性和细节。深度学习在过去 5 到 10 年间取得了巨大的成功,每年发表的论文数以千计。许多研究者只是非正式地描述了他们如何改变以前的模型,大约 100 多页的论文只包含几行非正式地模型描述。充其量是一些高级图表,没有伪代码,没有方程式,没有提到对模型的精确解释。甚至没有人为著名的 Transformer 及其编码器 / 解码器变体提供伪代码。

源代码与伪代码。开源源代码非常有用,但与数千行的真实源代码相比,精心设计的伪代码通常不到一页,并且基本上仍然是完整的。这似乎是一项没有人愿意做的苦工作。

解释训练过程同样重要,但有时论文中甚至没有提到模型的输入和输出以及潜在的副作用是什么。论文中的实验部分通常不会解释输入算法的内容以及如何输入。如果方法部分有一些解释,通常与实验部分中描述的内容脱节,可能是由于不同的作者编写了不同的部分造成的。

有人会问:真的需要伪代码吗? 伪代码有什么用?

来自 DeepMind 的研究者认为提供伪代码有很多用途,与阅读文章或滚动 1000 行实际代码相比,伪代码将所有重要的内容浓缩在一页纸上,更容易开发新的变体。为此,他们最近发表的一篇论文《 Formal Algorithms for Transformers 》,文章以完备的、数学上精确的方式来描述 Transformer 架构。

论文简介

本文涵盖了什么是 Transformer、Transformer 如何训练、Transformer 被用来做什么、Transformer 关键架构组件以及比较出名的模型预览。



论文地址:https://arxiv.org/pdf/2207.09238.pdf

不过,阅读本文,读者需熟悉基础 ML 术语和简单的神经网络体系架构 (如 MLPs)。对于读者而言,在理解了文中的内容后,将会扎实的掌握 Transformer,并可能会使用伪代码实现自己的 Transformer 变体。

这篇论文的主体部分是第 3-8 章,分别介绍了 Transformer 及其典型任务、tokenization、Transformer 的架构组成、Transformer 的训练和推理、实际应用。


论文中基本完整的伪代码大约有 50 行,而实际的真实源代码则有数千行。论文中表述算法的伪代码适用于需要紧凑、完整和精确公式的理论研究者、从头实现 Transformer 的实验研究人员,同时对使用形式 Transformer 算法扩充论文或教科书也大有裨益。

论文中伪代码示例

对于熟悉基本的 ML 术语和简单的神经网络架构(例如 MLP)的初学者来说,这篇论文将帮你掌握扎实的 Transformer 基础,并用伪代码模板实现自己的 Transformer 模型。

作者介绍

这篇论文的第一作者是今年 3 月正式入职 DeepMind 的研究员 Mary Phuong。她博士毕业于奥地利科学技术研究所,主要从事机器学习的理论研究。


论文的另一位作者是 DeepMind 的资深研究员 Marcus Hutter,也是澳大利亚国立大学 (ANU) 计算机科学研究院 (RSCS) 的名誉教授。


Marcus Hutter 多年来一直从事人工智能数学理论的研究。这一研究领域基于若干数学和计算科学概念,涉及强化学习、概率论、算法信息理论、优化、搜索和计算理论等。他的书《通用人工智能:基于算法概率的顺序决策》于 2005 年出版,这是一本技术性和数学性都很强的书。

2002 年,Marcus Hutter 与 Jürgen Schmidhuber 和 Shane Legg 一起提出了基于理想化智能体和奖励强化学习的人工智能数学理论 AIXI。2009 年,Marcus Hutter 又提出了特征强化学习理论。



公众号后台回复“ECCV2022”获取论文分类资源下载~

△点击卡片关注极市平台,获取 最新CV干货

极市干货
算法项目: CV工业项目落地实战大航海 | 附极力值攻略 极市打榜|目标检测算法上新!(年均分成5万)
实操教程 Pytorch - 弹性训练原理分析《CUDA C 编程指南》导读
极视角动态: 极视角作为重点项目入选「2022青岛十大资本青睐企业」榜单! 极视角发布EQP激励计划,招募优质算法团队展开多维度生态合作!


点击阅读原文进入CV社区

收获更多技术干货

登录查看更多
1

相关内容

代码(Code)是专知网的一个重要知识资料文档板块,旨在整理收录论文源代码、复现代码,经典工程代码等,便于用户查阅下载使用。
深度学习简史:从感知机到Transformer
专知会员服务
100+阅读 · 2022年6月1日
自编码器26页综述论文:概念、图解和应用
专知会员服务
27+阅读 · 2022年3月5日
最新《图神经网络实用指南》2020论文,28页pdf
专知会员服务
221+阅读 · 2020年10月17日
Transformer模型-深度学习自然语言处理,17页ppt
专知会员服务
102+阅读 · 2020年8月30日
【综述】金融领域中的深度学习,附52页论文下载
专知会员服务
163+阅读 · 2020年2月27日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
Transformer论文引用破4万,两位作者离开谷歌创业
机器之心
0+阅读 · 2022年4月28日
矩阵视角下的Transformer详解(附代码)
PaperWeekly
3+阅读 · 2022年1月4日
一文读懂自注意力机制:8大步骤图解+代码
新智元
153+阅读 · 2019年11月26日
从头开始了解Transformer
AI科技评论
25+阅读 · 2019年8月28日
BERT大火却不懂Transformer?读这一篇就够了
大数据文摘
11+阅读 · 2019年1月8日
【干货】李沐等人:CNN图像分类Trick合集(附详细代码)
GAN生成式对抗网络
58+阅读 · 2018年12月11日
最全的DNN概述论文:详解前馈、卷积和循环神经网络技术
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
5+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Arxiv
0+阅读 · 2022年9月17日
Arxiv
69+阅读 · 2022年6月13日
Arxiv
35+阅读 · 2022年3月14日
Arxiv
17+阅读 · 2022年2月23日
Arxiv
103+阅读 · 2021年6月8日
Arxiv
19+阅读 · 2020年12月23日
已删除
Arxiv
32+阅读 · 2020年3月23日
Arxiv
15+阅读 · 2020年2月6日
Arxiv
15+阅读 · 2020年2月5日
VIP会员
相关VIP内容
深度学习简史:从感知机到Transformer
专知会员服务
100+阅读 · 2022年6月1日
自编码器26页综述论文:概念、图解和应用
专知会员服务
27+阅读 · 2022年3月5日
最新《图神经网络实用指南》2020论文,28页pdf
专知会员服务
221+阅读 · 2020年10月17日
Transformer模型-深度学习自然语言处理,17页ppt
专知会员服务
102+阅读 · 2020年8月30日
【综述】金融领域中的深度学习,附52页论文下载
专知会员服务
163+阅读 · 2020年2月27日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
相关资讯
Transformer论文引用破4万,两位作者离开谷歌创业
机器之心
0+阅读 · 2022年4月28日
矩阵视角下的Transformer详解(附代码)
PaperWeekly
3+阅读 · 2022年1月4日
一文读懂自注意力机制:8大步骤图解+代码
新智元
153+阅读 · 2019年11月26日
从头开始了解Transformer
AI科技评论
25+阅读 · 2019年8月28日
BERT大火却不懂Transformer?读这一篇就够了
大数据文摘
11+阅读 · 2019年1月8日
【干货】李沐等人:CNN图像分类Trick合集(附详细代码)
GAN生成式对抗网络
58+阅读 · 2018年12月11日
最全的DNN概述论文:详解前馈、卷积和循环神经网络技术
相关基金
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
5+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
相关论文
Arxiv
0+阅读 · 2022年9月17日
Arxiv
69+阅读 · 2022年6月13日
Arxiv
35+阅读 · 2022年3月14日
Arxiv
17+阅读 · 2022年2月23日
Arxiv
103+阅读 · 2021年6月8日
Arxiv
19+阅读 · 2020年12月23日
已删除
Arxiv
32+阅读 · 2020年3月23日
Arxiv
15+阅读 · 2020年2月6日
Arxiv
15+阅读 · 2020年2月5日
Top
微信扫码咨询专知VIP会员