Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

ACL 2021 紹介する論文 2

Slide 3

Slide 3 text

知識グラフ埋め込み(Knowledge Graph Embedding; KGE )で用いら れる2 種類の損失関数である Softmax Cross-entropy (SCE SCE) Loss と Negative Sampling (NS NS) Loss について、その関係を理論的に考察 NS において「負例を賢く選ぶ手法」が与える効果は、SCE にラベル平 滑化 (smoothing) のような正則化を導入する効果と理論的に等価であ るなど、異なる手法間の関係を証明 さらに、SCE は NS に比べてモデルを訓練データに fit させる力が強い ことを明らかにした 実データでの実験により、これらの理論的洞察を裏付ける 概要 3

Slide 4

Slide 4 text

Word2Vec 背景 : SCE と NS 画像は http://www.kawasaki-m.ac.jp/soc/mw/journal/jp/2018-j28-1/P167-P178_tanaka.pdf から 4

Slide 5

Slide 5 text

全部で 個の単語ベクトルを学習したいとき、 が 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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

言語モデルに関して言えば、最近の 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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

パラメータ のモデルについて、クエリ が来た時に が正解 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

Slide 10

Slide 10 text

を微分可能な関数としたとき、Bregman Divergence Bregman Divergence は以下の ように定義される。 Bregman Divergence は、様々な距離・ダイバージェンスの一般形に なっている、という面白い性質がある 例えば のとき、ユークリッド距離の二乗になる 例えば のとき、KL ダイバージェンスになる 今回の研究でも、これが統一解釈の手がかりになる Bregman Divergence による SCE と NS の統一解釈 Ψ(z) Ψ(z) = ∣∣z∣∣2 Ψ(p) = ​ p ​ log p ​ ∑ i i i 10

Slide 11

Slide 11 text

訓練データにおける分布 , 間の 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

Slide 12

Slide 12 text

(計算の詳細は省くが、)以下のように対応がまとめられる。 Bregman Divergence による SCE と NS の統一解釈 表中の Objective Distribution とは、Bregman Divergence が0 のときに、モデルの予測確率分布である がとる分布を表す。 p ​ (y∣x) θ 12

Slide 13

Slide 13 text

「負例を一様に取った場合の 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

Slide 14

Slide 14 text

ここまで NS と SCE の共通点について述べてきたが、相違点について も考察することができる。 NS と SCE はともに Bregman Divergence で記述されるが、式の中の が異なる 簡単に言うと、 は、訓練データ分布とモデルの予測分布の距離を定める役 割がある それぞれの損失関数についてみた時、SCE の方が、確率値にずれがあった時に距 離が大きくなる → 課される損失が大きくなる さらに、SCE は凸関数だが NS は凸関数ではない これらのことから、SCE は NS よりも訓練データに fit しやすい(悪く 言えば過学習のおそれがある) Bregman Divergence による SCE と NS の統一解釈 Ψ(z) Ψ(z) 14

Slide 15

Slide 15 text

以下の KGE モデルを動かす TuckER, RESCAL, ComplEx, DistMult, TransE, RotatE これらを異なる損失関数で訓練し、パフォーマンスを比較する 実験データセットは FB15k-237 と WN18RR という知識グラフ 実験 15

Slide 16

Slide 16 text

SANS がNS よりも効果を上げているとき、ラベル平滑化を行った場合の SCE が行わなかった場合よりも効果を上げている傾向が強い 結果 : SANS と SCE w/ LS の効果の共通点 16

Slide 17

Slide 17 text

TuckER や RESCAL のような KGE モデルでは、NS で訓練した結果は SCE で訓練した結果よりも悪い 結果 : NS と SCE の比較 17

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

KGE 手法による差は何を意味するか? そもそも KGE 手法とは、ノードの Entity と Relation の組 が来た時 に、それが向かう先の Entity が である確率を以下のように推 定するものであった。 この式において をどう計算するか、が各 KGE 手法の違いに なっている 結果 : NS と SCE の比較 x y(∈ Y ) f ​ (x, y) θ 19

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

Word2Vec の学習の際には、「負例を頻度に応じて取った場合のNS 」 が採用されている 例えば "dog" が予測すべき単語(正例)のとき、訓練データのコーパス中 の頻度が低い単語("spontaenous" など)よりも頻度が高い単語("you" な ど)を負例にするということ 今回の KGE においても、「負例を頻度に応じて取った場合のNS 」や、 それと理論的に等価な「backward correction (BC) という正則化手法 をつけた SCE 」が有効かどうかを調査 考察 : KGE における NS w/ Freq や SCE w/ BC の導入 21

Slide 22

Slide 22 text

しかしながら、いずれの手法も KGE 訓練においてはスコアが下がって しまった これらの手法は訓練データ分布を大きく変えるため、訓練データにあまり fit しすぎないで欲しい場合(例: 訓練データとテストデータの分布が大きく 異なる場合)に有効だとされる しかしながら、単語埋め込みの場合と比べて KGE では訓練データ分布とテ ストデータ分布の差があまり大きくないため、これらの手法が効果を発揮で きなかったと考察している 考察 : KGE における NS w/ Freq や SCE w/ BC の導入 22

Slide 23

Slide 23 text

異なる損失関数の間の共通点が理論的に導かれるのは面白い 特に、負例を賢く選ぶことが正則化に近い役割を果たすというのは、なるほ どという感じがあった 知識グラフの場合、今回の研究で登場していない負例の選び方として 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