投稿

copresheaf [0,1]^𝐿 とYoneda Lemma

【 言語理論へのenrich化されたカテゴリー理論導入の意味 】 週末のセミナーに向けて、そろそろまとめを始めようと思います。 大規模言語モデル(LLM)の成功が、数学的言語理論にどのような刺激を与えたかを、いくつか振り返ってみようと思います。それは「不思議」なことを発見した驚きに近い感覚だと思います。  ● LLMは、一見すると何の構造も持たないように見える自然言語のデータから、何かを学習する。その学習では、自然言語が文法構造を持つことは前提されていない。LLMは大量のデータから文法構造も学習できるように見える。  ● LLMが学習する「何か」の中には、意味の理解が含まれているように見える。ただ、その「意味」はどのように表現され、「意味の理解」はどう行われているのだろうか?   ● LLMは、表現の「連続」が可能である。それは、いくらでも長いコンテンツを生成できるように見える。こうした能力はLLMの母胎である「翻訳モデル」には無い能力だ。  ● LLMの「意味の分散表現」は、LLMのメカニズムやこうしたLLMの能力とどのように関係しているのだろうか?  ● ... まだまだ不思議なことはあるように思います。 昨年末に開催した、セミナーの第一部で紹介した、Tai−Danae らのカテゴリー論を枠組みとした理論 −− 言語をpreorderのカテゴリーとして捉える + copresheaf 意味論 + Yoneda embeddingによる言語と意味の対応づけ −− は、斬新なアプローチでこうした疑問の一部に答えるものでした。 ただ、これらはいわば「代数的」な性格のものでした。そこには、言語現象の重要な特質と思われる「確率論」的な性格が欠けていました。 今回のセミナー第二部で紹介するDai−Tanae らの新しい理論は、enriched category 論を使って、言語の数学的構造の理論を、代数と確率論の両者が交わるところで構成しようとしたものです。 まず、言語のカテゴリーLをpreorderから、射が[0,1]に値を取るものに変えることから始めます。(これを、「Lを[0,1]j上にenrich化する」と言います。) 今回のセッションの内容は、主要に、第一部の理論の骨組みが、enrich化可能であることを示そうとしたものです。次のように。  ● Cを[0,1]上でe

enriched functor と enriched copresheaf

【 functor category をenrich化する 】 このセッションの目的は、カテゴリー C からカテゴリーDへのfunctor 𝐶→𝐷 であるcopresheaf 𝐷^𝐶のenrich版を構成することです。 まず、functorの定義を振り返りながら、enrich化されたfunctorを定義します。 ここでは、次のような定義が与えられます。 「CとDを、あるcommutative monoidal preorder (V, ⊗, ≤, 1)上でenrich化されたカテゴリーとする。この時、Cのすべてのオブジェクト 𝑥,𝑦について    𝐶(𝑥,𝑦) ≤ 𝐷(𝑓𝑥,𝑓𝑦) を満たす関数  𝑓: 𝐶 → 𝐷 を enriched functorと呼ぶ。」 ここで、C(x,y), D(x',y')は、enriched category のhomオブジェクトです。 次に、functorカテゴリーの定義とcopresheafの定義を振り返りながら、enrich化されたcopresheafの定義を考えていきます。 Vがclosed commutative monoidal preorder の時、Vは自分自身でenrich化されたカテゴリーになります。先の定義で見た、enrich化されたfunctor f: C → 𝐷 で𝐷 = 𝑉とした enrich化されたfunctor 𝐶 → 𝑉を考えます。 「Cを、closed commutative monoidal preorder V上でenrich化されたカテゴリーとする。enrich化されたcopresheaf 𝑉^𝐶は、Cのすべてのオブジェクト𝑥,𝑦について   𝐶(𝑥, 𝑦) ≤ 𝑉(𝑓𝑥, 𝑓𝑦) を満たす関数で定義される。」 この条件式は、先に見たenriched functor の条件式で、𝐷 = 𝑉としたものに他なりません。 通常のカテゴリーでは、カテゴリー間の写像が functor category を定義するように、 enrich化されたカテゴリーでは、enrich化されたカテゴリー間の写像が、enrich化されたfunctor category を定義します。 -------------------------

Syntax category −− enriched category論の言語理論への応用

