Featured image of post 2×2の中に潜む部分と全体の構造

2×2の中に潜む部分と全体の構造

目次

背景

  • 仕事でLLMをFTしている時に評価データの作成方法を整理していた
  • その時に、ある分類を2つの軸で2×2に整理していたところ、その4つの要素を材料に、もう一度2×2の構造を作れることに気づいた
  • 「なぜ、この2×2からもう一度2×2を作れるのか」という小さな違和感を出発点に、分解・区分・排他性・合成可能性・部分全体論という論点を整理する

はじまりは、単純な2×2だった

最初に考えていたのは、次の二つの軸だった。

  • フェーズ: 学習 / 推論
  • instruction: なし(ni)/ あり(wi)

この二軸を掛け合わせると、四つの状態ができる。

-instructionなしinstructionあり
学習学習ni学習wi
推論推論ni推論wi

ここまでは、ごく普通の2×2である。

ところが、この四つを眺めているうちに、不思議なことに気づいた。「学習ni」と「推論wi」のように、学習側の状態と推論側の状態を自由に組み合わせられる。

  • 学習ni → 推論ni
  • 学習ni → 推論wi
  • 学習wi → 推論ni
  • 学習wi → 推論wi
-学習時wi学習時ni
推論wi学習時にinstructionありで、推論時にinstructionあり学習時にinstructionなしで、推論時にinstructionあり
推論ni学習時にinstructionありで、推論時にinstructionなし学習時にinstructionなしで、推論時にinstructionなし

つまり、最初の2×2から生まれた四要素を材料にして、もう一度2×2の構造を作れてしまった。なぜこんなことができるのだろう。これが出発点だった。

ちなみに、最初に学習/推論 x instructありなしで考えていたので、そこから最初の2x2は想像したが、2個目の2x2は「あそっか」と気がついた形だった(故になぜこれが起きたのかが気になった)。

最初の2×2と、二つ目の2×2は何が違うのか

最初は、単に2つ目の表は「軸を組み替えただけ」と考えた。しかしそれだけではない。重要なのは、「学習」と「推論」が単なる二つのカテゴリーではなく、一つのプロセスを構成する異なるフェーズだということだった。

$$ \text{学習} \to \text{推論} $$

という一つの流れがあり、その流れを二つの部分に分けている。学習側には$\{ni, wi\}$という状態があり、推論側にも$\{ni, wi\}$という状態がある。したがって、

$$ \{\text{学習}ni, \text{学習}wi\} \times \{\text{推論}ni, \text{推論}wi\} $$

という組み合わせを考えられる。ここで作っているのは「局所的な状態の一覧」ではなく、一つのプロセス全体がどのような構成になっているかという「大域的な構成」の一覧である。

直積と関数空間という違い

この違いは、以下のように集合の言葉で定式化できる。フェーズの集合を$P = \{\text{学習}, \text{推論}\}$、状態の集合を$S = \{ni, wi\}$とする。

最初の2×2は、フェーズと状態の直積である。

$$ P \times S, \qquad |P \times S| = |P| \cdot |S| = 2 \times 2 = 4 $$

これは「あるフェーズの、ある状態」という局所的なペアを4つ列挙したものにあたる。

一方、二つ目の2×2は、各フェーズに対して状態を1つずつ割り当てる関数の集合、つまり関数空間である。

$$ S^P, \qquad |S^P| = |S|^{|P|} = 2^2 = 4 $$

これは「学習フェーズではこの状態、推論フェーズではこの状態」という大域的な構成を4つ列挙したものにあたる。たまたま$|P|=|S|=2$だったために、どちらも要素数4の"2×2"に見えるが、直積と関数空間という、構造としては別物を数えている。

「分ける」には二種類ある

「学習 / 推論」も「instructionあり / なし」も、どちらも何かを二つに「分けている」。しかし、この二つの「分ける」は同じではない。

例えば、カレーライスを「ルー」と「ライス」に分けるとする。これは全体を構成部分に分けている。ルーとライスを再び組み合わせれば、カレーライスという全体を作れる。

一方、「塩あり」と「塩なし」という分け方は違う。「塩あり」と「塩なし」は、料理を構成する二つの部品ではなく、一つの対象が取りうる、異なる状態である。

この二種類の「分ける」を区別する必要がある。

  • 分解(decomposition):
    • 全体を、その構成部分へ分ける
  • 区分・場合分け(partition / case distinction):
    • 対象について、取りうる状態や見方を分ける

つまり、事物自体を分けているのか、事物の見方を分けているかの違い。

何が「再結合」を可能にしているのか

なぜ「学習 + 推論」はできるのに、「instructionあり + instructionなし」はできないのか。ここで出てくるのが、排他的か非排他的か、という問題である。

