presheaf
【 この部分は、この間のセミナーのまとめになっています 】
今回のセッションで紹介する部分は、この間のセミナーで扱ってきた問題の短かなまとめになっています。この間のセミナーで紹介してきた大規模言語モデルを舞台にして、Tai-Danae が利用した数学的手法を振り返るには、ちょうどいい素材かもしれません。ぜひ、以前の資料を参照ください。
短いセクションなのですが、ストーリーは二つの視点を軸に展開します。
一つは、前回のセッションで紹介した「オブジェクトからオブジェクト上の関数へ」という視点です。このセクションのタイトルは、「Objects Versus Functions on Objects」でした。
もう一つは、そうした展開を、最初のサンプルとして導入した「ベクトル空間」= 線形代数 との対比で位置付けることです。この論文のサブタイトルは、「Parallel Narratives in Linear Algebra and Category Theory 」でした。
この二つを意識してもらうと、いろいろな気づきがあると思います。
一つ注意してもらいたいことがあります。
以前のセミナー「大規模言語モデルの数学的構造」での主要な数学的ツールは、copresheaf でした。ただ、このセクションは、copresheaf のカテゴリー論的「双対」概念である presheaf について論じているということです。
どちらも、あるカテゴリーCから集合のカテゴリーSet へのfunctor です。「オブジェクトからオブジェクト上の関数へ」という視点で見ると、両者は同じようなものです。
ただ、両者の違いを少しまとめてみました。
C上のpresheaf は、𝐶^𝑜𝑝 → 𝑆𝑒𝑡 のcontravariant functorで、
C上のcopresheafは、𝐶 → 𝑆𝑒𝑡 のcovariant functorです。
二つのfunctorのvarianceの違いから、そのrepresentable functorは、次のようになります。
presheafのrepresentableは、ℎ^𝑥 ≔ 𝐶( −, 𝑥 ) で、
copresheafのrepresentableは、ℎ_𝑥 ≔ 𝐶( 𝑥 ,− ) です。
後者の𝐶( 𝑥 ,− )の形が、以前のセミナーでは活躍していました。ここでx がブランク ー より前に来ているのは、この表示が xとつながるすべてのfunctor の集まりとしてxの意味を表現しようとしていたからです。Firth流に言えば、「語xのすべての仲間たち」を、それは表しています。ですから、意味の表現には𝐶( 𝑥 ,− )の形がむいています。
ただ、前回のセミナーの資料では、ℎ^𝑥 ≔ 𝐶( 𝑥 ,− ) という表現が使われています。今回の論文のノテーションとは、違っていますのでご注意ください。
https://drive.google.com/file/d/1EKnzgmAL4WzDaiGhMxV8dIb5nSnyuj-w/view?usp=sharing
https://www.marulabo.net/docs/embedding-dnn/
https://www.youtube.com/playlist?list=PLQIrJ0f9gMcOJYKeUN_8q2K-yxtTfbIoB
コメント
コメントを投稿