言語のカテゴリーに確率を導入する

【 第一部のふりかえりと第二部の課題 】

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

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

  red → red firetruck
  red → red idea

S → T という射を、単なる部分文字列の関係としてではなく、表現Tが表現Sの「継続」であると考えて、その「継続」が出現する確率を次の様に表すとします。

  L( red, red firetruck ) = 0.12
  L( red, red idea ) = 0.003

この例は仮のものですが、ここでのポイントは、射 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 のフラグだったと思います

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に文法性を回復できるのです。


【 enriched category 】

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

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


【 第一部で構成した代数的言語理論のふりかえり 】

第一部で構成した代数的(確率論なし)言語理論をふりかえってみましょう。

 ● 表現の部分文字列の包含関係を射とするpreorder categoryとして、言語のカテゴリーLを特徴づける。

 ● 言語のカテゴリーLから集合のカテゴリーSetへのfunctor categoryであるcopresheaf 𝑆𝑒𝑡^𝐿 として、意味のカテゴリーを特長づける。copresheaf 𝑆𝑒𝑡^𝐿のオブジェクトは、𝐿→𝑆𝑒𝑡 であるfunctorである。

 ● 言語のカテゴリーLのオブジェクトを意味のカテゴリー copresheaf 𝑆𝑒𝑡^𝐿 のオブジェクトと結びつけるには、Yoneda embedding 𝑥⟼𝐿(𝑥, −) を利用する。

 ● Lの論理的構造 OR, ANDを表現するのに、functorのcoproduct, product を利用する。

【 第二部の課題 】

重要な事は、第二部でも、第一部の上で見たような 「 copresheaf 意味論」の枠組みを基本的に踏襲すると言う事です。

問題は、Lの射L(x,y) が、確率値を持つように”enrich”化された時、この枠組がどの様に変化するかということです。 こうして拡張されたcategory Lを、[0, 1]上で enrich化されたカテゴリーといいます。

[0, 1]は、確率が値を取る 0から1までの実数(0,1の両端を含む)を表し、単位区間と呼びます。

第一部で観てきた「copresheaf意味論」を継承するためには、次の様な問題に答えていかなければならないことになります。

 ● Lの[0,1]上でのenrich化は、どの様に可能か?

 ● copresheafの[0,1]上でのenrich化は、どの様に可能か?

 ● Yoneda Embeddingの[0,1]上でのenrich化は、どの様に可能か?

 ● coproductの[0,1]上でのenrich化は、どの様に可能か?

 ● productの[0,1]上でのenrich化は、どの様に可能か?

 ● ……

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


ショートムービー「 言語のカテゴリーに確率を導入する 」を公開しました。
https://youtu.be/eAmV2djJ-uc?list=PLQIrJ0f9gMcPmrJ3B0LEXJ_SHPP-ak_hw

「 言語のカテゴリーに確率を導入する 」のpdf資料
https://drive.google.com/file/d/1BDk-5Be6ZFJ3myA4AuPsWU_smFiHuZ-N/view?usp=sharing

blog 「 第一部のふりかえりと第二部の課題 」
https://maruyama097.blogspot.com/2024/01/blog-post_15.html

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

ショートムービーの再生リスト
https://www.youtube.com/playlist?list=PLQIrJ0f9gMcPmrJ3B0LEXJ_SHPP-ak_hw

コメント

このブログの人気の投稿

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

初めにことばありき

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