出力トークン列は表層で、意味の実体は連続な中間表現の側にある
離散化された最終出力トークン列は表層で、意味の実体は連続な中間表現の側にある
Textual Inversion(Gal et al. 2022)— 離散トークン(語彙)を経由せず、学習した連続埋め込みベクトルを、トークン埋め込みが入るはずの hidden 層に直接差し込む。「語で書けない概念」を dense vector として embedding 層に"戻す"。離散シンボル列で失われる情報を、連続ベクトルとして中間表現に注入すると保持できる。
CLIP skip(penultimate layer conditioning) —
Stable Diffusion 2.x や
NovelAI 系は、CLIP テキストエンコーダの最終層でなく1つ手前の層の出力を条件付けに使う。最終層は学習タスク(対照学習)に特化しすぎて、生成条件付けには手前の層の方が汎用的で扱いやすい、という経験則。これはまさに「最終出力はタスク特化のサンプリングで情報を捨てている、手前の dense な層の方が良い」の元ネタ。
3つに共通する骨格:離散化された最終出力(トークン/最終層)は表面で、意味の実体は連続な中間表現の側にある。だから中間の dense ベクトルを保存・注入・編集する方が効く。