ここで「排他的」を、「同一の文脈において、AとBが共存できない」という意味で使う。

  • instructionあり / instructionなしは排他的:
    • 同じフェーズ、同じ条件について、両方を同時に成立させることはできない
  • 学習 / 推論は共存可能:
    • 一つのプロセスの異なるフェーズとして共存でき、両者を組み合わせることで一つのプロセスを構成できる

つまり、「塩がなくてある」は成り立たないが、「学習と推論する」は成り立つ。

A + B = C と考えてみる

この関係を、あえて単純な式で表す。AとBを組み合わせてCという全体を作れるなら、

$$ A + B = C $$

と書く。ここで「+」は算術的な足し算ではなく、二つの要素を共存させ、合成する操作を意味している。すると、$A+B$が成立するためには、少なくともAとBが共存可能でなければならない。

$$ A + B \text{ が可能} \implies A \text{と} B \text{は共存可能} \implies A \text{と} B \text{は非排他的} $$

逆に、

$$ A \text{と} B \text{が排他的} \implies A \text{と} B \text{は共存不可能} \implies A+B \text{という合成は成立しない} $$

「排他的 × 分解可能」という象限は存在するのか

ここで、メタ的に考えると、2×2をさらに作れそうに見える。軸を「排他的 / 非排他的」「分解可能 / 分解不可能」とする。

-分解可能分解不可能
排他的??
非排他的??

しかし、「分解可能」を「AとBという部分へ分けることができ、AとBを共存させて元の全体へ再構成できる」という意味で定義するなら、「排他的 × 分解可能」という象限は成立しない。

  • 排他的 → AとBは共存できない
  • 分解可能 → AとBを共存させて全体を構成できる

両方を同時に要求すると、「AとBは共存できる、かつ、共存できない」という矛盾になる。当初は独立した二軸に見えた「排他性」と「分解可能性」の間には、少なくともこの定義のもとでは論理的な依存関係がある。

ただし、「非排他的なら必ず分解可能」ではない

ここは重要な注意点である。AとBが共存できるからといって、必ずしもAとBが一つの意味のある全体を構成するとは限らない。

例えば「鉛筆」と「月」は同時に存在できる。だから排他的ではない。しかし、鉛筆+月が何らかの一つの全体を構成すると考える必然性はない。したがって、共存可能性は合成可能性そのものではない。合成には、「AとBを、どのような規則によって一つの全体Cとみなすのか」という合成規則(composition rule)がもう一つ必要になる。より正確には、

$$ \text{共存可能性} + \text{合成規則} \implies \text{合成可能性} $$

と考えた方がよい。

この議論は既存研究では何に近いのか

今回考えてきたことには、いくつかの既存概念が対応している。

  • compatibility(両立可能性): 二つの状態や命題が同時に成立できるか、という問題
  • composition / compositionality(合成 / 合成性): 複数の要素を組み合わせ、より大きな構造を作れるかという問題。言語学・論理学では、文の意味がその構成要素の意味からどう組み立てられるかという文脈(Fregeの合成性原理)で扱われる
  • mereology(部分全体論): 「何が何の部分なのか」「部分はどのように全体を構成するのか」を扱う、哲学の一分野

最初の疑問に戻る

では結局、なぜ最初の2×2から、二つ目の2×2を作ることができたのか。

最初の表は、フェーズ×状態、つまり直積$P \times S$だった。しかし「学習 / 推論」というフェーズは、一つのプロセスを構成する部分でもあり、しかも共存可能だった。そして、それぞれのフェーズに対して独立に$ni/wi$という状態を割り当てられたことで、学習の状態×推論の状態、つまり関数空間$S^P$という新しい組み合わせを作れた。

言い換えれば、最初の2×2は「局所状態」を列挙していた。そこから「学習と推論は一つの全体を構成する部分である」という内部構造を発見したことで、局所状態を組み合わせた「大域的構成」の2×2を作れるようになった。

まとめ

  • 「分ける」には、全体を構成部分に分ける分解(decomposition)と、対象の状態を分ける区分(partition)という、性質の異なる2種類に分けられる
  • 分解可能な軸(学習/推論のように共存し合成できる)と、区分の軸(instructionあり/なしのように排他的な)は、見た目が同じ2×2でも中身が違う
  • 排他的かつ分解可能という組み合わせは論理的に矛盾するが、非排他的だからといって自動的に分解可能(意味のある合成)になるとは限らず、合成規則が別途必要
  • 2×2を作ることは単なる分類ではなく、場合によっては、その分類の中に潜んでいる部分と全体の構造を発見する入口にもなる

参考文献

Built with Hugo
テーマ Stack は Jimmy によって設計されています。