見出し画像

【位置エンコーディング🔖】なぜ計算の並列性を維持したまま、単語の絶対位置や相対的な距離を理解できるモデルになったのか🔥:G検定合格講座 特別講義 No.31

論文精読の意義:なぜ「今」この論文なのか

現代のAI学習者が『Attention Is All You Need』
精読することには、単なる知識習得を超えた
決定的な意義があると思っています👍

主な理由としては、以下の3点が挙げられます!
第一に、ChatGPTやGeminiなどの最新生成AIは
すべてこのTransformer構造を基盤としており
本論文を理解することは現代AIの「共通言語」を
習得することに他なりません。

第二に、従来のRNNが抱えていた逐次処理の限界を
「Attention(注意機構)」のみで突破したという
歴史的なパラダイムシフトの思考プロセスを
一次情報から直接吸収することができます!

第三に、流行に左右されない数理的な本質を学ぶことで
新しいモデルが登場しても動じない普遍的な
技術的視座を養うことが可能となるはずです✨
そして何より、この難解な論文を体系的に理解し
数式と論理を読み解く経験を得ることは
本稿をご覧になった受講者様が
「AIを単なる道具として使わされる側」から
「技術を深く理解し、有益に使いこなす側」の人財
へと進化するための最強の武器となるのです。

AI系の資格合格など、AIに関心のある全ての
皆様にとって、有益なコンテンツとなるよう詳述して
まいりますので、どうぞ最後までご愛読ください📗


Positional Encoding

今回の投稿では、論文の3.5節に基づき
Transformerが系列データの順序情報を
どのように処理しているのかを解剖します⏰
RNNのような逐次処理を捨てたモデルが
いかにして「単語の位置関係」を再構築しているのか
その独創的なアプローチを詳述します✨

【3.5 Positional Encoding】
Since our model contains no recurrence and no convolution, in order for the model to make use of the order of the sequence, we must inject some information about the relative or absolute position of the tokens in the sequence.
To this end, we add "positional encodings" to the input embeddings at the bottoms of the encoder and decoder stacks.
The positional encodings have the same dimension dmodel as the embeddings, so that the two can be summed.
There are many choices of positional encodings, learned and fixed [9].
In this work, we use sine and cosine functions of different frequencies:
$${ PE_{(pos, 2i)} = \sin(pos / 10000^{2i / d_{model}}) }$$
$${ PE_{(pos, 2i+1)} = \cos(pos / 10000^{2i / d_{model}}) }$$

where $${pos}$$ is the position and $${i}$$ is the dimension.
That is, each dimension of the positional encoding corresponds to a sinusoid.
The wavelengths form a geometric progression from $${2π}$$ to 10000 · $${2π}$$.
We chose this function because we hypothesized it would allow the model to easily learn to attend by relative positions, since for any fixed offset $${k}$$, $${P E_{pos+k}}$$ can be represented as a linear function of $${P E_{pos}}$$.
We also experimented with using learned positional embeddings [9] instead, and found that the two versions produced nearly identical results (see Table 3 row (E)).
We chose the sinusoidal version because it may allow the model to extrapolate to sequence lengths longer than the ones encountered during training.

出所:https://arxiv.org/pdf/1706.03762

日本語訳については下記の通りです!
【3.5 位置エンコーディング】
私たちのモデルには、再帰も畳み込みも含まれて
いないため、モデルがシーケンスの順序を利用するには
シーケンス内のトークンの相対的または絶対的な位置に
関する情報を注入する必要があります🔂
この目的のために、エンコーダとデコーダの
スタックの下部にある入力埋め込みに
「位置エンコーディング」を追加します。
位置エンコーディングは埋め込みと同じ
次元$${d_{model}}$$を持つため、2つを合計できます。
位置エンコーディングには、学習型と固定型など
多くの選択肢があります[9]。
この研究では、異なる周波数の正弦関数と
余弦関数を使用しようしています。

$${ PE_{(pos, 2i)} = \sin(pos / 10000^{2i / d_{model}}) }$$
$${ PE_{(pos, 2i+1)} = \cos(pos / 10000^{2i / d_{model}}) }$$

ここで、$${pos}$$は位置、$${i}$$は次元です。
つまり、位置エンコーディングの各次元は
正弦波に対応しています。
波長は、$${2π}$$から10000 · $${2π}$$までの
等比数列を形成しています。
この関数を選んだのは任意の固定オフセット$${k}$$に対して
$${P E_{pos+k}}$$ は $${P E_{pos}}$$の線形関数として
表せるため、モデルが相対位置による注意を
容易に学習できると仮説を立てたからです。
また、代わりに学習済み位置埋め込み[9]を使用する
実験も行いましたが、2つのバージョンで
ほぼ同じ結果が得られました。(表3の行(E)を参照)。
正弦波バージョンを選んだのは、モデルが
トレーニング中に遭遇したシーケンス長よりも
長いシーケンス長に外挿できる可能性があるためです。

