2023年06月25日

◆ 言語AIの原理と能力 .2

 言語AIはいかにして言葉の能力を獲得したか? その手法はどんなものか? 

 ──

 GPT の原理(Transformer)


 言語AIが能力をもつには、それぞれの分野で独特の手法を使う。
 AlphaGo では、盤面の「評価関数」のような手法を使う。 https://x.gd/IxzRIp
 絵画AIでは、図形の「特徴抽出」のような手法を使う。 https://x.gd/tE8Tv
 言語AIでは、うまく行く手法がなかなか見つからなかったが、Transformer という手法を使うと、大幅に能力が向上した。では、Transformer とは、どのようなものか?

 次の説明がある。
  → 【5分で解説】AI進化のきっかけになったTransformerとは!?Attention層とは?|スタビジ
マスクしたAttention層では、特定の単語をマスクして(隠して)学習します。
ザックリ言うと、

エンコーダーで入力された重み付け単語ベクトルに対して、デコーダーでは特定の単語が隠された状態でそれより前の文章の重み付けベクトルが入力され、これらの情報から隠された単語には何が入りそうか確率値を出力するのが、このTransformerの構成です。

attention-so.gif


 また、次の説明がある。
  → ChatGPTのコア技術「GPT」をざっくり理解する - Qiita
例えば、「日本で一番高い山」という文章をGPTに入力したとします。すると、GPTはその文章に関連する可能性の高い単語を推論します。この場合、「富士山」という単語が出力されることが期待されます。

Encoderで作られたベクトルはDecoderに入力されます。Decoderはこの入力文章のベクトルを受けて、その文章の後に続く単語(関連性の高い単語)を推論する計算を行い、最終的に最も可能性の高い単語を出力します。

従って、「エンコーダー側で、入力文章をベクトルに変換し、そのベクトルをデコーダーが受け取って、推論計算を行ってを単語を生成する」とざっくり考えればよいのですが、この中で行われる、自然言語のベクトル化は、画像データや音声データのようなシンプルな手法では実現できません。

なぜなら、画像データや音声データはもともと、体系だった数値の集合体からなるデータなのでベクトル化には複雑な機構が不要なのですが、自然言語の単語には意味があり、さらに文脈があるからです。

それゆえに、これらの文章とベクトルの変換処理の過程で、文脈や単語間の関係性をベクトルに反映するための様々な処理があります。

 言語AI(特に GPT )では、Transformer という技術を使う。それは、一つの文章となるような単語列において、特定の一語をマスクする(隠す)ことによって、そこに当てはまる語が何であるかを予測する。そういうことをそれぞれの語に適用することで(つまり、マスクする語を順に交替していくことで)、文章における単語間の関係を統計的に学習する。
 そうして学習して得た知識から、逆に、新たな文章を創出していくことができる。過去の多大な文章の蓄積としての知識から、過去の文章を真似するような形で、新たな文章を作り出せる。そのとき、どのような単語や文章を選ぶかは、過去の文章の蓄積から確率的に与えられる。

 以上が、普通に説明される「言語AI(特に GPT )の原理」だ。
 



 ※ 次項に続きます。

posted by 管理人 at 23:34 | Comment(0) | コンピュータ_04 | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

  ※ コメントが掲載されるまで、時間がかかることがあります。

過去ログ