教你手撸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. 总结

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值