✅English Topics🌏

Since S V…:SがVであるため
contain:~を含む
recurrence:回帰、再帰
convolution:畳み込み
in order for:~のために
make use of:~を利用する
inject:注入する
some information:いくつかの情報
relative:相対的
absolute:絶対的
frequencies:周波数
dimension:次元、寸法
correspond to:~に相当する
geometric:幾何学的な
hypothesize:仮説を立てる
be represented as:~として表される
sinusoidal:正弦波の
extrapolate:外挿する
encountere:遭遇する


なぜ位置情報が必要なのか

Transformerの根幹を成すAttention機構は
全単語を同時に(並列に)処理するため
そのままであれば「私はカフェでコーヒーを飲む」と
「コーヒーは私をカフェで飲む」を区別できません💦

  • 再帰と畳み込みの排除: モデル内にRNNやCNNを含まないため、系列の順序を利用するためには、トークンの相対的または絶対的な位置に関する情報を明示的に注入する必要があります。

  • 位置情報の注入: そこで、入力の埋め込みベクトル(Input Embeddings)に対し、位置情報を持つ「位置エンコーディング(Positional Encodings)」を加算します。

正弦波を用いた位置エンコーディングの数理

本論文では、異なる周波数のサイン関数(sine)と
コサイン関数(cosine)を用いた
位置エンコーディングを採用しています🧮

$${ \\PE_{(pos, 2i)} = \sin(pos / 10000^{2i / d_{model}}) }$$

$${ \\PE_{(pos, 2i+1)} = \cos(pos / 10000^{2i / d_{model}}) }$$

ここで、$${pos}$$は位置、$${i}$$は次元を表します。
この設計には、以下のような深い意図が
込められていることを覚えておきましょう!

  1. 次元ごとの波長変化: 各次元が異なる周期の正弦波に対応し、波長は $${2\pi}$$ から $${10000 \cdot 2\pi}$$ まで幾何級数的に変化します。

  2. 相対的な位置の学習: 任意の固定オフセット $${k}$$ に対して、$${PE_{pos+k}$$ を $$PE_{pos}}$$の線形関数として表現できるため、モデルが相対的な位置関係を容易に学習できると仮定されています。

  3. 未知の長さへの対応: 固定の正弦波を使用することで、学習時よりも長い系列に対しても外挿(extrapolate)が可能になることが期待されています。


例題)G検定対策演習問題

問題1
Transformerにおいて、正弦波を用いたPositional Encodingを採用した主な理由として、論文内で「期待されている効果」として述べられているものはどれか。

  1. パラメータ数を削減し、モデルを軽量化するため。

  2. 学習時よりも長い系列に対しても、モデルが対応(外挿)できるようにするため。

  3. 埋め込みベクトルの次元数を2倍に増やし、表現力を高めるため。

  4. RNNの隠れ状態を擬似的に再現し、逐次計算を可能にするため。


問題2
Positional Encodingの数式に関する記述として、正しいものはどれか。

  1. 各位置に対してランダムに生成された数値を加算する。

  2. サイン関数とコサイン関数の周期は、すべての次元において一定である。

  3. 位置 $${pos}$$ と次元 $${i}$$ を用いて、異なる周波数の正弦波を生成する。

  4. 埋め込みベクトルに加算するのではなく、行列演算によって積を求める。

本講義では、Transformerに「時間の概念」を
教えるPositional Encodingを学習しました📘
サイン波とコサイン波を組み合わせるという
数学的なアプローチにより、モデルは計算の並列性を
維持したまま、単語の絶対位置や相対的な距離を
理解できるようになりました。
この工夫こそが、Transformerを単なる「集合」の
処理モデルではなく、真の「言語」処理モデルへと
進化させたという背景をしっかり覚えておきましょう💚

本稿での演習問題の解答につきましては
内容通りですので、割愛させていただきます🙏

本日のアウトプットはここまでとします!

AIを味方に、DX人材としての自信と
キャリアの可能性をを手に入れるべく
G検定や生成AIパスポートといった資格は
もちろん、今後のキャリアアップに繋がる
学習をコツコツと進めてまいります🔥

引き続きよろしくお願いいたします!

前回のお復習い💐

復習を大切にして、確実にインプットした
知識を自分の記憶に留めておきましょう!

なお、本例題は一般社団法人日本ディープラーニング協会(JDLA)が公開する「G検定(ジェネラリスト検定)シラバス」に基づいて、出題範囲の理解促進を目的として独自に作成されたものです。

  • JDLAならびにG検定の試験実施機関とは一切関係ございません。

  • 出題形式や選択肢、解説は正確性・網羅性を完全に保証するものではありませんので、ご留意ください。

  • あくまで学習補助・理解促進の参考資料としてご活用ください。
    利用によって生じた結果や損害につきまして、制作者は一切の責任を負いません。


