Day 19 利用transformer自己实作一个翻译程序(一)

前言

当初想说将每天学到的东西打成一篇文章,纪录看看30天後学会了什麽

但是最近翻自己的文章就发现内容打的很乱,感觉很多重要的细节没有讲到

进入到实作之後,发现自己对self-attention的用法非常不了解

在查询资料的时候有找到TensorFlow官方释出的Transformer model for language understanding

於是我决定接下来要好好整理这一份文章,用前面提到的知识来慢慢看懂self-attention的程序以及概念

如果英文很好的AI大神可以直接去看TensorFlow的那一篇文章

介绍

这一个教学是训练Transformer模型,并且制作葡萄牙翻译成英文的模型,我会尝试看看做出英文翻译成繁体中文的模型

Transformer模型的核心思想就是self-attention,如同Day 9 Self-attention(三)提到的,可以透过算出alpha来了解不同输入序列的相似程度

Transformer使用self-attention而不是RNN或CNN来处理可变大小的输入

有关self-attention和CNN跟RNN的比较在Day 13 Self-attention(七)中有提到

这个架构的缺点,有两个

  1. 对於时间序列,每一个时间的资料都是去计算所有的输入,因此效率可能会比较低
  2. 如果输入有时间/空间的关系,例如:I am a student.,不同的文字会有前後顺序的关联性,若是这样的资料需要额外加入位置编码,在Day 13 Self-attention(七)有提到加入位置编码的方法有很多种,目前还没有找到最好的方法

明天开始建构环境以及下载资料集


<<:  Day 6 [Python ML] 随机森林(Random Forests)演算法

>>:  Day7 if else实作

rsync异地备份+排程自动化

今天要接续昨天的排程备份来实作「异地备份」 读者们如果对rsync操作尚不熟悉,可到 昨天 复习喔 ...

利用大数据分析预测MLB胜负(下)

在上一篇文章中,我们介绍了作者最终挑选模了Elastic net (L1+L2) penalty r...

放开那本字典:匿名函式 anonymous function

唯心又看了诗忆之前写的几个高阶函式练习。「嗯⋯⋯我觉得你与其说是对高阶函式不熟,不如说是对匿名函式不...

Day 29. Hi-Fi Prototype-以 Figma 制作高精度原型 (下)

由於 Figma 的核心是 GUI 设计工具,附带原型制作能力,所以一般来说我们都会使用它来进行高精...

AE新手必学の三种常用追踪方法02-Day29

接续昨天的追踪练习~ 我本来看六指渊的,但某些地方遇到了卡点 补充其他影片辅助:https://ww...