NLP Academy · レッスン

マルチヘッド Attention と位置情報

複数の視点と語順の認識

レッスン 3/413 ステップ

「マルチヘッド Attention と位置情報」はCoddyKit上の無料NLP Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはNLP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 NLP Academyコースには全4レッスンが含まれています。

1つのHeadでは限界がある

1つのattention headが一度に追跡できる関係は、1種類だけです。実際の言語では、多くのパターンを同時に捉える必要があります。🧠

多くのHead、多くの視点

Multi-head attentionは、複数のattention計算を並列に実行します。それぞれが固有の学習済み射影と、独自の注目対象を持ちます。

各Headが学習すること

あるheadは主語と動詞のつながりを追跡し、別のheadは代名詞を追跡するかもしれません。これらを組み合わせることで、文をはるかに豊かに捉えられます。

次元を分割する

モデルはベクトルのサイズを複数のheadに分割するため、各headはより小さな部分空間で処理します。計算量の合計はおおむね変わりません。

d_head = d_model // num_heads

Headを組み合わせる

各headが出力を生成したら、それらを連結し、さらに1つの線形層に通して、それぞれの視点を組み合わせます。

out = concat(head_1, head_2, ...) @ W_o

Attentionは順序を無視する

Self-attentionは入力を集合として扱うため、それだけでは「dog bites man」と「man bites dog」を区別できません。つまり順序を認識できないのです。

位置情報を追加する

これを解決するために、各単語へpositional encodingを注入し、系列の中で各tokenがどこにあるかをモデルに知らせます。

正弦波によるEncoding

元のTransformerは、異なる周波数の固定された正弦波と余弦波を使い、各位置に固有で滑らかな特徴を与えます。

pe[pos, 2i] = sin(pos / 10000 ** (2*i/d))

後ろに付けず、加算する

位置ベクトルは単語のembeddingの末尾に付け足すのではなく、embeddingに加算します。そのため各tokenは、意味と位置の両方を同時に持ちます。

x = token_embeddings + positional_encoding

位置も学習する

現代の多くのモデルは、固定された波の代わりに学習済みの位置embeddingを使います。これらは他の要素と一緒に学習され、柔軟に対応できます。

両方が重要な理由

Multi-head attentionは多くの関係を捉え、位置encodingは順序を取り戻します。これらが組み合わさることで、Transformerは系列を本当に理解できるようになります。✨

クイックチェック

位置情報とheadについて確認しましょう。

まとめ

multi-head attentionが多くの関係を並列に捉え、位置encodingがモデルに順序の感覚を与える仕組みを学びました。🎯

無料で開始

AI チューターと学ぶ Python — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「マルチヘッド Attention と位置情報」レッスンは無料ですか?

はい。「マルチヘッド Attention と位置情報」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、NLP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 NLP Academyコースには全4レッスンが含まれています。

「マルチヘッド Attention と位置情報」で何を学びますか?

複数の視点と語順の認識 ブラウザで直接実行するハンズオンコードでNLP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

NLP Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのNLP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「マルチヘッド Attention と位置情報」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このNLP Academyレッスンでコードを書いて実行できますか?

はい。すべてのNLP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Attention の考え方
  2. Self-Attention を順を追って理解する
  3. マルチヘッド Attention と位置情報
  4. Transformer ブロックの内部
← NLP Academyに戻る