9.4学习日记

一、掩码自注意力机制

1.什么是掩码自注意力机制

掩码自注意力机制是在自注意力机制的基础上,通过引入掩码来控制模型在计算注意力权重时所能看到的信息范围。其主要目的是在序列生成任务中,防止模型在预测当前位置的输出时“偷看”未来的信息,确保模型只能利用当前位置之前的信息进行预测。

2.与自注意力机制的区别

例如有“机器学习很有趣”这句话,普通自注意力机制每个词在处理时都可以看到整句话的所有词,比如“机器”这个词会关注“学习”、“很”、“有趣”,“学习”这个词也能看到“机器”、“很”、“有趣”,“有趣”这个词同样能看到整句话中的所有其他词。而掩码自注意力机制每个词只能看到自己和它之前的词,不能看后面的词。例如:
“机器”只看到了自己。
“学习”只看到了“机器”和自己,但看不到后面的词。
“很”只看到了“机器”和“学习”,但看不到**“有趣”**。
“有趣”只看到了“机器”、“学习”、“很”,因为后面没有词了

3.掩码自注意力机制的实现

(1)生成掩码矩阵:创建一个上三角矩阵(不包含对角线),将上三角部分设置为负无穷或一个非常大的负数,其他部分设置为0。
(2)应用掩码:在计算注意力权重之前,将掩码矩阵加到查询和键的点积结果上。这会使得被掩码的位置在经过softmax函数后,注意力权重接近于零。
(3)计算注意力:使用掩码后的注意力权重对值向量进行加权求和,得到最终的输出。
它被用在transform的解码器部分

二、多头自注意力机制

在这里插入图片描述
之前说到注意力机制是对输入向量进行qkv的计算,我们这里的多头注意力机制是对输入向量进行不同的线性变换,将其降维生成不同的qkv矩阵,称之为不同的头,分别计算注意力,将每个头的输出拼接起来,再经过一次线性变换得到最终的输出。上面的图实际上计算这一过程

三、自注意力机制为什么需要位置编码

在自注意力机制中,输入的所有词(或向量)是并行处理的,模型本身不具备词与词之间相对位置的概念。但是句子中的词序对语义理解非常重要,比如在句子 “猫追狗” 和 “狗追猫” 中,虽然词汇相同,但顺序的不同导致了语义的完全变化。位置编码可以帮助模型知道句子的正确顺序。因此,为了让模型知道词在句子中的顺序,位置编码被引入到每个词向量中,以保留句子中词的顺序信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值