Re Reference AI

アーキテクチャ

Self-Attentionとは

自己注意機構

同一の入力系列内で各要素同士の関連度を計算し、系列全体の文脈を考慮した表現を得るAttentionの一形態

Transformer深層学習

ひとことで言うと

文章の中の単語同士がお互いにどれだけ関係あるかを計算する仕組み。

概要

Self-Attention(自己注意機構)とは、Attentionのうち、Query・Key・Valueの全てを同一の入力系列から生成し、系列内の各要素が他の全ての要素とどれだけ関連するかを計算する仕組み。 通常のAttentionが入力系列と出力系列など異なる系列間の関連度を計算するのに対し、Self-Attentionは同じ系列内の要素同士の関連度を計算する点が特徴。 これにより、文中の離れた位置にある単語同士の関係も、系列長によらず直接計算でき、Transformerアーキテクチャの中核的な構成要素として採用されている。

背景

RNNでは、文中の離れた位置にある単語同士の関係を捉えるために、情報を逐次的に伝播させる必要があり、系列が長くなるほど関連は薄れやすいという課題があった。 Self-Attentionは、系列内の任意の2つの要素間の関連度を、位置の距離によらず直接計算する手法として導入された。

歴史

2017年: Vaswaniらが論文「Attention Is All You Need」において、再帰構造を用いずSelf-Attentionのみでモデルを構成するTransformerを提案し、Self-Attentionという用語と手法が広く普及した。

利点

  • 系列内の任意の位置関係にある要素同士の関連度を、距離によらず直接計算できる
  • 各要素の計算を並列に行えるため、RNNと比べて学習を高速化しやすい

欠点

  • 系列長の2乗に比例して計算量・メモリ使用量が増加する
  • 位置情報を明示的には持たないため、別途位置エンコーディングを加える必要がある

比較

  • AttentionSelf-Attentionは、Query・Key・Valueを全て同一系列から生成する、Attentionの特殊な形態
  • TransformerTransformerはSelf-Attentionを中核の構成要素として採用したアーキテクチャ

関連用語

AttentionTransformerRoPEFlashAttentionGQAMQASliding Window Attention

関連Zenn記事