开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 32 天,点击查看活动详情
(本文是第39篇活动文章)
开宗明义:attention就是一个加权机制,但是权重需要经过训练得到。感觉有些情况就是代替了concat然后过模型的场景,优势是更小、参数更少。 本文介绍一些我自己整理的常见attention类型。
本文不关注别的博文里已经写烂了的attention机制的重要性和直觉解释(又不是写论文还要写introduction)。 multi-head attention也不在本文赘述。
最近更新时间:2023.3.1 最早更新时间:2022.11.23
@[toc]
1. attention基础概念讲解
2. attention结果计算方法
2.1 KQV版
K-key:输入,想从中找到权重高低的部分的那个东西 Q-query:拿来计算key各部权重的对象 KQ是拿来计算权重的
V-value:是那个被用来乘权重的对象(也就是输入)
2.1.1 Dot-Product Attention
2.1.1. 加权求和:Q是训练出来的context vector
K是通过输入通过MLP后得到,Q是通过训练得到的context vector,V是输入。相当于对输入进行一个加权求和
-
HAN1:两层attention+GRU
(图中h是单词表征,是单词表征经一层MLP后得到的隐表征,是context vector,是注意力权重,s是句子表征)
(这是第二层attention,差不多)
-
LeSICiN2里面聚合法条表征:
(论文中给出一项优化方法,是将context vector改为用其他嵌入经线性转换后得到的结果。但是没给出ablation study)
2.1.1.2 加权求和,GAT系
(根据样本之间存在的关系/边来计算attention)
- GAT3:用每个节点的所有邻居节点(有自环,所以包括该节点本身)信息attentively聚合
a就是那个MLP(对每个节点对表征(向量对),得到标量)
将上两式合并:
加权求和:
(GAT的多头注意力机制,前几层是concat,最后一层是average:)
- MAGNN4:延续GAT思想。
也是聚合两次,一次是将目标节点的metapath instances表征聚合为metapath表征:
(图中黄色是目标节点表征,是metapath-specific的权重 (attention vector) )
再将各个metapath表征聚合起来:(这个应该算是context vector系了,图中是节点类型的attention vector)
Footnotes
-
Hierarchical Attention Networks for Document Classification ↩
-
LeSICiN: A Heterogeneous Graph-based Approach for Automatic Legal Statute Identification from Indian Legal Documents 可参考我写的博文:Re6:读论文 LeSICiN: A Heterogeneous Graph-based Approach for Automatic Legal Statute Identification fro ↩
-
MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding ↩