Redian新闻
>
学完这个教程,小白也能构建Transformer模型,DeepMind科学家推荐

学完这个教程,小白也能构建Transformer模型,DeepMind科学家推荐

公众号新闻
Pine 发自 凹非寺
量子位 | 公众号 QbitAI

真正零门槛!小白都能轻松看懂的Transformer教程来了。

在自然语言处理和计算机视觉领域,Transformer先后替代了RNN、CNN的地位成为首选模型,最近爆火的ChatGPT也都是基于这个模型。

换言之,想进入机器学习的领域,就必须得懂Transformer。

这不,量子位就发现了一篇零基础也能学的教程,作者是前微软、Facebook首席数据科学家,也是MIT机械工程的硕博士,从视觉化矩阵乘法开始,带你一步步入门。

DeepMind研究科学家Andrew Trask也转发评论道:

这是我至今见过最好的教程,它对入门者非常非常友好。

这条帖子也是掀起了一阵热度,浏览量已经有近30w。

网友们也纷纷在评论区作出“码住”状。

从视觉化矩阵乘法开始学

因为这是一个新手入门的教程,所以在正式学Transformer之前,会有很多介绍矩阵乘法和反向传播的内容。

并且在介绍的过程中,作者逐个添加学习Transforme所需要了解的概念,并加以解释。

具体有多新手友好,我们先来浅看下这篇教程~

基础概念解释

首先,了解Transformer的第一步就是编码,就是把所有的单词转换成数字,进而可以进行数学计算。

一般来说,将符号转换为数字的有效方法是先对所有单词符号分配数字,每个单词符号都会对应一个独立的数字,然后单词组成的句子便可以通过数字序列来表示了。

举个简单的例子,比如files=1、find=2和my=3。然后,句子“ Find my files”可以表示为数字序列[2,3,1]。

不过这里介绍的是另外一种方法,即独热编码

具体来说,就是将单词符号转换成一个数组,这个数组中只能有一个1,其他全为0。还是上面那个例子,用这种方式表示的话如下图。

这样一来,句子“Find my files”就变成了一维数组的序列,压缩到一块也就像是二维数组了。

接下来就要再来了解下点积矩阵乘法了。

点积这里也就不再过多赘述,元素相乘再相加便可以了。

它有两个作用,一个是用来度量两个单词之间的相似性,一个是显示单词的表示强度

相似性很容易判别,一个单词的独热矢量和自己的点积是1,和其他的点积为0.

至于表示强度,和一个能够表示不同权重的值向量进行点乘便可以了。

矩阵乘法,看下面这幅图便足矣。

从简单的序列模型开始介绍

了解完这些基础概念之后,就要步入正轨了,开始学习Transformer是如何处理命令的。

还是用例子来解释,开发NLP计算机界面时,假设要处理3种不同的命令

  • Show me my directories please.(请给我看看我的目录)

  • Show me my files please.(请给我看看我的档案)

  • Show me my photos please.(请给我看看我的照片)

可以用下面这个流程图(马尔可夫链)来表示,箭头上的数字表示下一个单词出现的概率。

接下来解释将马尔可夫链转换为矩阵形式了,如下图。

每一列代表一个单词,并且每一列中的数字代表这个单词会出现的概率。

因为概率和总是为1,所以每行的数字相加都为1。

以my为例,要想知道它的下一个单词的概率,可以创建一个my的独热向量,乘上面的转移矩阵便能得出了

再然后,作者又详细介绍了二阶序列模型,带跳跃的二阶序列模型,掩码。

至此,关于Transformer,已经学到了最核心的部分,至少已经了解了在解码时,Transformer是如何做的。

不过了解Transformer工作的原理和重新建造Transformer模型之间还是有很大差距的,后者还得考虑到实际情况。

因此教程中还进一步展开,作了更大篇幅的学习教程,包括Transformer最重要的注意力机制。

换句话说,这个教程就是从最基础的东西教我们重新构建一个Transformer模型。

更加具体内容就不在这里一一列出了,感兴趣的朋友可以戳文末链接学习。

目录先放在这里,可以根据自己的基础知识选择从个阶段开始学起:

1、独热(one-hot)编码
2、点积
3、矩阵乘法
4、矩阵乘法查表
5、一阶序列模型
6、二阶序列模型
7、带跳跃的二阶序列模型
—-分割线—-(学完上面这些,就已经把握住Transformer的精髓了,不过要想知道Transformer,还得往下看)
8、矩阵乘法中的注意力
9、二阶矩阵乘法序列模型
10、完成序列
11、嵌入
12、位置编码
13、解除嵌入
14、softmax函数
15、多头注意力机制
16、使用多头注意力机制的原因
17、重现单头注意力机制
18、多头注意力块之间的跳过连接
19、横向规范化(Layer normalization)
20、多注意力层
21、解码器堆栈
22、编码器堆栈
23、编码器和解码器栈之间的交叉注意块
—-又一个分割线—-(如果你学到这里,那说明Transformer你已经掌握得差不多了,后面讲的东西就是关于如何让神经网络表现良好了)
24、字节对编码(Byte pair encoding)

作者介绍

Brandon Rohrer,目前是Linkedin的一名机器学习工程师,曾先后在微软,Facebook担任首席数据科学家。

在Facebook工作期间,他建立了一种更精确的电网映射预测模型,以评估全球的中压电网的连通性和路由。

写教程算是Brandon的一大爱好了,目前他所有的教程都不断更新在他的新书《如何训练你的机器人》中,帖子的跨度从职业发展到各种编程工具的介绍。

传送门:
https://e2eml.school/transformers.html#softmax
更多教程:
https://e2eml.school/blog.html

百度研究院、阿里达摩院、量子位智库

年度十大科技报告

总结2022,预见2023。来自百度研究院、阿里达摩院和量子位智库的年度十大科技报告均已发布,点击下方图片即可跳转查看。

百度研究院

阿里达摩院

量子位智库


点这里👇关注我,记得标星哦~

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见 ~ 


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
60行代码就能构建GPT!网友:比之前的教程都要清晰|附代码Seq2Seq、SeqGAN、Transformer…你都掌握了吗?一文总结文本生成必备经典模型(一)全球首个面向遥感任务设计的亿级视觉Transformer大模型EeSen、FSMN、CLDNN、BERT、Transformer-XL…你都掌握了吗?一文总结语音识别必备经典模型(二)Transformer模仿大脑,在预测大脑成像上超越42个模型,还能够模拟感官与大脑之间的传输超越ConvNeXt!Conv2Former:用于视觉识别的Transformer风格的ConvNet清华朱军团队开源UniDiffuser:首个基于Transformer的多模态扩散大模型!文图互生、改写全拿下!Treg的功能鉴定:构建Treg和Responder T共培养体系更快更强!EfficientFormerV2来了!一种新的轻量级视觉Transformer统治扩散模型的U-Net要被取代了,谢赛宁等引入Transformer提出DiT文学艺术的源泉究竟是从何而来Transformer如何做扩散模型?伯克利最新《transformer可扩展扩散模型》论文7 Papers & Radios | 谷歌开源机器人领域transformer;DeepMind推出剧本写作AI扩散模型和Transformer梦幻联动!一举拿下新SOTAMeta发布ConvNeXt V2!仅用最简单的卷积架构,性能不输Transformer史上最全Transformer合集!LeCun力推:给60个模型建目录,哪篇论文你错过了?清华朱军团队开源首个基于Transformer的多模态扩散大模型,文图互生、改写全拿下强化学习中的Transformer发展到哪一步了?清北联合发布TransformRL综述超越ConvNeXt!Transformer 风格的卷积网络视觉基线模型Conv2FormerDeepMind“反向”搭建Transformer方法火了:由可解释程序设计AI,项目已开源清华朱军团队开源UniDiffuser:首个基于Transformer的多模态扩散大模型【小雪】重庆天寒地冻· 妈妈的小确幸大规模的化学语言 transformer 模型捕捉分子结构和性质扩散模型和Transformer梦幻联动!一举拿下新SOTA,MILA博士:U-Net已死严冬的缅怀7 Papers & Radios | 无残差连接训练深度transformer;DeepMind写代码AI登Science封面扩散模型和Transformer梦幻联动!替换U-Net,一举拿下新SOTA!有样学样,不学好样。。。单卡就能运行AI画画模型,小白也能看懂的教程来了,还有100万卡时免费NPU算力可用丨昇思MindSpore首次!无残差连接或归一化层,也能成功训练深度TransformerTransformer再胜Diffusion!谷歌发布新一代文本-图像生成模型Muse:生成效率提升十倍ICRA 2023 | CurveFormer:基于Transformer的3D车道线检测新网络过自己想要的生活
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。