$l$ 層における多頭自己注意機構

Def:Multi-Head Self-Attention, MHA

入力列表現 $X^{(l-1)} \in \mathbb{R}^{n \times d}$ に対して, 以下で定義される写像である.

\[\widetilde{X}^{(l)} \;=\; \mathrm{MHA}^{(l)}(X^{(l-1)}) \;+\; X^{(l-1)},\]

ここで, \[\mathrm{MHA}^{(l)}(X^{(l-1)}) \;=\; \Bigl( \bigoplus_{h=1}^H \mathrm{head}_h^{(l)}(X^{(l-1)}) \Bigr) W_O^{(l)},\]\[\mathrm{head}_h^{(l)}(X^{(l-1)}) \;=\; \mathrm{Softmax}\!\left(\frac{Q_h^{(l)} \, {K_h^{(l)}}^\top}{\sqrt{d_k}}\right) V_h^{(l)},\]\[Q_h^{(l)} = X^{(l-1)} W_Q^{(l,h)}, \quad K_h^{(l)} = X^{(l-1)} W_K^{(l,h)}, \quad V_h^{(l)} = X^{(l-1)} W_V^{(l,h)}.\]

ここで $H$ はヘッドの数, $\oplus$ はヘッドの連結を表す.$W_Q^{(l,h)}, W_K^{(l,h)}, W_V^{(l,h)} \in \mathbb{R}^{d \times d_k}$ および$W_O^{(l)} \in \mathbb{R}^{Hd_k \times d}$ は学習可能な重み行列である.また, $\sqrt{d_k}$ によるスケーリングは内積の値を安定させるための正規化である.

すなわち, 多頭自己注意機構とは, 入力表現を複数の部分空間において並列的に自己注意を計算し, その結果を結合した上で線形変換を施し, さらに残差接続を加えることで次層に伝達する変換写像である.

自己注意とは系列中の各位置 $i$ において, 他のすべての位置 $j$ からの情報を重み付き和として取り込む仕組みである.

その際, クエリ $Q$ とキー $K$ の内積によって関連度が計算され, ソフトマックス関数により確率的な重みへと正規化される.

これにより, 系列全体の依存関係が一度の行列演算で得られるため, 逐次的に計算を必要とする RNN よりも効率的かつ長距離依存性に強い構造となる.

多頭化は, 注意機構を複数の低次元部分空間に分散させて学習することを意味し, 各ヘッドが異なる側面の関連性を抽出できる点で表現力を高める.つまり,あるヘッドは統語的関係[主語と動詞など]に注目し,別のヘッドは意味的類似性に注目し,さらに別のヘッドは長距離依存関係に注目する.ここで,ヘッドが何に注目すべきかを明示的に指定することはできない.この点は重要なポイントである.各ヘッドの重み行列 は,訓練開始時にはランダムに初期化される.その後,勾配降下法による学習プロセスを通じて,各ヘッドが自発的に特定の言語的パターンに特化していくのである.すなわち,学習後に注意重みを可視化して初めて,各ヘッドが何に注目しているかが判明することである.学習済みモデルを分析して,「このヘッドは主語-動詞関係を捉えている」「あのヘッドは代名詞の照応を追跡している」などと事後的に発見することとなる.

最後に各ヘッドを結合して線形変換を施すことで, 個別に得られた注意の情報を統合し, 豊かな特徴表現を生成する.

残差接続は入力情報を保持しつつ変換を加える働きを持ち, 層正規化と組み合わせることで深いネットワークでも学習が安定する.

この仕組みにより, Transformer は系列処理において従来の RNN や CNN に比べ飛躍的に高い性能と効率性を達成したのである.

Mathematics is the language with which God has written the universe.





















SLURM Transformer LASSO ピアソンの積率相関係数 リンター 後者関数