【 この投稿はわかりやすいかも知れない 】 このセッションから、新しい内容に入ります。 前回まで、enriched category とはどういうものなのか、その概略を見てきたのですが、このセッションから、このenriched category論を言語理論へどのように応用するのかという話をしたいと思っています。 今回はその一回めで、言語のカテゴリーに確率を導入します。それは、単なるpreorderという構造しか持たなかった言語のカテゴリーを、[0,1]でenrich化して、[0,1]−categoryにしようということです。 このカテゴリーを、Syntax categoryと呼ぶことにします。 ( 難しい言い方をすれば、単位区間[0,1]は、closed commutative monoidal preorder で、enrich化する能力を持ち、この[0,1]で enrich化されたカテゴリーを、[0,1]−categoryと呼びます。Syntax categoryは、言語の表現をオブジェクトにする、[0,1]−categoryなのです。) 【 すこしわかりやすいかも 】 ただ、今回の投稿は、少しわかりやすいのではと思っています。 なぜなら、この投稿では数学的定義や証明はほとんど出てきませんし、何よりも、こうした言語のカテゴリーと大規模言語モデルの関係が主要に語られているからです。 なぜ、面倒なカテゴリー論の枠組みを使うのか? それは、そうした数学的枠組みが、大規模言語モデルのある意味不思議な特徴を、よりよく捉えているからです。そこが出発点です。 ここで述べていることは、大規模言語モデルの振る舞いを実際に知っている人には、覚えのあることで、わかりやすいと思いますが、それは大事なことなのです。 数学的な議論だけを追いかけていると、大事な「原点」を見失うこともあります。その意味では、今回の投稿を「原点」を確認するのに使ってもらえたらと思っています。 【 Lの射 L(x,y)とその値 】 [0,1]でenrich化されたSyntax category Lでは、その射L(x,y)は、𝜋(𝑦|𝑥)で定義されています。ここで、 𝜋(𝑦|𝑥)は、表現 yが表現 x の拡大である確率です。 例をいくつか挙げましょう。   𝐿(𝑟𝑒𝑑,𝑟𝑒𝑑 𝑓𝑖𝑟

1/27 マルレク 「大規模言語モデルの数学的構造 II 」受付開始

【 1/27 マルレク 「大規模言語モデルの数学的構造 II 」受付開始 】 申し込みはこちら: https://llm-math2.peatix.com/ 先月12月30日のセミナー、「大規模言語モデルの数学的構造 I -- 言語へのカテゴリー論的アプローチ入門 」に、多くの人に関心を持っていただいて、ありがとうございました。 1月27日、セミナーの第二部を「大規模言語モデルの数学的構造 II -- enriched categoryによる言語モデル」というタイトルで開催します。 この連続セミナーは、大規模言語モデルの振る舞いをもっと詳しく知りたいという人を対象にしています。 この連続セミナーは、大規模言語モデルの「不思議な振る舞い」に対して、カテゴリー論に依拠して全く新しい視点からのアプローチを展開したTai-Danae Bradleyらの論文 "An enriched category theory of language: from syntax to semantics" の紹介しようとしたものです。 先月のセミナーの第一部は、この論文の基本的特徴である言語理論へのカテゴリー論アプローチの基礎を解説したものでした。 今回のセミナーでは、第一部では取り上げていなかった、先の論文の主題である、enriched category を用いたsyntaxからsemanticsにいたる言語理論の紹介をしようと思います。この第二部から、いよいよ、連続セミナーの本題に入ることになります。 遅くなりましたが、セミナーへの申し込み受付を開始しました。あらためて、多くの人のセミナー第二部への参加をお願いしたいと思います。 今回のセミナーは、次のような構成をしています。 Part I  第一部のふりかえり ・ 言語のカテゴリー Lを、preorder category として捉える ・ 表現 Sの「意味」を、カテゴリー L 内の S → T なる射全体の集合と考える ・ 意味のカテゴリーは、copresheaf  𝑆 𝑒 𝑡 𝐿 で表現される ・ 言語のカテゴリーと意味のカテゴリーの対応は、Yoneda Embeddingで与えられる ・言語のカテゴリーに確率を導入する Part 2  言語の論理性と意味のモデルとしてのcopresheaf ・ 意味

closed commutative monoidal preorder と internal hom

【 すごいのかすごくないのか? 】 前回のセッションで、単位区間[0,1]がcommutative monoidal preorder であることを見てきました。 素晴らしい!  本当かな? 実際の舞台裏を見ると、「monoidal product ⊗ を普通の実数間の掛け算とし、monoidal unit を 1 とし、preorderの順序関係 ≤ を 通常の実数間の大小関係とする」解釈をするってことですね。 というのは、そのまんまの普通の区間[0,1] じゃないかと思われたかもしれません。確かに。やさしいことを難しくむずかしく言っているだけかも知れません。 ただ、こうした見方には、意味があります。 この論文の基本的な狙いは、セミナーの第一部で見てきた代数的な言語理論に、確率概念を導入しようとする事です。確率的なものの見方は欠けているのですが、copresheaf を意味のカテゴリーとして捉えようというアプローチは魅力的なものでした。 第一部で紹介したcopresheaf意味論の枠組みを維持したまま、確率概念を導入する為の方法としてこの論文が選んだことは、enriched categoryの理論を用いることでした。 以前の枠組みのカテゴリーの射を、新しいカテゴリーの[0,1]の確率を表す値を取る射に置き換えること。それは、元のカテゴリーを単位区間[0,1]でenrich化することに他なりません。 冒頭で述べた、すごいのかつまらないのかわからない到達点は、あるカテゴリーを確率[0,1]でenrich化出来ることを、カテゴリー論の言葉で述べたものです。その意味では、この論文の目的への第一歩としては、大きな意味を持っています。 今回のセッションでは、単位区間[0,1]がcommutative monoidal preorder であるという議論をもう一歩進めます。その為に、commutative monoidal preorder の仲間である closed commutative monoidal preorderというカテゴリーを導入します。 このカテゴリーの面白いところは、それ自身enrichするカテゴリーであるcommutative monoidal preorder の内部に、enrichする射の構造を定義できるということです。 [x,y]で表されるこの射を

commutative monoidal preorder

【 少し困ったこと 】 ここでは、カテゴリーVがenrichするカテゴリーである条件を述べたいと思います。 ただ、少し困ったことがあります。enriched category理論の論文を読むと、その条件は、Vがsymmetric monoidal preorder であることと述べられているのですが、Tai-Danaeらの論文では、Vがcommutative monoidal preorder であるとして議論が展開されています。  symmetric:       𝑦⊗𝑥 ≤ 𝑥⊗𝑦  commutative:   𝑦⊗𝑥 = 𝑥⊗𝑦 の違いだと思います。 その意味では、 symmetric monoidal preorder と commutative monoidal preorder の概念は異なるものです。 symmetric monoidal preorder の方が広い概念です。 ただ、順序がpreorderではなく poset だとすると、 𝑦⊗𝑥 ≤ 𝑥⊗𝑦 かつ 𝑦⊗𝑥 ≤ 𝑥⊗𝑦 から 𝑦⊗𝑥 = 𝑥⊗𝑦 が導かれるので、両者の概念は一致します。 Tai-Danaeらの論文が扱っている言語の文字列表現の順序関係は、もちろん preorderでもありますが、posetです。 ですので、あの論文で、enrich化するカテゴリーとしてcommutative monoidal preorder で議論を進めているのは間違っている訳ではありません。 基本的に、論文の記述に沿って解説を行いたいと思います。 【 commutative monoidal preorder の定義 】 まず、commutative monoidal preorder の定義を見ていきたいと思います。 こんな形です。 commutative monoidal preorder (𝑉,≤,⊗,1) は、preorder (𝑉,≤) 上の、次の条件を満たす commutative monoid (𝑉,⊗,1) である。  𝑥 ≤ 𝑥′  かつ 𝑦 ≤ 𝑦′ ならば、𝑥⊗𝑦 ≤ 𝑥′⊗𝑦′ この条件は、順序だけからなるpreorder (𝑉,≤) の世界を、二項演算だけからなるmonoid (𝑉,⊗,1)の世界を結びつ

enrich以前のカテゴリーと enrich化されたカテゴリーを比較する

【 enrichするカテゴリーの働きを考える 】 今回のセッションでは、enrich化される以前のカテゴリーとenrich化するカテゴリーと enrich化されたカテゴリーの三つのカテゴリーが登場します。 紛らわしいので、次のような名前をつけておこうと思います。  ・C : enrich化される以前のカテゴリー   ・V:enrichするカテゴリー  ・E:enrich化されたカテゴリー 今回は、enrich化される以前のC と enrich化されたE を比較します。その目的は enrich化するVの働きを考える事です。 C と Eとの比較で、最初に確認できるのは、この二つのカテゴリーは同じオブジェクトを持つ事です。もともとは、文字列の表現をオブジェクトとする言語のカテゴリーに確率を導入しようとしているenrich化を考えていたわけで、enrich化されたカテゴリーのオブジェクトも、文字列の表現になるのは、当然です。 カテゴリーの射についてはどうでしょう? ここはCとEでは大きく変わっています。enrich化されたE の射は、元のCの射とは、全く異なるものです。前回は、以前の射にラベルをつけただけのような説明をしていたのですが、本当は違います。 ここに、enrich化するVが登場します。Eの射はVの要素になります。言語のカテゴリーに確率を導入しようとした話に戻れば、確率を表す単位区間[0,1]がVで、Eの射は、この単位区間に値をとることになります。単位区間[0,1]自身が、カテゴリーVとして、ある構造を持っているのです。 enrich化するという事は、CとEでは、射が別のものとして定義されるという事です。 大事なことは、射の定義が置き換わったとしても、CとEは両方ともカテゴリーだということです。そのことは、カテゴリーである元のCの射が持っていた基本的な性質、同一射の存在とか射の合成の結合性、といった性質は、enrich化されたEの射も、Eがカテゴリーである以上、同様に満たさなければならないということです。 問題は、Eの射は、enrich化するVによって定義されたものです。Vは自分の言葉で、同一射の存在とか射の合成の結合性に相当するものを定義し、その働きを再現できなければなりません。 -------------------------------- ショートムービー「