一. decoder
架构如下:
decoder主要是解析encoder的资讯,转换成output的形式
decoder分成下面三个子层:
二. Masked Multi-head self-Attention Sublayer
各位应该很好奇为何第一个部分要有masked,因为transformer是一个生成式的模型,不能让他知道後面的答案,以中英文翻译为例子的话,假如encoder是处理中文的地方,decoder是处理翻译英文的部分,假设英文是'Mary had a little lamb',那在一开始时,会先只给他encoder的资讯,看能不能产生Mary,在生成第二个字也就是'had'时会给decoder看'Mary',看能不能生成'had',那怎麽做mask,如下图,会将不能给decoder看的字给他'0',只有1代表是目前decoder能使用的input,下图是'NLP100天马拉松的图':
三. Multi-head encoder-decoder-Attention Sublayer
还记得前一天说的,encoder将k与v送至decoder,就是这一段,decoder经过Masked Multi-head self-Attention,产生的Q与encdoer做attention,就是要让decoder学目前的输入与encoder哪些资讯关联性高,算法与self-attention是相同的,如下图:
最後就是一层全连接层了,最後经过softmax预测最适合的翻译词~~
整体decoder的运作就是这样~明天会以transformer实作中英文翻译任务~
>>: 【设计+切版30天实作】|Day11 - [设计进阶挑战] 如何把Reviews的呈现方式改成可滚动式的卡片呢?
敏捷开发最後的结果会是什麽? 最後我想跟大家分享一段小故事,故事大约是这样的: 男主角丹,因为车祸的...
间隔 有了布局跟对齐功能之後,现在我们要来了解如何设置行与行/栏与栏之间的间隔罗。 下图是没有间隔的...
今天开始进入到 Behavioral design patterns,这一类的模式着重於物件之间的沟...
Onboarding process 第一周有哪些重点 每个月定期追踪 第三个月是最危险的 ...
第四天的小试身手解答:将Unity介面改为2By3,Project从Two Column Layou...