投稿

“red and blue” の意味を考える

【 AND と OR、product と coproduct は dual である 】 前回、"red or blue" という論理的な表現を、copresheaf を意味のカテゴリーとする意味論で扱うことができることを見てきました。 今回は、"red and blue" という論理的な表現も、copresheaf を意味のカテゴリーとする意味論で扱うことができることを見ていきます。 前回の説明とパラレルに議論は進みます。 前回、"red or blue"という意味をfunctor L(red, ~ )とfunctor L(blue, ~ ) のcoproduct で表したように、今回は、 "red and blue"という意味をfunctor L(red, ~ )とfunctor L(blue, ~ ) のproduct で表すことができるということです。 product と coproduct の定義の説明は、今回は立ち入らないということにしていたのですが、ほとんど同じような議論の展開なので、少しだけですが、product と coproduct は、"dual" な概念であると言う説明を追加しました。それは、論理でも、AND と OR は、"dual" であることを反映しています。 もっとも、今回のセッションで見ていることは、product と coproduct の定義がよく似ていて、ただし、射の矢印の向きが、すべて逆になっていると言うことだけです。 後日、きちんと説明しますが、興味がある人はスライドの "Universal property" の説明を読んでいただくと、嬉しいです。 -------------------------------- ショートムービー「 “red and blue” の意味を考える 」を公開しました。 https://youtu.be/I-quXjcEizQ?list=PLQIrJ0f9gMcPmrJ3B0LEXJ_SHPP-ak_hw 「 “red and blue” の意味を考える 」のpdf資料 https://drive.google.com/file/d/10oGc4g87g

“red or blue” の意味を考える

【 “red or blue” の意味を考える 】 このセッションでは、これまで見てきたフレーム上で、言語の論理的な構造を表す、"A or B", "A and B" ... といった表現の意味を扱うことができることを見ていきたいと思います。今回扱うのは、"red or blue" という表現の意味です。  【 集合の和”A∪B”と論理の”A or B” 】 一対の集合A, Bがあるとします。例えば、  集合A:赤い色を持つすべてのものの集合     (赤い口紅、フランス国旗、一時停止標識など)。 集合B:  青い色を持つすべてのものの集合     (コマドリの卵、フランス国旗、ブルーベリーなど)。 赤か青のどちらかを持つすべてのものの集合は何か? それは別の集合、それらの和 A∪B です。集合 A∪B は、”red or blue”という概念に対応する集合です。  【 集合の和に対応するfunctor -- coproduct 】 集合の和を取ることができるように、functorに対しても同様の操作を行うことができます。 それを「集合の和」と呼ぶ代わりに、”coproduct” という別の名前をつけ、’⊔’ という記号で表します。 ”red"と ”blue"を表す2つのfunctorのcoproductは、それらの論理和、つまり ”red or blue"という概念を表すもう1つのfunctorです。 coproductというのは、productの名前が入っていますが、基本的には、和、ユニオン、直和、 ..といった概念の抽象化で、categorical sum と呼ばれることもあります。 coproductの定義を、挙げておきましたが、今回は詳しく説明していません。それについては、後日、limit, colimit といった概念の紹介を予定していますので、その時に触れたいと思います。 【 基本的なアイデア 】 functor L(red, − )は、意味 “red”を表し、 functor L(blue, − )は、意味 “blue”を表します。 そこで、”red or blue” の意味を表すfunctor は、 functor L(red, − ) と functo

「大規模言語モデルの数学的構造」第二部へのお誘い

【「大規模言語モデルの数学的構造」第二部へのお誘いと第一部のふりかえり 】 先月のセミナー、「大規模言語モデルの数学的構造 I -- 言語へのカテゴリー論的アプローチ入門 」に、多くの人に(「当社比」ですが)関心を持っていただいて、ありがとうございました。 この連続セミナーは、基本的には、Tai-Danae Bradleyらの論文 "An enriched category theory of language: from syntax to semantics" の紹介を目指したものです。先月のセミナーの第一部は、この論文の基本的特徴である言語理論へのカテゴリー論アプローチの基礎を解説したものです。 今月、セミナーの第二部を「大規模言語モデルの数学的構造 II -- enriched categoryによる言語モデル」というタイトルで開催します。 ここで、第一部では取り上げていなかった、先の論文の主題である、enriched category を用いたsyntaxからsemanticsにいたる言語理論の紹介をしようと思います。第二部から、いよいよ、連続セミナーの本題に入ることになります。 あらためて、多くの人のセミナー第二部への参加をお願いしたいと思います。 【 第一部のふりかえり 】 ここでは、第一部で見てきたことを簡単にふりかえります。  【 言語のカテゴリー Lを、preorder category として捉える 】 言語を構成する意味を持つ文字列である、語・フレーズ・文・文の連続 ... を「表現」とします。任意の表現 S, Tについて、表現Sの文字列が表現Tの部分文字列であるとき、S ≦ Tと順序を定義します。 この順序は、次の性質が確かめられますので preorder(前順序)です。  1. S ≦ S  (反射律)  2. S ≦ T かつ T ≦ U なら、S ≦ U (推移律) この時、言語の表現をオブジェクトとし、表現間の順序 S ≦ T を S → T という射(モルフィズム)を定義すると考えると、言語は、preorder category として捉えることができることがわかります。 ここでは、次のことに注意しましょう。  ・この言語のカテゴリー L では、二つの異なるオブジェクト間の射は、   ただ一つ存在するか、あるい

OpenAIについて -- 2023年11月の内紛をどう捉えるか

