埋め込み空間の幾何:等方性とコサイン類似度
コサイン類似度がなぜ効くのか、効かないのかを幾何で理解できる。異方性(狭い円錐への集中)の正体と、ホワイトニングで類似度品質を底上げする勘所を押さえる。
- 1.学習済み埋め込みは原点付近の狭い円錐に偏る「異方性」を持ち、全ベクトルが互いに高コサインになって類似度の弁別力が落ちる。
- 2.コサイン類似度は向きだけを見るため、共通方向(コモンモード)や頻度バイアスに引きずられやすい。等方化すると弁別力が戻る。
- 3.ホワイトニングやBERT-flowは分布を平均0・共分散を単位行列に近づけ、空間を等方的に整えてSTS精度を改善する後処理。
埋め込みの「近さ」をコサイン類似度で測るのは定番ですが、これは**埋め込み空間が等方的(どの向きにも均等に広がっている)であることを暗黙に仮定しています。実際の学習済み埋め込みはこの仮定を満たさず、ベクトルが狭い円錐に密集する異方性(anisotropy)**を示します。この幾何を理解すると、なぜ後処理で類似度品質が上がるのかが見えてきます。
異方性:すべてのベクトルが「似てしまう」問題
学習済みの単語・文埋め込みを観察すると、ベクトルが原点付近の**狭い円錐(narrow cone)**に集中していることが知られています。Gao らの "Representation Degeneration"(2019)や Ethayarajh の文脈化埋め込み分析(2019)が報告した現象で、症状は単純です。無関係な2語を選んでもコサイン類似度が高く出るのです。
幾何的に言えば、全ベクトルがほぼ同じ向きを向いているため、向きだけを見るコサインでは差がつきません。
等方的な分布 異方的な分布(実際の埋め込み)
↑ ↑
● | ● /● ●● ← 狭い円錐に集中
● | ● ● /●●●●
-----+-----→ ----+/●●●----→
● ● | ● |
● | ● | 共通方向(c)に全体が偏る
定量化には平均コサイン類似度を使います。ランダムに選んだベクトル対のコサインを平均し、これが0に近いほど等方的、1に近いほど異方的です。等方的な高次元ランダムベクトルなら平均はほぼ0になりますが、実際のBERTの文脈化埋め込みでは層によって0.2〜0.9に達することが報告されています。
異方的な空間では、意味的に無関係でも0.6〜0.9のコサインが普通に出ます。「閾値0.8以上を類似とみなす」といった絶対値ベースの判定は、空間の異方性を見ていないと破綻します。判定するなら相対順位か、後処理で等方化してからにすべきです。
なぜ円錐に偏るのか:勾配と頻度の幾何
原因の中心は学習時の勾配の構造です。言語モデルは出力分布を作るとき、softmax の分母にすべての語の内積が現れます。低頻度語はほとんど正例として現れず、ほぼ常に負例(分母側)として押し下げられます。結果、低頻度語の埋め込みは共通の方向へ押しやられ、特定方向に偏った塊を作ります。
ここで効くのが**共通成分(コモンモード)**です。埋め込み集合の平均ベクトル c を考えると、c が0でない(=原点中心でない)こと自体が異方性の一因です。各ベクトル v は「全員が共有する大きな成分 c」と「個体差の成分」に分解できます。コサインは v の向き全体を見るので、巨大な c に引きずられ、個体差が埋もれます。
Mu と Viswanath(2018)は、上位数本の主成分が単語の頻度情報を強くエンコードしていることを示しました。つまり主要な分散方向=意味方向ではなく頻度方向であり、これを除くと意味的類似度が改善します。詳細は 主成分分析とSVD の固有値分解の視点が役立ちます。
後処理1:平均除去と主成分除去(all-but-the-top)
最も軽量な対策は、平均ベクトル c を全埋め込みから引くセンタリングです。これで分布の中心が原点に移り、共通モードが消えます。さらに Mu と Viswanath の all-but-the-top は、センタリング後に上位 D 本(経験的に次元数の約1/100)の主成分方向を除去します。頻度に支配された支配的方向を捨て、残りの等方的な部分空間で類似度を測る発想です。
手順(all-but-the-top)
1. c = mean(全埋め込み) # 共通モード
2. v' = v - c # センタリング
3. PCAで上位 D 本の主成分 u_1..u_D を求める
4. v'' = v' - Σ_i (v'・u_i) u_i # 支配方向を射影で除去
後処理2:ホワイトニングとBERT-flow
より徹底するのが**ホワイトニング(whitening)**です。埋め込み集合の平均を0に、共分散行列を単位行列に変換します。共分散が単位行列なら、分布はどの方向にも同じ広がりを持つ=完全に等方的になります。
ホワイトニング変換
mu = mean(X) # 平均
Sigma = cov(X) # 共分散行列
Sigma = U Λ U^T # 固有値分解
W = U Λ^(-1/2) # 白色化行列
x_white = (x - mu) W # 平均0・共分散I へ
Su ら(2021)の whitening-BERT は、この線形変換だけでSTS(意味的テキスト類似度)ベンチマークを大きく改善し、しかも下位次元を捨てることで次元削減も兼ねられることを示しました。学習不要・線形・高速という三拍子がそろうため、実務での第一選択になりやすい手法です。
BERT-flow(Li ら、2020)は同じ目的を可逆ニューラルネットで達成します。異方的なBERT埋め込み分布を、標準ガウス分布(等方的)へ写す正規化フローを学習します。表現力は高い一方で学習が必要で、後の研究では単純なホワイトニングと精度が拮抗することが多いと報告されています。
| 手法 | やること | 学習 | 特徴 |
|---|---|---|---|
| センタリング | 平均ベクトルを引く | 不要 | 最軽量。共通モードのみ除去 |
| all-but-the-top | 平均除去+上位主成分除去 | 不要 | 頻度支配方向を捨てる |
| ホワイトニング | 平均0・共分散I へ線形変換 | 不要 | 完全等方化+次元削減も可能 |
| BERT-flow | 可逆フローでガウスへ写像 | 必要 | 非線形だが学習コスト高 |
コサイン類似度が機能する条件
ここまでを幾何的にまとめると、コサイン類似度が意味の近さを正しく反映する条件は次の通りです。
- 原点中心であること:分布の平均が原点付近にある。共通モード
cが大きいとコサインが底上げされ弁別力を失う。 - 等方性:分散が特定方向に偏らない。偏ると主要方向(多くは頻度方向)が類似度を支配する。
- 次元の独立性:各次元が相関を持たない(共分散が対角に近い)。相関が強いと実効的な自由度が下がり、見かけ上似やすくなる。
逆に言えば、異方的なまま生の埋め込みにコサインを使うと、測っているのは意味よりも頻度や共通モードに近いことがあります。
異方性(anisotropy)と表現崩壊(representation collapse)は別概念です。異方性は「狭い円錐に偏る」状態。崩壊は対照学習で全サンプルが1点に潰れて区別不能になる、より極端な縮退です。対照学習はこの崩壊を負例やInfoNCEで防ぎつつ、副次的に空間を等方化(uniformity)する効果を持ちます。区別して覚えましょう。
対照学習という別アプローチ
後処理ではなく学習段階で等方性を作り込むのが対照学習です。Wang と Isola(2020)は良い表現の二条件として alignment(正例対は近づける) と uniformity(全体は超球面上に均等に広がる) を提示しました。uniformity はまさに等方性の超球面版であり、対照学習がコサイン類似度と相性が良い理由を説明します。SimCSE などはこの枠組みで、後処理なしでも等方的な文埋め込みを得ます。仕組みは 対照学習(Contrastive Learning) を参照してください。
まず生の埋め込みでベースラインを取り、平均コサインで異方性を測る。高ければセンタリング→ホワイトニングの順に試す。後処理で頭打ちなら、対照学習でファインチューニングへ。多くの場合、学習不要なホワイトニングだけで実用十分な弁別力が得られます。
まとめ
コサイン類似度は「向きで意味を測る」便利な道具ですが、空間が等方的という前提があって初めて成立します。学習済み埋め込みは異方性を持つため、生のままでは類似度の弁別力が落ちます。平均除去・ホワイトニング・BERT-flow・対照学習は、いずれも空間を等方的に整えるという同じ幾何的目標を、後処理か学習かで達成する手段です。埋め込みの内部表現や情報量の観点は 埋め込みとベクトル検索 と 情報理論とエントロピー もあわせて押さえると理解が深まります。
AI/機械学習 Article
埋め込み空間の幾何:等方性とコサイン類似度を実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
埋め込み
比較で見る軸
難易度: advanced / カテゴリ: AI/機械学習 / タグ数: 5
導入後に効く点
コサイン類似度は向きだけを見るため、共通方向(コモンモード)や頻度バイアスに引きずられやすい。等方化すると弁別力が戻る。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- AI/機械学習
- タグ数
- 5
判断チェックリスト
- 自社の用途が「埋め込み / コサイン類似度」に近いか確認する。
- 強みである「学習済み埋め込みは原点付近の狭い円錐に偏る「異方性」を持ち、全ベクトルが互いに高コサインになって類似度の弁別力が落ちる。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。