Zipfian Whiteningを読んで - 学も衒うし、奇も衒う

Zipfian Whiteningを読んで

本記事は執筆中ですが,先んじて公開します.

都度編集されますが,ご了承のほどよろしくお願いします。

とくに断りがない限り,図表は論文より引用.

 

 

基本情報

著者

Sho Yokoi and Han Bao and Hiroto Kurita and Hidetoshi Shimodaira

BibTeX

@misc{yokoi2024zipfianwhitening,
      title={Zipfian Whitening}, 
      author={Sho Yokoi and Han Bao and Hiroto Kurita and Hidetoshi Shimodaira},
      year={2024},
      eprint={2411.00680},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2411.00680}, 
}

Section1

一貫して主張されるのは,期待値を計算する際に単語頻度を意識したほうが良い,ということ.従来的な期待値の定義式は次の通り.

 \mathbb{E}_{x\text{~}p} \sum_{i} p(x_i)x_i

ここで,確率分布 pは一様分布である,と仮定される場合が多いが,実際はそうではないと経験的に知られている.

Section2

単語をTypeとTokenの2種類に分けて考える.TokenはTypeのインスタンス(コピー)という関係にある.たとえば,「perform natural language processing in a natural way」という文を考えると,ここには7種類のtypeと8種類のTokenがある.naturalが重複していることに注目しよう.

このような頻度に関する経験則はZipf則として知られている.詳しいことは,こちらの記事が参考になる.なお,脚注では,本論文の中で「Zipf則を非常に不均一な分布として扱う」と述べられている.

weeeeddie.hatenablog.com

先の話に戻ると,Typeの集合からランダムサンプリングするのと,Tokenの集合からランダムサンプリングすると結果が大きく異なる.

表1を眺めてみると,tokensからは数詞や冠詞が多いように見える.逆にtypesからは,日常ではまず聞かないような単語が選ばれている.

 

以下,事前分布を一様分布と仮定する場合,「一様な」「一様」などという接頭辞を付ける.また,Zipfian(べき分布)と仮定する場合,「Zipfian」などという接頭辞を付ける.

Section3

定理1,2として,対称なランダムベクトルの1次モーメントと2次モーメントについて述べられている.

意味的類似度を測るSTS-Bタスクで,既存の白色化手法よりも優れた結果.

1次モーメントの対称性は中心度の尺度.2次モーメントの対称性は等方性の尺度.

 \text{Sym1}(v) := 1 - \frac{\| \mathbb{E}(v) \|}{\mathbb{E}(\| v \|)}

 \text{Sym2}(v) := \frac{1}{\log d} H\left( \frac{\lambda_1}{\sum \lambda_j}, \ldots, \frac{\lambda_d}{\sum \lambda_j} \right)

Section4

Zipfianアプローチが,下流タスクで優れた結果を発揮するのか.要約すると、Zipfian事前分布は低頻度の単語を強調し、一方で一様事前分布は高頻度の単語を強調することにある.これをベクトルノルムや誤差/損失の観点から見ていく.

歴史的に見ても,Luhnの仮説,逆文書頻度(IDF),スムーズ逆頻度(SIF)などの手法は低頻度語を強調することは,情報検索や自然言語処理の分野で重要視されている.

 

ベクトルのノルムの観点から.

 

 

Zipfianモデルでは,情報量が多い単語ほど,より長い(強調された)ベクトル表現を持ちます.対照的に,一様モデルでは,情報量が少ないほど長い.情報量が少ないとは,高頻度な単語と思えばいい.例えば,「the」など.

 

定理1[Thm.1]

経験的なZipfian事前モデルで学習された単語ベクトルのノルムは,その単語の情報量を反映する.ノルムは L^2ノルム.

 \|w(t)\|^2 G(t) \approx 2 \, \text{KL}(p(\cdot) \| p(\cdot | t))
 G(t) := \sum_{t' \in V} p(t' | t)c(t')c(t')^\top

 G(w)は適当な計量(2-form).

証明としては,対数分配関数を指数型分布族に基づいて定義して,それの1次モーメントと2次モーメントを求める.KLを対数分配関数の二次形式で展開する.

図の縦軸はノルム,横軸は情報量.Zipfian白色化を行うと,情報量とノルムが対応していることがわかる.

 

差/損失関数の観点から

 

Zipfianモデルに基づく誤差や損失関数は低頻度語を強調するが,一様な事前モデルはデータセット全体にわたる平均損失に焦点を当てるため、高頻度単語がより強調される.

表現学習のための対照損失(Word2VecのSGNS損失など)はZipfianモデルに調整される.

 - \mathbb{E}_{(w, c)} \left(  \log \sigma(\langle w, c \rangle) \right) + \sum_{i=1,\dots,k} \mathbb{E}_{w'_i \sim p(w)} \left( \log \sigma(-\langle w'_i, c \rangle) \right)

 

Levy–Goldbergの等式は、理想的に訓練されたword2vecモデルの特性、すなわちZipfian事前モデルの特性を示しています。

Section5

Token埋め込みの一様白色化は,タイプ埋め込みのZipfian白色化と大体同じである.

 

Section6&Limitation

まとめと限界.

 

理論的な議論の上では,1次2次の項に注目し,高次項を無視してきた.そのため,高次モーメントの漸近的挙動の理解が必要かもしれない.

memo:次の論文なんか関係あるかも?

arxiv.org

 

付録

 

感想

すごく面白い論文だった.

いろいろなところをこの結果を持って,reisitしたらよさそうな気もする.

前回の『言語の固有次元を測る』に対しても,この手法を適用できたりしないだろうか.