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

知識グラフのリンク予測におけるGANを用いたネガティブサンプルの生成

 知識グラフのリンク予測におけるGANを用いたネガティブサンプルの生成

開発室Graph

May 13, 2019
Tweet

More Decks by 開発室Graph

Other Decks in Research

Transcript

  1. リンク予測におけるGANを用い
    たネガティブサンプルの生成
    studio_graph3


    View Slide

  2. リンク予測におけるGANを用いた

    ネガティブサンプルの生成


    View Slide

  3. リンク予測におけるGANを用いた

    ネガティブサンプルの生成


    ! !
    !

    View Slide

  4. 今日の発表


    View Slide

  5. いっぱい喋ります


    View Slide

  6. 数式(そこそこ)

    出てきます


    View Slide

  7. 実務には(あんまり)
    役立ちません


    View Slide

  8. !"#
    (を目指す)


    View Slide

  9. もくじ
    • リンク予測
    • 知識グラフ
    • ネガティブサンプリング
    • GANを用いたネガティブサンプリング


    View Slide

  10. リンク予測
    • ネットワーク構造はさまざまな

    システムを示すのに有効
    ‣ SNS,交通網,電話網,

    タンパク質の結合
    • ネットワーク構造から

    データマイニングしたい
    • ノード同士にリンクが

    存在しているかどうか
    ‣ 新たなノード同士についてリンク
    を予測


    ノード
    リンク
    ノード
    リンク

    View Slide

  11. リンク予測の定式化
    • グラフ構造 とする
    • ノード 間のリンクを と表

    • このような に対してスコアリング
    関数 を定めることにより

    を予測するタスク


    G = (V, E)
    x, y ∈ V e
    x,y
    ∈ E
    x, y
    s
    c
    (x, y)
    p(e
    x,y
    |(x, y))

    View Slide

  12. リンク予測手法の種類
    • 類似度に基づいた手法
    ‣ 似ているノード同士はリンクを持つ
    • 類似度に基づかない手法
    ‣ 分類モデルでリンクの存在を直接予測
    ‣ 行列の因子分解を利用


    View Slide

  13. 実世界における知識
    • AIにおける主要な話題
    • さまざまなAIのタスクで有用
    ‣ 質問応答, 知識推論, web検索
    • 伝統的な知識ベース
    ‣ Wordnet (Miller, 1995), Freebase (Bollacker+, 2008)
    ‣ 抽象的かつ論理的
    • すべてをカバーするのは大変
    • 人手による構築が大変
    ‣ 関係抽出というタスクも存在する


    View Slide

  14. 知識グラフってなに?
    • 知識ベースをグラフ
    にする
    ‣ 計算のため
    • 人間に理解しやすい


    Italian
    Pasta Pizza
    Arrabbiata
    Dish
    Japanese
    Sushi Ramen
    Tonkotsu
    Carbonara Miso
    Margueritte
    Drink Plant
    Object

    View Slide

  15. 知識グラフにおけるリンク予測
    • 知識グラフは (head, relation, tail) の
    triplet (三つ組) で表される
    ‣ 例: (Pasta, is_a, dish)
    • 訓練データに登場しないペアについても
    予測
    ‣ 存在するペアたちから学習する
    • 知識グラフを連続ベクトル特徴空間に
    ‣ 知識グラフを数値計算可能に
    ‣ 意味的な類似性を包含したい


    知識ベース

    データセット
    Train Test
    Triplet→Vector
    モデル
    Train
    Predict
    分割

    View Slide

  16. リンク予測の種類


    (h,r,t) に対するスコア関数
    TransE
    TransH
    TransR
    TransD
    Structured
    Embedding
    Unstructured
    Model
    Single Layer
    Model
    s
    c
    (h , r, t) = |h + r − t|
    L1/L2
    s
    c
    (h , r, t) = |h

    + r − t

    |
    L1/L2
    , (h

    = h − w⊤
    r
    hw
    r
    , t

    = t − w⊤
    r
    tw
    r
    )
    s
    c
    (h , r, t) = |M
    r
    h + r − M
    r
    t|
    L1/L2
    M
    rh
    = r
    p
    h⊤
    p
    + I M
    rt
    = r
    p
    t⊤
    p
    + I
    s
    c
    (h , r, t) = M
    r,h
    h − M
    r,t
    t
    s
    c
    (h , r, t) = − u⊤
    r
    tanh (M
    r,h
    h + M
    r,t
    t + b
    r)
    s
    c
    (h , * ,t) = |h − t|

    View Slide

  17. ネガティブサンプリング
    • データセットは正例しか保持し
    ていない
    • 訓練する時
    ‣ 訓練データから得られた正例
    ‣ 人手で作られた負例
    • マージンに基づいた

    ランキングのlossを最小化する




    ↑スコア高
    ↓スコア低

    View Slide

  18. 人手で作られた負例の問題点
    • (head entity, relation, tail entity)


    head または tail のどちらかをランダムに入れ替える


    決定境界(のようなもの)
    ↓こういう決定境界から遠い負例を生成
    →決定境界に近い負例がほしい

    View Slide

  19. ネガティブサンプル生成の例
    • (Steve Jobs, FounderOf, Apple Inc.)
    • ランダムにサンプリングすると:
    ‣ (London, FounderOf, Apple Inc.)
    ‣ (baseball, FounderOf, Apple Inc.)
    • 訓練時に有効ではない
    • 場合によってはモデルの収束の邪魔になる


    Even not a human!!

    View Slide

  20. ネガティブサンプリングの難しさ
    • データセットそれぞれに強く依存する
    ‣ WordNet
    - ほとんどが一般的な単語で構成
    - それらを語彙的や意味的な関係

    でつないでいる
    ‣ Freebase
    - ほとんどが固有名詞
    - つよく型付けされた会計でつながれている


    Type
    エンティ
    ティ数
    関係の数
    三つ組の

    WN11 38,696 11 112,581
    FB15k 14,591 1,345 483,442

    View Slide

  21. WN11とFB15kの三つ組の例


    Head Relation Tail
    address part_of letter
    WN11 line type_of text
    health_problem has_instance infection
    star_wars_episode_IV produced_by george_lucas
    FB15k alexandre_dumas people_profession writer
    professor profession_people albert_einstein

    View Slide

  22. ネガティブサンプリングの技術
    • 正例を使うもの
    ‣ Random sampling (ランダム),

    Corrupting positive instances (正例を壊して)
    • 型の情報を使うもの
    ‣ Typed sampling, (型を利用する)

    Relational sampling (関係性を利用する)
    • ネガティブサンプリングモデルを使うもの
    ‣ Nearest neighbor sampling, (最近傍を持ってくる)

    Near miss sampling (↑を改善したもの)


    View Slide

  23. GANを元にした

    ネガティブサンプリング
    • (Wang+, 2018)
    • 知識表現におけるネガティブサンプリ
    ング性能の向上をGANで行う
    • Discriminator
    ‣ 3つ組が存在するかどうかを識別
    ‣ 生成された3つ組も使って学習
    • Generator
    ‣ 学習に有効なネガティブサンプルを生成
    • 敵対的学習


    Dataset
    Discriminator
    Generator
    Pos Neg
    Score of triplet

    View Slide

  24. GAN モデルの全体


    ● ● ● ● ●
    Entity Relation
    +
    ● ● ● ● ●
    ReLU
    Softmax
    Generator Discriminator
    Neg
    Triplet
    Pos
    Triplet
    ● ● ● ●
    Loss / Reward
    Neg Triplets
    Reward
    Score

    View Slide

  25. Discriminator
    • 入力
    ‣ 正例と負例のtriplet
    • 出力
    ‣ tripletのスコア
    • 構成
    ‣ それぞれのリンク予測モデル
    • Max Margin Loss関数



    l(h , r, t) = max{0,( f
    r
    (h ′, t′) − f
    r
    (h , t) + γ)}
    Discriminator
    Neg
    Triplet
    Pos
    Triplet
    ● ● ● ●
    Loss / Reward
    Score

    View Slide

  26. Generator
    • 入力
    ‣ 正例から得られたエンティティと関係性
    • Output
    ‣ 適切なネガティブサンプル
    • Structure
    ‣ 2層のパーセプトロン
    ‣ ReLU and Softmax for activation function
    • 方策勾配法を用いて学習
    • 報酬




    R = tanh(f
    r
    (h , t) − f
    r
    (h ′, t′) + γ))
    ● ● ● ● ●
    Entity Relation
    +
    ● ● ● ● ●
    ReLU
    Softmax
    Generator

    θ
    J(θ) = ∇
    θ
    log p(e|(h , r, t), z; θ) ⋅ R

    View Slide

  27. 結果


    View Slide

  28. 提案手法の問題点
    • モデルが大きくなる
    ‣ GANを用いることにより収束がやや困難に
    ‣ 精度は出るが計算時間がかかる
    • 既存のネガティブサンプリング手法から得ら
    れた知見
    ‣ 全エンティティと関係の組についてスコアを
    計算


    View Slide

  29. まとめ
    • リンク予測というタスクがある
    • データセットにつよく依存する
    • ネガティブサンプリングをうまくやる必要が
    ある
    • GANを用いて適切なネガティブサンプルを生
    成することができた
    ‣ すべてでうまくいくというわけではない


    View Slide

  30. 参考文献
    • Ictor Mar Inez, Fernando Berzal, and Juan-carlos Cubero. A
    Survey of Link Prediction in Complex Networks.
    ‣ https://arxiv.org/abs/1010.0725
    • PeiFeng Wang, Shuangyin Li, and Rong Pan. Incorporating GAN
    for negative sampling in knowledge representation
    learning.
    ‣ https://aaai.org/ocs/index.php/AAAI/AAAI18/paper/view/16094
    • Bhushan Kotnis and Vivi Nastase. Analysis of the impact of
    negative sampling on link prediction in knowledge graphs.
    ‣ https://arxiv.org/abs/1708.06816


    View Slide