本日開催された「Machine learning graph pitch #1」に参加しました。機械学習の中でも、特にグラフ関連の技術を実務で使っている5人の方々のLTをお聞きできました。
machine-learning-pitch.connpass.com
- Improving "People You May Know" on Directed Social Graph(Graph Embedding を用いた双方向つながり予測)
- GANを用いたリンク予測におけるネガティブサンプルの生成
- DAGの埋め込み手法とdisk embedding
- 論文レコメンドにおける Graph Convolutional Network を用いたlink prediction
- おわりに
Improving "People You May Know" on Directed Social Graph(Graph Embedding を用いた双方向つながり予測)
agata (@agatan_) さん
- Wantedly People の機械学習エンジニア。担当は、文字認識、記事推薦、つながりの推薦など。
やりたいこと
- 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エンジニア。
技術
- 自分でICML2019に通した論文を解説
- Directed Acyclic Graph (DAGs) の Embedding
- グラフの推移的な構造を保ったまま埋め込む手法
- Upper Cone と Lower Cone という構造で、包含関係扱える
- これまでは上位概念ほど小さくなっていくTreeのような構造を仮定してしまっていた
提案手法のContribution
- DAGの既存の埋め込み手法を統一する "Disk Embedding" というフレームワークを導入
- 全く新しいモデルである "Hyperbolic Disk Embedding" を提案
応用範囲
- 例えば論文などは、親も子も豊富に繋がりがあるので DAGs が使えそう
- Future Work になっている
論文レコメンドにおける Graph Convolutional Network を用いたlink prediction
vaaaaanquish (@vaaaaanquish) さん
- エムスリー株式会社のMLエンジニア。MLエンジンの開発が主務。
やりたいこと
- 医療関係者は時間がないので論文レコメンドしてあげたい
- プロジェクトの制約
- 興味を前提に医師が最も学べる論文を推薦したい
- いろいろな問題を扱いたいが、エンジニア的には統一的な枠組みでできると嬉しい
- 利用可能なデータとして「論文クリック」のような直接的な教師データがほぼない
- 興味を前提に医師が最も学べる論文を推薦したい
Graph Embeddingを用いる利点
- さまざまなタスクがあり、いろいろな評価関数があるので、多くの問題に適用できそう
- Link Predictionタスクは、半教師あり学習の形でも解くことができる
- (userとcontentsはpage viewで繋いでいるが、tag経由でも繋がっているのでcold start問題にも対応できる?)
おわりに
申込時に「最近読んだ面白かった機械学習関連の論文と理由」を聞いているだけあって、質疑応答の議論も多くかつ質が高く、よい勉強会でした。なお、申込時のアンケート結果は、事後のアンケート答えてくれた人には共有してくださるそうです。事前アンケートで参加者をフィルタリングして、事後アンケートに答えるモチベーションも作る良い方法だと感じました。