当前位置:   article > 正文

教你手撸Transformer

手撸transformer

前言

Transformer是继mlp,cnn,rnn后的又一类神经网络模型,自提出以来,已经广泛应用与自然语言处理(NLP)与计算机视觉(CV)领域。作为从业者和工程师,又必要对这一前沿技术进行跟进学习。
互联网上关于Transformer的介绍和讲解多如牛毛,但是真正引人入胜的文章寥寥无几,大多数文章要么是低级的重复抄袭,不堪卒读。要么是只介绍Transformer中的一个小点,读来有种只见树木不见森林的感觉,容易使读者感觉盲人摸象,似是而非。还有一些非常不错的文章,但是又缺乏对应的可供试手的代码。
鉴于此,特写这个手撸Transformer的教程,既希望能帮助其它同学学习,也是对自己最近学习Transformer的一个总结。
本教程以jupyter notebook的形式发布,将理论介绍与对应代码相结合,方便读者学习参考。
在本教程中,将会介绍Transformer中的基本概念,然后逐模块地给出一个Transformer模型的实现,并在一个机器翻译数据集上训练Transformer,便于读者获得一个直观的感受。

​​​​​​​

教程地址

Transformer手把手教程

教程目录

1.Transformer介绍

2.Transformer中的核心概念

什么是embedding

什么是位置编码(Positional encoding)

什么是自注意力机制

什么是Feed Forward Network

关于网络结构的其它细节

3.从零构建Transformer

环境配置

embedding层的实现

位置编码层的实现

多头注意力Multi head attention层的实现

前馈神经网络的实现

编码器层的实现

编码器的实现

解码器层的实现

解码器的实现

最终的Transformer

4. 训练Transformer用作机器翻译

数据集加载

Tokenize与字典

构建数据集和DataLoader

学习率调度

训练

5. 测试

6. 总结

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/439372
推荐阅读
相关标签
  

闽ICP备14008679号