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 までご連絡お願いいたします。

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

    View Slide

  2. ACL 2021
    紹介する論文
    2

    View Slide

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

    Negative Sampling (NS
    NS) Loss
    について、その関係を理論的に考察
    NS
    において「負例を賢く選ぶ手法」が与える効果は、SCE
    にラベル平
    滑化 (smoothing)
    のような正則化を導入する効果と理論的に等価であ
    るなど、異なる手法間の関係を証明
    さらに、SCE
    は NS
    に比べてモデルを訓練データに fit
    させる力が強い
    ことを明らかにした
    実データでの実験により、これらの理論的洞察を裏付ける
    概要
    3

    View Slide

  4. Word2Vec
    背景
    : SCE

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

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

    NS
    の統一解釈
    Ψ(z)
    Ψ(z) = ∣∣z∣∣2
    Ψ(p) =

    p

    log p


    i i i
    10

    View Slide

  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

    View Slide

  12. (計算の詳細は省くが、)以下のように対応がまとめられる。
    Bregman Divergence
    による
    SCE

    NS
    の統一解釈
    表中の Objective Distribution
    とは、Bregman Divergence
    が0
    のときに、モデルの予測確率分布である
    がとる分布を表す。
    p

    (y∣x)
    θ 12

    View Slide

  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

    View Slide

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

    NS
    の統一解釈
    Ψ(z)
    Ψ(z)
    14

    View Slide

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

    View Slide

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

    SCE w/ LS
    の効果の共通点
    16

    View Slide

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

    SCE
    の比較
    17

    View Slide

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

    SCE
    の比較
    18

    View Slide

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

    SCE
    の比較
    x
    y(∈ Y )
    f

    (x, y)
    θ
    19

    View Slide

  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

    View Slide

  21. Word2Vec
    の学習の際には、「負例を頻度に応じて取った場合のNS

    が採用されている
    例えば "dog"
    が予測すべき単語(正例)のとき、訓練データのコーパス中
    の頻度が低い単語("spontaenous"
    など)よりも頻度が高い単語("you"

    ど)を負例にするということ
    今回の KGE
    においても、「負例を頻度に応じて取った場合のNS
    」や、
    それと理論的に等価な「backward correction (BC)
    という正則化手法
    をつけた SCE
    」が有効かどうかを調査
    考察
    : KGE
    における
    NS w/ Freq

    SCE w/ BC
    の導入
    21

    View Slide

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

    SCE w/ BC
    の導入
    22

    View Slide

  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

    View Slide