アテンション (機械学習)
アテンションは「入力ベクトル列のクエリ依存動的重みづけ和」に相当する演算である。
アテンションでは各入力ベクトル x k {\displaystyle {\boldsymbol {x}}_{k}} の重みづけ和を i {\displaystyle i} 番目の出力ベクトル y i {\displaystyle {\boldsymbol {y}}_{i}} とする。このとき、重みは単なる固定値ではなく動的に計算される(ソフトウェイト)。動的な計算は、 i {\displaystyle i} 番目の出力に紐づく情報を表現した関連ベクトル c i {\displaystyle {\boldsymbol {c}}_{i}} と取り込まれる入力ベクトル自身に基づく。情報の流れを表現する概念式としては以下に相当する:
y i = ∑ k w i k x k = ∑ k f ( c i , x k ) x k {\displaystyle {\boldsymbol {y_{i}}}=\sum _{k}w_{ik}{\boldsymbol {x}}_{k}=\sum _{k}f({\boldsymbol {c}}_{i},{\boldsymbol {x}}_{k}){\boldsymbol {x}}_{k}}
この式が表すように、アテンションでは各出力に対して関連ベクトルと入力ベクトルから重みを求め、その重みに基づいて全入力を取り込む。