transformer

transformer

在这里插入图片描述
大致结构。每个encoder结构相同,但彼此的参数独立训练。
在这里插入图片描述
左边encoder,右边是decoder。

encoder

在这里插入图片描述
输入部分分为2部分:
1.embedding
2.位置嵌入
在这里插入图片描述
上图是rnn的结构,可以看到字是一个一个输入的,有时间关系,但transformer是所有字并行输入的,就缺失了位置关系,所以需要使用位置编码。
在这里插入图片描述
比如爱这个字的向量的维度是512,对奇数位置的数字使用sin,对偶数位置的数字使用cos。
在这里插入图片描述
然后将位置编码后的与原来的单词向量相加。
在这里插入图片描述

注意力机制

在这里插入图片描述

在这里插入图片描述
婴儿就是一个query,就是上面公式里的q,key1即左上对应的向量,对应公式里的k,q和k做点乘,点乘可以反映两个向量之间的距离。
在这里插入图片描述
一个示例。s1是k1和q点乘之后的结果,
在这里插入图片描述
上图解释了q,k,v是怎么得来的,如q1与wq相乘就能得到q1。
在这里插入图片描述
计算的流程图。
在这里插入图片描述

残差

在这里插入图片描述
上图首先x1结构位置编码再和自身相加得到x1,然后经过注意力机制得到z1,再将x与z对位相加,即残差。然后feed forword,就是两层的全连接层。

layer nomalization

使用的是这个,不用bn,

decoder

在这里插入图片描述
在这里插入图片描述
可以看到,多了一个mask。
在这里插入图片描述
因为实际预测的时候到love时是看不到you,know的,所以这里就把love后面的遮盖了。
在这里插入图片描述
在这里插入图片描述
Ecoder的Q是embedding来的,是已知的,而Decoder输出的Q是预测的,也就是结果预测的词。encoder的k,v和每一个decoder的q做交互。

https://blog.csdn.net/qq_37541097/article/details/117691873

注意力机制

在这里插入图片描述
其中v是a当中提取到的信息。
在这里插入图片描述
利用右上角的公式处理q和k。得到aij,然后经过softmax。
在这里插入图片描述
之后将softmax之后的结果和v处理,得到b。
在这里插入图片描述
整体结构大致如上图。

multi head

在这里插入图片描述
如果是两个head的话,就把q分成两份。
在这里插入图片描述
同理,将所有的q、k、v进行拆分。
在这里插入图片描述
在这里插入图片描述
于是,分为了head1和head2。对每个head执行之前的一系列操作就能得到b。
在这里插入图片描述
之后再把每个head的内容进行拼接。
在这里插入图片描述
使用wo对数据进一步融合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值