Yoneda embeddingと意味の表現

【 言語と意味の関係をカテゴリー論で整理する 】

前回のセッションで、意味のcategory M の形を見てきました。

それは、言語のcategory L のオブジェクト x から、Lの射 x → y によってうつされるすべてのオブジェクト yの集合によって表現されます。

Lのオブジェクトxを、その意味を表すcategory Setのあるオブジェクトに割り当てる functor を L(x, − )で表すと、
  L(x, − ) :  L → Set
と表すことができます。

意味のcategory M のオブジェクトは、この
  L(x, − ) : Set^L
に他なりません。

【 もとの問題意識に戻る 】

意味のcategory M の構造は定義できたのですが、それで問題が片付いたわけではありません。

もともとの問題意識は、言語のcategory Lと意味のcategory M を関連づけようということでした。
  L → M
のように。 

Mが定義できたので、これが今度はこうなります。
  L → Set^L

これを図で表してみましょう。この説明は、スライドをご覧ください。

まず、 言語のcategoryと意味のcategory の関係 を図に表してみました。
次に、この図の上で、語 red の意味がどう扱われるのか、具体例で説明しています。言語のcategory L と意味のcategory Set^L との対応は、Lのオブジェクト red をSet^Lのオブジェクト L(red, − )に対応づけるものです。

一般に、Lのオブジェクト x をSet^Lのオブジェクト L(x, − )に割り当てることを「Yoneda Embedding」と言います。

後半では、こうした構成を一般的な視点から説明しようと思います。

【 表現可能なfunctor 】

ここでは、これらの構成のアイデアのもとにあるYoneda lemmaについて、簡単に説明したいと思います。

category Cから集合のcategory Set へのfunctor

   F : C → Set 

が存在する時、このF を表現可能なfunctor と呼びます。

category Cの性質が最初はよく分からなくとも、性質のよくわかっているSet へのfunctor を考えると、Cの性質がSetの言葉で表現されてわかりやすくなると考えていいと思います。

functorでもSetへのfunctorは、特別なんだということです。

【 Hom functor 】

category Cの任意のオブジェクト A,B の間の射 A → B の集まりを、Hom(A, B)と表すことにします。

この時、Hom(A, −)、あるいは、Hom(−, B)で表される、次のような性質を持つCからSetへの表現可能なfunctorを考えます。

  Hom(A, −) :  C → Set 

このfunctorをHom functor と言います。

まず、 Hom functer Hom(A, −)について説明します。

Hom functor Hom(A, −)は、次のような性質を持っています。

 ⚫️ Hom(A, −)は、CのすべてのオブジェクトXを、射の集合Hom(A,X)にうつす。
 ⚫️ Hom(A, −)は、Cのすべての射 f : X → Y を、関数 Hom(A, f) : Hom(A, X) → Hom(A, Y)にうつす。 ただし、Hom(A, X)のすべてのgについて、g ⟼ f ∘ g とする。

ここまで、Hom functor Hom(A, −) について説明してきたのですが、それは、意味のcategory の構成に利用してきたのが、このHom Functor Hom(A, −) だったからです。

  意味のcategory Hom(A, −) :  L → Set 

Yoneda lemmaのもともとの定式化は、Hom functor Hom(−, B)を使ったものでした。 
  Hom(−, B) : C^op → Set

Yoneda Lemma は、次のことを主張しています。

「F: C^op → Setなるすべてのfunctor FとCのすべてのオブジェクトXについて、natural transformation hom(−、X) → F)は、集合F(X)の要素と一対一に対応する。」

Yoneda Lemma についての説明はここでは省略しました。

【 次回予告 】

次回は、言語のcategory Lの射に確率を導入して、category Lを拡張するという話をします。この拡張は、大規模言語モデルの数学的モデルにとっては、大事な意味を持っています。

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

ショートムービー「 Yoneda embeddingと意味の表現 」を公開しました。
https://youtu.be/qkpdelP9qW4?list=PLQIrJ0f9gMcPgnaymP8vC37oKdYa5pvDm

「 Yoneda embeddingと意味の表現  」のpdf資料https://drive.google.com/file/d/1oj0AWb0gP4BCU_mGZcmofo6L1Vp9-MVp/view?usp=sharing

blog 「 言語と意味の関係をカテゴリー論で整理する 」
https://maruyama097.blogspot.com/2023/12/yoneda-embedding.html

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


コメント

このブログの人気の投稿

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

初めにことばありき

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