G検定とは?

G検定とは、一般社団法人日本ディープラーニング協会(JDLA)が実施する、AI・ディープラーニングの活⽤リテラシー習得のための検定試験です。
AI・ディープラーニングに関わる全ての方が受験対象です。

G検定で得られるもの💻
AI・ディープラーニングについて体系的に学ぶことで
「AIで何ができて、何ができないのか」
「どこにAIを活用すればよいか」
「AIを活用するためには何が必要か」が理解でき
データを活用した新たな課題の発見やアイデアの創出が可能になる、デジタル施策の推進に自信が持てるようになるなど、あなたのビジネスやキャリアの可能性が飛躍的に広がります。

出所

G検定を取得するメリット🎊

・AIに関する基礎知識の体系的な習得:AIやディープラーニングに関する幅広い知識を効率的に学ぶことができます。
AI人材としての客観的な証明:資格取得により、AIに関する知識を持つことを客観的に証明できます。
ビジネスにおけるAI活用能力の向上: AIの可能性や限界を理解し、事業への応用を検討する上で役立ちます。
キャリアアップ: 就職・転職活動や社内でのキャリアアップに有利に働く可能性があります。
最新技術動向の把握:AI分野の最新動向や倫理的な課題についても学ぶことができます。
JDLAコミュニティへの参加:合格者はJDLAのコミュニティに参加し、知識の共有や交流を行うことができます。
DX推進パスポート: G検定合格者は、デジタルリテラシー協議会が発行する「DX推進パスポート」のオープンバッジを取得できます。

G検定の試験概要💮

主催団体: 一般社団法人日本ディープラーニング協会(JDLA)
試験形式:オンライン実施(自宅受験)※対面試験もあり。
試験時間:100分 ※26年1月試験から変更。
出題形式:知識問題(多肢選択式、約145~150問程度)
受験資格:制限なし(誰でも受験可能)
受験料:一般:13,200円(税込)、学生:5,500円(税込)
※再受験割引あり(受験日から2年以内は半額)
出題範囲:JDLAが公開しているシラバスに準拠
試験詳細:G検定公式ページにてご確認ください。
合格ライン:JDLAは公式に合格ラインを発表していませんが、一般的に70%程度の正答率が目安と言われています。
合格率: 開催回によって変動しますが、60%~75%程度で推移しています。

詳細な試験範囲:シラバスG2024#6

(シラバス)G2024#6(出所)
技術分野法令・倫理分野に分かれています!

今後はこちらのシラバスを参考に試験対策に繋がる投稿を作成してまいりますので、乞うご期待ください✨

G検定は、AI、特にディープラーニングに関する基礎知識を幅広く習得し、ビジネスの現場でAIを活用するための第一歩となる資格と言えるでしょう!

受験資格もなく、かつ、オンラインで受験できるため、多くの方が挑戦しやすい資格と言えるのではないでしょうか👍

なお、本例題は一般社団法人日本ディープラーニング協会(JDLA)が公開する「G検定(ジェネラリスト検定)シラバス」に基づいて、出題範囲の理解促進を目的として独自に作成されたものです。

  • JDLAならびにG検定の試験実施機関とは一切関係ございません。

  • 出題形式や選択肢、解説は正確性・網羅性を完全に保証するものではありませんので、ご留意ください。

  • あくまで学習補助・理解促進の参考資料としてご活用ください。
    利用によって生じた結果や損害につきまして、制作者は一切の責任を負いません。

おすすめの参考書📚

※本稿は2026年2月に執筆した内容です。
情報が更新されている可能性がございます。
念のため最新情報をご確認くださいませ。


おすすめマガジンのご紹介✨

今後、さらにコンテンツを
拡充できるように努めて参りますので
何卒よろしくお願い申し上げます📚

最後までご覧いただきありがとうございました🌈

まだまだ浅学非才な私ですが
noteという最高の環境を活用して
日々、成長できるように精進します🔥

アウトプット前提のインプットを体現する
ことができるのは、本当に有意義であると
思いますし、成長の記録としても残るため
非常にやりがいを感じています。

社会人になってもnoteはなるべく
継続していきたいことではありますが
あくまで趣味としての取組みになりますので
優先順位を大切にして活動していきます!

お気軽にコメント、スキ&記事の共有
そして私のアカウントをフォローして
いただけると大変嬉しく思います✨

今後とも何卒よろしくお願いいたします!

いいなと思ったら応援しよう!

とある社会人の自己成長記録note📚 よろしければ、応援お願いします! いただいたチップはクリエイターとしての活動費に使わせていただきます! 引き続き何卒よろしくお願いいたします💛