言語のcategoryに確率を導入する -- enriched category

【 セミナーを二つに分割します 】

今月末に予定しているセミナーを二つに分けて、enriched category に基づく言語理論を紹介する後半部分を次回のセミナー「大規模言語モデルの数学的構造 2」に回そうと思っています。予定変更、すみません。詳しくは、このポストの最後の部分をお読みください。

【 言語のcategoryに確率を導入する 】

これまでみてきた言語のcategory L では、二つの表現SとTがある時、SがTの部分文字列である時、S → T という射が存在します。

例えば、次のような射が category L には存在します。

  red → red firetruck
  red → red idea

S → T という射を、単なる部分文字列の関係としてではなく、表現Sが表現Tを「連想させる」という関係として考えると、普通の言語使用の局面では、red → red firetruck の方が、red → red idea よりたくさん出現するような気がします。

「連想」というのが曖昧だというなら、表現の「継続」あるいは表現の「連続」と考えて構いません。

こうした違いを、数値的に次のように表現することにします。射 を表す矢印の上に数字が割り当てられています。

           0.12
  red  →  red firetruck

          0.003
  red  →  red idea

この例は仮のものですが、ここでのポイントは、射 red → red firetruck に割り当てられた 0.12という数字が、射 red → red ideaに割り当てられた 0.003という数字より大きいということです。

このことが、「普通の言語使用の局面では、red → red firetruck の方が、red → red idea よりたくさん出現するような気がする」ということを表現していると考えましょう。

もう少しきちんと定義すれば、これらの数字は、表現Sが現れた時、表現Sの「継続」として表現Tが現れる条件付き確率π(T|S)だと考えることができます。


【 大規模言語モデルでの Next Sentence Prediction 導入の意味 】

僕は、翻訳モデルから大規模言語モデルへの飛躍をもたらした最大のものは、文と文の「継続」あるいは「連続」を学習することを可能とする能力の獲得にあったと考えています。

もっともプリミティブなものは、おそらくBERTのpretrainingで導入されたNext Sentence Prediction (NSP) のフラグだったと思います。

スライドに、BERTのPre-Trainingでの、Next Sentence Prediction とそのサンプルを示しておきました。ご覧ください。

このBERTの例でいえば、category L で次のような射が、ある確率を割り当てられて存在することを意味しています。

the man went to convenience store → the man went to convenience store he bought a gallon of milk

ただ、次のような射は存在しません。あるいは、割り当てられる確率はゼロです。

the man went to convenience store → the man went to convenience store penguin are flight less birds

このように、category L に確率を導入することで、大規模言語モデルの表現の継続の振る舞いを、より具体的にシミレートできます。


【 確率導入のもう一つの意味 -- 文法性の付与 】

それだけではありません。言語のcategoryへの確率の導入は、言語に文法性を与えることに繋がります。

英語だと、射 cat → black cat は、射 cat → cat black より出現確率は高いのですが、フランス語だと、逆に、射 chat → chat noir の方が射 chat → noir chatより出現確率が高くなります。

この確率の違いは、英語では形容詞の後ろに名詞が続くのに対して、フランス語では名詞の後ろに形容詞が続くという、二つの言語の文法の違いを反映しています。

こうして、「形容詞は名詞の前にくる」(あるいは、形容詞は名詞の後ろにくる」)といった、文法ルールの形は取らないのですが、射に割り当てる確率を、その代理として、文法にあたるものを表現できます。

これまでは、言語からできるだけ構造を排除して、残ったpreorder の性質からだけ、言語のcategory L を作ってきたのですが、pregroupのような強い性質を前提にしなくとも、確率の導入だけで、言語のcategory Lに文法性を回復できるのです。

こうして拡張された言語のcategory を L’ としましょう。スライドに、これまでの言語のcategory L と確率を付与された言語のcategory L’のイメージ を示しておきました。


【 enriched category 】

このように、あるcategoryをベースにしながら、その上に新しい特徴を与えて作られるcategoryをenriched category と言います。

今回のセミナーが取り上げようとしているTai-Danae らの論文、
“An Enriched Category Theory Of Language : From Syntax to Semantics” は、まさに、このenriched category を用いて、大規模言語モデルと言語の数学的構造に迫ろうとしたものです。


【 セミナーを前半と後半の二つに分けます 】

セミナーの目的を、前述のTai-Danae らの論文を理解することにおいているのですが、まだ、この論文の基本的なツールであるenriched categoryの紹介ができていません。

ここまでのショートムービーだけでも既に3時間を超えています。一回のセミナーに全てを詰め込むのは、かえってわかりにくいものになると感じています。

そこで、セミナーを、enriched category 導入以前(実はまだ話すべきことが残っていて、終わっていません)の前半部分と、enriched category 導入以後の論文本体の紹介の後半部分の二回に分割しようと考えています。

ただ、いわばenriched category導入以前にフォーカスした現在進行中のセミナー前半の内容は、とても大事なものです。

特に、言語のcategory Lを、集合に値を持つL上のcopresheafを意味のcategoryとして、Yoneda embedding で対応づける手法は、セミナー前半のコンテンツの中核です。

セミナー後半は、確率を導入した拡大された言語のcategory L’ に、この構成をそっくり適用したものになっています。

 
--------------------------------

ショートムービー「 言語のcategoryに確率を導入する -- enriched category  」を公開しました。
https://youtu.be/XjzYKeNsD7I?list=PLQIrJ0f9gMcPgnaymP8vC37oKdYa5pvDm

「 言語のcategoryに確率を導入する -- enriched category   」のpdf資料
https://drive.google.com/file/d/1qESfSC3kn2gmb2F0H7cmh9x7fFwvBeUv/view?usp=sharing

blog 「 セミナーを二つに分割します 」
https://maruyama097.blogspot.com/2023/12/category-enriched-category.html

「大規模言語モデルの数学的構造」まとめページ
https://www.marulabo.net/docs/llm-math/


コメント

このブログの人気の投稿

マルレク・ネット「エントロピーと情報理論」公開しました。

初めにことばありき

人間は、善と悪との重ね合わせというモデルの失敗について