【  OpenAIについて -- 2023年11月の内紛をどう捉えるか 】 丸山が昨年11月から12月にかけて行った、OpenAIについての講演のビデオと講演資料を公開します。 講演ビデオ https://youtu.be/aX1YhmnKBqE?list=PLQIrJ0f9gMcPDkBpgkuFx3ZV31KYj2kl s 講演資料 https://drive.google.com/file/d/1z3BhP3fDPdQOBkIBAiltA6915RhSlYJy/view?usp=sharing blog ページ https://maruyama097.blogspot.com/2024/01/openai.html 基本的な問題意識は、いうまでもなく、あのような内紛がどのような背景で起きたかということです。 講演は、次の四つのコンテンツから構成されています。   1.  OpenAI創設の経緯 https://www.youtube.com/watch?v=aX1YhmnKBqE&t=21s  2.  OpenAIの組織構造 https://www.youtube.com/watch?v=aX1YhmnKBqE&t=240s  3.  2023年11月 OpenAIに何が起きたか https://www.youtube.com/watch?v=aX1YhmnKBqE&t=521s  4.  Helen Toner 論文 https://www.youtube.com/watch?v=aX1YhmnKBqE&t=972s Helen Toner論文については、12月初旬の「Helen Tonerらの「民主的AI」論」で日本語への翻訳を行なっています。こちらを参照ください。 https://www.marulabo.net/docs/helen-toner/ ============================================ YouTubeのチャプター機能で、以下の見出しにアクセスできます。 あるいは、丸山のblogページ https://maruyama097.blogspot.com/2024/01/openai.html のリンクのクリックで、見出しの動画にアクセスできます。===============

数学から計算科学へ、そしてその逆 -- MIP* = RE の場合

【 数学から計算科学へ、そしてその逆 】 今回のセミナー「大規模言語モデルの数学的構造 I 」 https://llm-math.peatix.com/  は、数学(カテゴリー論の基本的定理)が計算科学への実践的な応用を持つという例なのですが、逆の例、計算科学が数学の問題を解くのに応用されるという例もあります。 添付した短いビデオは、計算科学が量子力学を経由して純粋数学に影響を与えるという状況が生まれているということを表しています。 この動画  https://d2r55xnwy6nx47.cloudfront.net/uploads/2020/03/Connes-2880x1620_v2.mp4 はQuaunta Magazineの " Landmark Computer Science Proof Cascades Through Physics and Math"  https://www.quantamagazine.org/landmark-computer-science-proof-cascades-through-physics-and-math-20200304/ という記事から借用したものですが、具体的には、計算複雑性の理論での「MIP* = RE」という定理の証明が、数学の未解決の難問だった「コンヌ予想」を「否定的」に解決したことを表しています。 【 「計算科学」と「数学」をつなぐ 「量子力学」という段階の意味 】 興味深いのは、この例の場合、計算科学と数学は直結しているわけではなく、途中に、「量子力学」という段階を経由していることです。 といいますのも、MIP* (MIP star と読むようです)の ' * ' (star) は、量子論的にentangle した二人の「万能の(しかし嘘もつく)証明者」を仮定しているからです。彼らとの「対話型証明」として証明は進行します。 【 動画を逆転する 】 今回のセミナーで取り上げる「数学から計算科学へ」の例は、この動画を逆転したものと考えていいのです。実は、そこでも、この動画での「量子力学」に相当する段階が重要な役割を果たしています。 それは、次回のセミナー「大規模言語モデルの数学的構造 II -- enriched categoryによる言語モデル」で詳しく展開

巨人の肩に乗ろう!

【 12/30 マルレク「大規模言語モデルの数学的構造 I 」申し込み受付開始 】 大規模言語モデルの働きがよくわからないという人は少なくないと思います。僕自身もそうです。大規模言語モデルの振る舞いとその背後にある理由をもっとよく知りたいと考えている人は、きっと沢山いらっしゃると思います。 二回連続のシリーズを予定しているセミナー「大規模言語モデルの数学的構造」は、こうした疑問に、大規模言語モデルにカテゴリー論に基づくモデルを与えることで応えようとしたTai-Danae Bradley らの興味深い論文を紹介することを主要な目的にしています。 12月30日開催のセミナー「大規模言語モデルの数学的構造 I -- 言語へのカテゴリー論的アプローチ入門 」はこの連続セミナーの第一回目です。お申し込みは、次のサイトからお願いします。 https://llm-math.peatix.com/ 連続セミナーの二回目は、「大規模言語モデルの数学的構造 II -- enriched categoryによる言語モデル」というタイトルで、来年の一月末開催予定です。ご期待ください。 12月30日のセミナーは、次のような構成を予定しています。  ⚫️ Part 1 構成的分散意味論の展開    ・語の意味をどう捉えるか -- 分散意味論の系譜    ・DisCoCatの登場    ・Quantum NLP  ⚫️ Part 2 大規模言語モデルの特徴    ・Tai-Danaeの問題提起    ・Tai-Danaeの道具箱    ・あらためて、セミナーの目的について  ⚫️ Part 3 言語をカテゴリーとして捉える    ・preorderとしての言語  ・ categoryとしての言語  ・ functor:意味を表現する方法  ⚫️ Part 4 意味をカテゴリーとして捉える    ・functor category と意味  ・ Yoneda embeddingと意味の表現  ・ 言語のcategoryに確率を導入する -- enriched category 日頃あまり見慣れない用語や概念が出てくるので、最初はわかりにくいところが多いかもしれません。ただ、それは当然かもしれません。なぜなら、ここでの議論のベースになっているのは、50年以上前に数学の巨人であるグロタンディックやロー

言語の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 導入の意味 】 僕は、翻訳モデルから大規模言語モデルへの飛躍をもたらした最大のものは、文と文の「継続」あるいは