你给我解释解释,什么TMD叫TMD attention(持续更新ing...)(1)

186 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 32 天,点击查看活动详情

(本文是第39篇活动文章)

诸神缄默不语-个人CSDN博文目录

开宗明义: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是输入。相当于对输入进行一个加权求和

  1. HAN1:两层attention+GRU 在这里插入图片描述
    在这里插入图片描述 (图中h是单词表征,uitu_it是单词表征经一层MLP后得到的隐表征,uwu_w是context vector,α\alpha是注意力权重,s是句子表征) 在这里插入图片描述 (这是第二层attention,差不多)

  2. LeSICiN2里面聚合法条表征: 在这里插入图片描述

    (论文中给出一项优化方法,是将context vector改为用其他嵌入经线性转换后得到的结果。但是没给出ablation study)

2.1.1.2 加权求和,GAT系

(根据样本之间存在的关系/边来计算attention)

  1. GAT3:用每个节点的所有邻居节点(有自环,所以包括该节点本身)信息attentively聚合 在这里插入图片描述 a就是那个MLP(对每个节点对表征(向量对),得到标量) 在这里插入图片描述 将上两式合并: 在这里插入图片描述 加权求和: 在这里插入图片描述 (GAT的多头注意力机制,前几层是concat,最后一层是average:) 在这里插入图片描述 在这里插入图片描述
  2. MAGNN4:延续GAT思想。 也是聚合两次,一次是将目标节点的metapath instances表征聚合为metapath表征: 在这里插入图片描述 (图中黄色是目标节点表征,aP\mathbf{a}_P是metapath-specific的权重 (attention vector) )
    再将各个metapath表征聚合起来: 在这里插入图片描述 在这里插入图片描述 (这个应该算是context vector系了,图中qA\mathbf{q}_A是节点类型的attention vector)

Footnotes

  1. Hierarchical Attention Networks for Document Classification

  2. 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

  3. Graph Attention Networks

  4. MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding