u++の備忘録

「Machine learning graph pitch #1」に参加しました(全発表まとめ)

本日開催された「Machine learning graph pitch #1」に参加しました。機械学習の中でも、特にグラフ関連の技術を実務で使っている5人の方々のLTをお聞きできました。

machine-learning-pitch.connpass.com

Improving "People You May Know" on Directed Social Graph(Graph Embedding を用いた双方向つながり予測)

agata (@agatan_) さん


やりたいこと

  • Wantedly Peopleでのつながりを増やしたい
  • 「もしかして知り合いかも?」の表示
  • Link prediction: 繋がる可能性の予測
  • 初期は「同じ会社」「共通のつながり人数」などルールベースでやってきた
  • ルールで拾いきれないユーザにも推薦を出したい

Graph Embeddingを用いる利点

  • 複雑な関係を表現できる
    • エッジが2, 3億あるWantedlyのデータを1次元ベクトルとして扱えたら嬉しい
  • 推薦候補の検索が高速に表現できる
    • 全探索するとしてもない積を取るだけ
    • embeddingの近傍情報を使って推薦候補を絞る
  • (他のタスクへの応用)
    • 別タスクの入力として使う

技術

  • シンプルなdeep walkで試した
  • 双方向ではないエッジを捨てているので、次の情報が落ちる
    • つながりリクエストが拒否された情報
    • 「単方向のつながり」を経由して弱く繋がっているという情報
  • つながりの種類を表現することで、上記の情報も活用
    • "Complex Embedding" を参考に実現

結果

  • 「Top 50以内に繋がるユーザを推薦できる」ユーザ数が10.3%増加
  • もともと推薦を出せていたユーザに対する推薦の質はほぼ同等
  • 実運用上は、ルールベースは残しつつ、拾えないユーザにGraph Embeddingを用いた情報を出しているらしい

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

inuzuka (@studio_graph3) さん

  • クックパッドのリサーチエンジニア。アルバイトを経て、2019年に新卒入社。


技術

  • リンク予測
  • スコアリング関数の定め方が大事(資料 p. 17)
  • 2種類の方法
    • 類似度に基づいた手法
    • 類似度に基づかない手法
      • 分類モデルでリンクの存在を直接予測
      • 行列の因子分解を利用

やりたいこと

  • 知識グラフにおけるリンク予測
  • 訓練データに登場しないペアについてもリンクを予測する
  • 知識グラフを連続ベクトル特徴空間に
    • 知識グラフを計算可能に
    • 意味的な類似性を内包させたい

技術的難しさ

  • データセットには正例しか保持していない
  • 訓練するとき
    • 1: 訓練データから作られた正例
    • 0: 人手で作られた負例
  • マージンに基づいたランキングのlossを最小化
  • 負例は人手で作っているので、決定境界から遠い負例を生成しがち
    • 訓練に有効ではない
    • モデル収束の邪魔になる
  • → GANを基に、ネガティブサンプリング

提案手法の課題

  • モデルが大きくなる
    • GANを用いることで収束がやや困難に
    • 精度は出るが時間がかかる
  • 既存のネガティブサンプリング手法から得られた知見
    • 全エンティティと関係の組についてスコアを計算
  • (画像ではなく離散値を出力するので、Mode collapseの問題は検知しやすい)

DAGの埋め込み手法とdisk embedding

nunuki (@nunuki_) さん

  • LAPRAS (旧 scouty)のMLエンジニア。

ai-lab.lapras.com

技術

  • 自分でICML2019に通した論文を解説
  • Directed Acyclic Graph (DAGs) の Embedding
  • グラフの推移的な構造を保ったまま埋め込む手法
  • Upper Cone と Lower Cone という構造で、包含関係扱える
  • これまでは上位概念ほど小さくなっていくTreeのような構造を仮定してしまっていた

提案手法のContribution

  • DAGの既存の埋め込み手法を統一する "Disk Embedding" というフレームワークを導入
  • 全く新しいモデルである "Hyperbolic Disk Embedding" を提案

応用範囲

  • 例えば論文などは、親も子も豊富に繋がりがあるので DAGs が使えそう
  • Future Work になっている

vaaaaanquish (@vaaaaanquish) さん

  • エムスリー株式会社のMLエンジニア。MLエンジンの開発が主務。


やりたいこと

  • 医療関係者は時間がないので論文レコメンドしてあげたい
  • プロジェクトの制約
    • 興味を前提に医師が最も学べる論文を推薦したい
      • いろいろな問題を扱いたいが、エンジニア的には統一的な枠組みでできると嬉しい
    • 利用可能なデータとして「論文クリック」のような直接的な教師データがほぼない

Graph Embeddingを用いる利点

  • さまざまなタスクがあり、いろいろな評価関数があるので、多くの問題に適用できそう
  • Link Predictionタスクは、半教師あり学習の形でも解くことができる
  • (userとcontentsはpage viewで繋いでいるが、tag経由でも繋がっているのでcold start問題にも対応できる?)

おわりに

申込時に「最近読んだ面白かった機械学習関連の論文と理由」を聞いているだけあって、質疑応答の議論も多くかつ質が高く、よい勉強会でした。なお、申込時のアンケート結果は、事後のアンケート答えてくれた人には共有してくださるそうです。事前アンケートで参加者をフィルタリングして、事後アンケートに答えるモチベーションも作る良い方法だと感じました。

f:id:upura:20190513190548j:plain