动手学习深度学习(23)自注意力机制(self attention)
在深度学习中,经常使用CNN或RNN对序列进行编码。使用注意力机制之后,每个查询都会关注所有键值对并生成一个注意力输出。由于查询、键、值来自同一组输入,因此被称为自注意力。自注意力适合处理长文本,但是复杂度相对会更高。
- 给定序列
- 自注意力池化层将当作key,value,query来对序列抽取特征得到,这里
位置编码
跟CNN/RNN不同,自注意力并没有记录位置信息。
位置编码讲位置信息注入到输入里,使得自注意力能够记忆位置信息。假设长度为的序列是,那么使用位置编码矩阵来输出作为自编码输入。
的元素如下计算:
计算过程
计算过程如下:需要学习的参数为
A矩阵中存储的即为attention的分数,A‘为attention matrix
计算输出O
- Title: 动手学习深度学习(23)自注意力机制(self attention)
- Author: 茴香豆
- Created at : 2023-02-13 15:37:21
- Updated at : 2023-02-15 16:03:50
- Link: https://hxiangdou.github.io/2023/02/13/DL_23/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments