functor:意味を表現する方法
【 意味の世界はどこにある?】
大規模言語モデルは、言語の意味を理解しているように見えます。それでは、大規模言語モデルが理解しているように見える「意味の世界」はどこにあるのでしょう?
先のセッションでは、言語を語の並びである表現の集まりだと考えれば、文字列の包含関係で preorder の順序が定義でき、それは category としても考えられるという話をしました。
ただ、この言語のcategory L をいくら眺めても、そこにあるのは、具体的な文字列や語や表現だけで、どこにも意味は見当たりません。
【 意味を表現する方法を考える】
これまでの流れで考えてみると、言語のcategory Lとは別に、言語の意味を表現するcategory M (meaningのMです)が存在すると考えるのが自然なアプローチだと思います。
ただ、この二つのcategory L, Mは、別々バラバラなものではなく結びついていて、言語のcategory Lが与えられるとその言語の意味のcategory Mが生み出されるという関連があるはずです。
もし、意味のcategory Mがうまく定義できるなら、言語のcategory Lと意味のcategory M を結びつけることで、言語の意味の表現ができそうです。
もっとも、この段階では 「LとMを結びつけられたらいいかも」と言っているだけで、意味のcategory Mがどんなものかは何もわかっていません。意味のcategory Mをどう構成すればいいかは、次回のセッションでもう少し具体的に触れていきたいと思います。
今回のセッションでは、「category とcategoryを結ぶ」ということを、考えてみたいと思います。
【 functor-- categoryとcategoryを結ぶ 】
カテゴリー論では、あるcategoryともう一つのcategoryを結びつける方法がキチンと定義されています。それをfunctor と言います。
言語の意味を表現するのに、カテゴリー論的枠組みを使うのなら、functorを利用することが必要になりそうです。
ここでは、functorと二つのfunctorを結びつけるnatural transformationの定義を見ておくことにします。
F( g ◦ f ) = F(g) ◦ F(f)。
F(id_x) = id_F(x)
η_x : F(x) → G(x)
G(f) ◦ η_x =η_y ◦ F(f)
--------------------------------
https://drive.google.com/file/d/1oC9I4njEoUGnX-RyJp_Ldbp18Vvdz5fT/view?usp=sharing
https://www.marulabo.net/docs/llm-math/
コメント
コメントを投稿