Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Unified Interpretation of Softmax Cross-Entropy and Negative Sampling: With Case Study for Knowledge Graph Embedding

Unified Interpretation of Softmax Cross-Entropy and Negative Sampling: With Case Study for Knowledge Graph Embedding

研究室の日本語輪読会で発表したスライドです。
内容に問題や不備がある場合は、お手数ですが hellorusk1998 [at] gmail.com までご連絡お願いいたします。

750d4d1ae846b2d342d99fced070db39?s=128

Kaito Sugimoto

May 30, 2022
Tweet

More Decks by Kaito Sugimoto

Other Decks in Research

Transcript

  1. Unified Interpretation of Softmax Cross-Entropy and Unified Interpretation of Softmax

    Cross-Entropy and Negative Sampling: With Case Study for Knowledge Negative Sampling: With Case Study for Knowledge Graph Embedding Graph Embedding Kamigaito and Hayashi, ACL 2021 Kaito Sugimoto Kaito Sugimoto Aizawa Lab. M2 2022/05/30 1
  2. ACL 2021 紹介する論文 2

  3. 知識グラフ埋め込み(Knowledge Graph Embedding; KGE )で用いら れる2 種類の損失関数である Softmax Cross-entropy (SCE

    SCE) Loss と Negative Sampling (NS NS) Loss について、その関係を理論的に考察 NS において「負例を賢く選ぶ手法」が与える効果は、SCE にラベル平 滑化 (smoothing) のような正則化を導入する効果と理論的に等価であ るなど、異なる手法間の関係を証明 さらに、SCE は NS に比べてモデルを訓練データに fit させる力が強い ことを明らかにした 実データでの実験により、これらの理論的洞察を裏付ける 概要 3
  4. Word2Vec 背景 : SCE と NS 画像は http://www.kawasaki-m.ac.jp/soc/mw/journal/jp/2018-j28-1/P167-P178_tanaka.pdf から 4

  5. 全部で 個の単語ベクトルを学習したいとき、 が 100 万程度の オーダーだと Softmax Cross-entropy (SCE) では計算しきれなくなっ

    てしまう 例えば、ネットワークが予測すべき単語が "dog" の場合、SCE では、 出力層の logits から、"dog" の予測確率を と いうように softmax 関数で計算 が損失関数となる 分母の の計算が非常に大変 背景 : SCE と NS ∣V ∣ ∣V ∣ s ​ , s ​ , ..., s ​ 1 2 ∣V ∣ ​ ​ exp(s ​ ) ∑ i=1 ∣V ∣ i exp(s ​ ) dog − log ​ ​ exp(s ​ ) ∑ i=1 ∣V ∣ i exp(s ​ ) dog 1 ​ exp(s ​ ) ∑ i=1 ∣V ∣ i 1: クロスエントロピーは の形 − ( 期待される確率) log( 計算された確率) ∑ 5
  6. Negative Sampling (NS) は SCE の近似 近似 先ほどの例の場合... 正解の "dog"

    ではない負例をサンプルする(例えば "cat", "you" ) 出力層の logits から、"dog" の予測確率を と いうように(本来であれば二値分類で使われる)sigmoid 関数で計算 が 損失関数となる 背景 : SCE と NS s ​ , s ​ , ..., s ​ 1 2 ∣V ∣ ​ 1+exp(−s ​ ) dog 1 − log ​ − 1+exp(−s ) dog 1 log(1 − ​ ) − 1+exp(−s ​ ) cat 1 log(1 − ​ ) 1+exp(−s ​ ) you 1 6
  7. 言語モデルに関して言えば、最近の Transformer ベースのモデルでは 語彙が数万程度(それ以上は [UNK] 扱い)しかないので、訓練の際に NS のような近似手法を使うことはあまり見ない 一方で、知識グラフを埋め込む Knowledge

    Graph Embedding (KGE) の分野では、グラフのノードである Entity の数が膨大であるため NS も使われることが今も多い したがって、KGE の訓練において SCE と NS の双方の実験結果を統一 的に解釈できるような視点があると嬉しい 背景 : SCE と NS 2 2: ただ、ELECTRA は理論的には NS を使っているらしい (Clark et al., Pre-Training Transformers as Energy- Based Cloze Models (EMNLP 2020)) 7
  8. KG は、2 つの entity とその間の関係 からなる の 集合として表される。 KGE の学習では、クエリである

    あるいは から、 予測対象である ? の部分を解かせることによって訓練する。 このクエリを , 予測対象を と表記する。 記法 e ​ , e ​ i j r ​ k (e ​ , r ​ , e ​ ) i k j (e ​ , r ​ , ?) i k (?, r ​ , e ​ ) k j x y 8
  9. パラメータ のモデルについて、クエリ が来た時に が正解 entity であると予測する確率 は以下のように表される。 訓練データ集合を とし、その分布 を

    と表記する。 モデルが モデルが を使って訓練された時に、最終的にモデルの予測分布 を使って訓練された時に、最終的にモデルの予測分布 がどのような形の分布に落ち着くか がどのような形の分布に落ち着くかが重要になる。 記法 θ x y(∈ Y ) p ​ (y∣x) θ D = {(x ​ , y ​ ), ..., (x ​ , y ​ )} 1 1 ∣D∣ ∣D∣ p ​ (x, y) d D D p p ​ ​ ( (y y∣ ∣x x) ) θ θ 9
  10. を微分可能な関数としたとき、Bregman Divergence Bregman Divergence は以下の ように定義される。 Bregman Divergence は、様々な距離・ダイバージェンスの一般形に なっている、という面白い性質がある

    例えば のとき、ユークリッド距離の二乗になる 例えば のとき、KL ダイバージェンスになる 今回の研究でも、これが統一解釈の手がかりになる Bregman Divergence による SCE と NS の統一解釈 Ψ(z) Ψ(z) = ∣∣z∣∣2 Ψ(p) = ​ p ​ log p ​ ∑ i i i 10
  11. 訓練データにおける分布 , 間の Bregman Divergence の期待値は B ​ (f, g)

    = Ψ(z) ​ d ​ (f, g) ⋅ x,y ∑ Ψ(z) p ​ (x, y) d であり、さらに を固定した場合、 を最小化することは、 を最小化することになる。実はこの (3) に 実はこの (3) に , , , , をそれぞれうまく当て をそれぞれうまく当て はめると、 SCE と NS それぞれの損失関数と一致する! はめると、 SCE と NS それぞれの損失関数と一致する! Bregman Divergence による SCE と NS の統一解釈 f g f B ​ (f, g) Ψ(z) f f g g Ψ Ψ 11
  12. (計算の詳細は省くが、)以下のように対応がまとめられる。 Bregman Divergence による SCE と NS の統一解釈 表中の Objective

    Distribution とは、Bregman Divergence が0 のときに、モデルの予測確率分布である がとる分布を表す。 p ​ (y∣x) θ 12
  13. 「負例を一様に取った場合の NS 」と SCE は、モデルの予測分布 を同じ分布に収束させる 「負例を頻度に応じて取った場合のNS 」 と「backward correction

    (BC) という正則化手法をつけた SCE 」は、モデルの予測分布 を同じ分布に収束させる Self-adversarial Negative Sampling (SANS) と「ラベル平滑化とい う正則化手法をつけた SCE 」は、モデルの予測分布 を同じ分 布に収束させる Bregman Divergence による SCE と NS の統一解釈 p ​ (y∣x) θ 3 p ​ (y∣x) θ 4 p ​ (y∣x) θ 3: Word2Vec の学習の際に採用された手法 4: RotatE などの最近の KGE 手法で採用されている手法。モデルの訓練に応じて負例の選択が変わるというもの 13
  14. ここまで NS と SCE の共通点について述べてきたが、相違点について も考察することができる。 NS と SCE はともに

    Bregman Divergence で記述されるが、式の中の が異なる 簡単に言うと、 は、訓練データ分布とモデルの予測分布の距離を定める役 割がある それぞれの損失関数についてみた時、SCE の方が、確率値にずれがあった時に距 離が大きくなる → 課される損失が大きくなる さらに、SCE は凸関数だが NS は凸関数ではない これらのことから、SCE は NS よりも訓練データに fit しやすい(悪く 言えば過学習のおそれがある) Bregman Divergence による SCE と NS の統一解釈 Ψ(z) Ψ(z) 14
  15. 以下の KGE モデルを動かす TuckER, RESCAL, ComplEx, DistMult, TransE, RotatE これらを異なる損失関数で訓練し、パフォーマンスを比較する

    実験データセットは FB15k-237 と WN18RR という知識グラフ 実験 15
  16. SANS がNS よりも効果を上げているとき、ラベル平滑化を行った場合の SCE が行わなかった場合よりも効果を上げている傾向が強い 結果 : SANS と SCE

    w/ LS の効果の共通点 16
  17. TuckER や RESCAL のような KGE モデルでは、NS で訓練した結果は SCE で訓練した結果よりも悪い 結果

    : NS と SCE の比較 17
  18. TransE や RotatE のような KGE モデルでは、NS で訓練した結果と SCE で訓練した結果はそこまで差がない 結果

    : NS と SCE の比較 18
  19. KGE 手法による差は何を意味するか? そもそも KGE 手法とは、ノードの Entity と Relation の組 が来た時

    に、それが向かう先の Entity が である確率を以下のように推 定するものであった。 この式において をどう計算するか、が各 KGE 手法の違いに なっている 結果 : NS と SCE の比較 x y(∈ Y ) f ​ (x, y) θ 19
  20. TuckER や RESCAL のような KGE モデルでは、 の値に特に制 約を設けていない NS が

    SCE よりも劣ったのは、訓練データに対して under-fitting してしま ったことによるものだと考察(SCE の方がデータに fit しやすい) TransE や RotatE のような KGE モデルでは、 は非負値をと らないという制約がある NS と SCE のパフォーマンスがあまり変わらないのは、そのような制約によ りいずれも fitting が抑制されているからだと考察 以上より、NS が有用なのは、TransE や RotatE のようなスコア関数に 下限が設けられている手法を訓練する場合だと結論づけている 結果 : NS と SCE の比較 f ​ (x, y) θ f ​ (x, y) θ 20
  21. Word2Vec の学習の際には、「負例を頻度に応じて取った場合のNS 」 が採用されている 例えば "dog" が予測すべき単語(正例)のとき、訓練データのコーパス中 の頻度が低い単語("spontaenous" など)よりも頻度が高い単語("you" な

    ど)を負例にするということ 今回の KGE においても、「負例を頻度に応じて取った場合のNS 」や、 それと理論的に等価な「backward correction (BC) という正則化手法 をつけた SCE 」が有効かどうかを調査 考察 : KGE における NS w/ Freq や SCE w/ BC の導入 21
  22. しかしながら、いずれの手法も KGE 訓練においてはスコアが下がって しまった これらの手法は訓練データ分布を大きく変えるため、訓練データにあまり fit しすぎないで欲しい場合(例: 訓練データとテストデータの分布が大きく 異なる場合)に有効だとされる しかしながら、単語埋め込みの場合と比べて

    KGE では訓練データ分布とテ ストデータ分布の差があまり大きくないため、これらの手法が効果を発揮で きなかったと考察している 考察 : KGE における NS w/ Freq や SCE w/ BC の導入 22
  23. 異なる損失関数の間の共通点が理論的に導かれるのは面白い 特に、負例を賢く選ぶことが正則化に近い役割を果たすというのは、なるほ どという感じがあった 知識グラフの場合、今回の研究で登場していない負例の選び方として Structure-aware Negative Sampling という考え方もあると思う。こ れも理論的には何か正則化のような働きがあるのか気になる。 まとめと感想

    5 5: Ahrabian et al., Structure Aware Negative Sampling in Knowledge Graphs (EMNLP 2020) ネットワークで言えば, 1-hop 先が正例のとき, 2-hop, 3-hop あたりの近い位置にあるノードを負例とすること 23