↓ ↑ページトップへ
表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
バード・フル(H5N1)  作者: 弥一


この作品ページにはなろうチアーズプログラム参加に伴う広告が設置されています。詳細はこちら

17/32

Attention(アテンション)

「でも、ちょっともったいないわね」エレナが言った。


「なにが、もったいないんだい、先生」これはマルコ。


「だって、h(1) から h(6) まで、6回計算しているのに、デコーダーに渡すのは最後の h(6) だけなのよ。なんでかしら」


「h(6) の中に、h(1) から h(6) までに処理した情報が、ある程度まとめられているからじゃないの」と、ミアが言う。


「それは、そうなんだけど。h は、ここではたかだか100個の実数よね。文が長くなっていったら、一つ一つの単語の情報は少なくなっていくでしょ」


「それはそうだな」


「で、h(1) は『吾輩』を処理した直後の状態だから、その情報を反映している。h(2) は次の『は』を処理した状態だけれど、『吾輩』の情報もある程度反映しているはずだわ」


「たぶん、そうね」


 アレックスがニヤニヤ笑って3人の様子を見ている。


「なにか、おかしいの」ミアがアレックスに尋ねた。




「いえ、おかしいのではありません。エレナ先生と同じことを考えた研究者がいたのです」


「あら、そうなの」エレナが言う。



「ズミトリー・バハダナウ(Dzmitry Bahdanau)という研究者が発表した、アテンション(Attention)という仕組みが、そのような考え方です。2014年に公開された論文[1]です」


「どういうふうにやるの」


 アレックスがスライドを探す。


「エンコーダーが出力した全ての隠れ状態 h(j) と、デコーダーの前ステップの状態 s(t-1) それぞれをウェイト行列で変換して足し、活性化関数を通してスコアを計算します。


「そのスコアを softmax で正規化して Attention の重みを求め、各 h(j) の重み付き和を計算します」


「……」、「……」、「……」。


「わけがわからないですか。では、ちょっと詳細に及びますが、いちおう数式をお見せしましょう。覚えなくてもいいです。ただ、やっていることは掛け算と足し算、それに tanh のような活性化関数だけです」



「材料としてはエンコーダの隠れ層 h の束と、デコーダーの前ステップの状態 s(t-1) です。先ほどのデコーダーの図で言えば s(1) は <bos>、s(2) は★です」


挿絵(By みてみん)


「これで a という関数を定義します。これが Attention です。この a(s(t-1), h(j))で『整合度スコア』を計算します」


挿絵(By みてみん)


「『整合度スコア』を、 softmax関数で正規化します」


挿絵(By みてみん)


「『softmax関数』とは、まちまちの数字を 0 から 1 の間にまとめて、合計を1にする関数です。難しくありません」


挿絵(By みてみん)



「この式の i を固定し、j が4つあるとします。たとえば、


e(1) = -0.1, e(2) = 0.3, e(3) = -0.05, e(4) =1


だとします。すると、それぞれの指数関数の値は、

exp(e(1)) = 0.905

exp(e(2)) = 1.350

exp(e(3)) = 0.951

exp(e(4)) = 2.718


です。そして、それらの総合計は Σexp(ej) = 5.924 です、上の4つを足しただけです。


なので、


  α(1) = 0.153、α(2) = 0.228、α(3) = 0.161、 α(4) = 0.459


に変換する、というだけの意味です。どの数字も0から1の間に収まっています。


「で、このαとエンコーダの隠れ層の要素の積和をとっているだけです」


挿絵(By みてみん)


「説明すると面倒ですが、やっていることは単純ですし、覚えなくともよいです。話の本筋からは、すこしはずれていますから」


「しかし、ともかくも、バハダナウのアテンションでは、エンコーダーが計算した隠れ状態を、デコーダーが出力を生成するたびに参照します。」


「なるほど、エンコーダーの隠れ層と、デコーダーの隠れ層を混ぜてから処理しているのね」


「一言で言えば、そうです。私もそう言いたかったのですが、一応専門家ですので、『混ぜた』とはいいにくいのです。まわりくどくなりました」


「次からは『混ぜた』で、いいわよ」ミアが言う。


本日投稿以降の主な『生成AI』に関する参照図書等


・「ゼロから作るDeep Learning」2自然言語処理編, 斎藤康毅, 株式会社オライリー・ジャパン, 2018年7月24日初版第1刷


・「ゼロから作るDeep Learning」6LLM編, 斎藤康毅, 株式会社オライリー・ジャパン, 2026年6月1日初版第1刷


「ゼロ~」シリーズは、とても良い本です。

ただ2巻が2018年、6巻が2026年と8年もの開きがあるため、『Attention機構』の解釈の変遷部分について、飛躍があります。

 たしかに2026年時点に立てば、『Attention機構』を「ソフトなディクショナリ」と解釈するのが良いことは間違いないのです。

 なお、正確に言うならば『self-Attention機構』が「ソフトなディクショナリ」です。


 そこで本文では、以下の論文により飛躍部分を埋めるようにしています。


・[1] Bahdanau, Dzmiytry, Kyunghyun Cho, Yoshua Bengio:"Neural machine translation by jointly learnin to align and translate" arXiv:1409.0473(2014)

Attentionの初出論文


・[2] Luong, Minh-Thang, Hieu Pham, Christopher D. Manning"Effective Approaches to Attention-based Neural Machine Translation" arXiv:1508.04025(2015)

score関数の内積化


・[3] Vaswani Ashish, et al:”Attention Is All You Need”arXiv:1706.03762v7(2017)

Transformerの初出論文



評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。