Discovering Universal Geometry in Embeddings with ICA
どんなモノで何が嬉しい?
独立成分分析(ICA)によって埋め込み表現内に存在する意味の軸を抽出できた、という手指の論文
ICA自体は既知の手法であるが、本研究では埋め込み表現の解釈手法として活用することを提案したもの
従来は埋め込み表現の軸の解釈にはPCAが使われることが多かった
ICAを使うことで、埋め込み表現の中から固有(元の埋め込み表現の中にある)で解釈可能な軸の合成として表現できるhttps://gyazo.com/e2d660d266c0284ffbd5b35139a0ab1e
ICAで選ばれた軸は(PCAと違って)言語が違っていても意味軸が共通している
この結果は言語の違いに限らず埋め込みアルゴリズムの違いや埋め込みのモダリティ(単語、言語など)などの違いにおいても同様に見られるとのこと
多言語単語埋め込みの例
https://gyazo.com/821faae0c28de9c50c8a50c0931619ad
先行研究に対する優位性
単語埋め込みや言語モデルの表現の各軸を解釈するための既存の手法は、目的関数などに制約を設けて学習可能な形に誘導する手法などが主流の提案だった
本手法は埋め込み表現に含まれる固有な情報を使って解釈可能な軸を見つける手法を提案している
つまり、埋め込みモデル自体に変更を必要としない
単語埋め込みのクロスリンガルマッピングにおいても様々な手法が提案されているが本手法が教師なしで高い性能を出すことができることを優位性に上げている
そもそもICAはどんな手法か (FastICAをベースに説明)
ざっくりと説明をすると
1. 主成分分析(PCA)をおこなう
分散が最大となる(データがもっともバラついている)方向を軸とする
通常は分散共分散行列を特異値分解などによって得る
主成分分析によって得られる成分はそれぞれ無相関となる
平均と分散 = 第一モーメントと第二モーメントを考慮する
2. 1で得たPCAの結果をできるだけ独立になるような直行変換(ネゲントロピーが最大となる軸を探しているらしい)を求めて、PCAの結果を変換する
ネゲントロピー (negentropy) は、生命などの系が、エントロピーの増大の法則に逆らうように、エントロピーの低い状態が保たれていることを指す用語である。 単に、エントロピーを減少させる物理量、という意味でも使われる。
この直交変換は回転と鏡映のみを含んでおり、結果としてPCAと同様に白色化されている
そして、ICAは非線形なこの操作によって歪度と尖度 = 第三モーメントと第四モーメントといった高次のモーメントを考慮する
中心極限定理から、多くの変数が加えられ混ざっていくと正規分布に近づく傾向がある。
そのため、ICAによって"正規分布から離れている度合いを最大化した" = 独立した軸を得ることで、独立した変数を回復させることを狙っている
この考え方は、Huberらの「projection pursuit」の概念に根ざしている
日本語だと投影追跡というみたいだがよくわかってはいない
正規分布は固定された平均と分散を持つ確率分布の間でエントロピーを最大化する
そのため、非ガウス性を表す尺度はネゲントロピーの近似値として解釈できる
https://gyazo.com/453299ed62b55befba9d7654467ddd36
https://gyazo.com/442d55d33889704868a20a3f44b12a3c
ICAで変換された埋め込みの解釈と低次元性
ICAで得られた軸はそれぞれの軸が意味を捉える軸となっている
実際に軸16では料理に関する単語が高い値を示し、軸26では車に関わる単語が高く示されている
また、単語の意味をいくつかの軸の組み合わせで近似的に表現でき、埋め込み表現を低次元に扱えることを示している
例として、ferrariという単語は軸26(車に関わる単語)と軸34 (イタリアに関わる単語)が強く反応しており、この2つを組み合わせることで表現できる
https://gyazo.com/b71a12d083d4fbf3c56c748c984e36e5
言語をまたいでもICAは普遍性に成分を分解できる
fastTextを使って英語、スペイン語、ロシア語、アラビア語、ヒンディー語、中国語、日本語でそれぞれ別々のコーパスから埋め込み表現を学習させて、各言語ごとに50000単語を選んでそれぞれの言語でPCAとICAを実行し、軸を並べ替えて言語間の軸を言語間の相互相関係数を計算することで最適な対応をマッチングさせた
下図左は英語とスペイン語の埋め込みのPCAとICAの最初の100軸の相互相関係数を示したものだが、対角要素が有意に相関係数が高くICAがよく対応関係が取れていることがわかる
https://gyazo.com/eae7f976932015dda20f25c1b01cad86
ICAを通すと言語が異なっていても単語埋め込みから同様の意味の軸が検出されうることが下図(a)に示されている
https://gyazo.com/821faae0c28de9c50c8a50c0931619ad
アルゴリズムとモダリティをまたいでもICAは普遍的に成分を分解できる
下図真ん中はFastTextの埋め込みとBERT-baseのCLSトークンをPCAとICAで変換し、相互相関係数に基づいて軸を並べ替えることで軸を揃えたもの
https://gyazo.com/eae7f976932015dda20f25c1b01cad86
どうやって有効だと検証した?
2つの実験をしている
解釈可能性
単語侵入タスク
低次元性
Analogyタスク
Word Similarityタスク
普遍性
クロスリンガルアライメント
議論はある?
補足