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

コミュニティ検出 動向紹介

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

コミュニティ検出 動向紹介

Avatar for Kazuki Fujikawa

Kazuki Fujikawa

May 30, 2023
Tweet

More Decks by Kazuki Fujikawa

Other Decks in Science

Transcript

  1. ▪ コミュニティ検出とは ▪ 代表的な手法の紹介 ▪ 非機械学習によるアプローチ: Louvain Algorithm (エッジの密集度合いに基づいてコミュニティを検出) ▪

    グラフ再構成によるアプローチ: GAE, VGAE, ARGA, ARGVA (ノード特徴量の類似性も考慮) ▪ クラスタ割り当て最適化によるアプローチ: DEC, SDCN (クラスタ割り当てを学習可能に) ▪ 対照学習によるアプローチ: CGC (コミュニティが持つ特性に対する仮説を直接学習に反映) (時間変化するグラフへの対応) AGENDA 2
  2. ▪ コミュニティ検出とは ▪ 代表的な手法の紹介 ▪ 非機械学習によるアプローチ: Louvain Algorithm (エッジの密集度合いに基づいてコミュニティを検出) ▪

    グラフ再構成によるアプローチ: GAE, VGAE, ARGA, ARGVA (ノード特徴量の類似性も考慮) ▪ クラスタ割り当て最適化によるアプローチ: DEC, SDCN (クラスタ割り当てを学習可能に) ▪ 対照学習によるアプローチ: CGC (コミュニティが持つ特性に対する仮説を直接学習に反映) (時間変化するグラフへの対応) AGENDA 3
  3. 4 ▪ グラフ中で密に関係するノード部分集合を発見する問題 ▪ ≒ ノードクラスタリング ▪ 凝集性が高い(コミュニティ内のリンクは多い) ▪ 分離性が高い(コミュニティ間のリンクは少ない)

    ▪ 近年は深層学習を使ったコミュニティ検出手法の研究が活発に ▪ ノードペアの関係の強さを、エッジだけでなくノード特徴量も使いたい ▪ ノードペアの関係の強さを、データから学習したい コミュニティ検出とは A Comprehensive Survey on Community Detection with Deep Learning [Su+, 2022]
  4. 複雑な関係データをクラスタ毎に 色分けして可視化することで、 全体像を把握しやすくする 5 コミュニティ検出の応用例 因果推論 可視化 レコメンド https://github.com/usc-cloud/parallel-louvain- modularity/blob/master/QuickStart.md

    https://ai.googleblog.com/2016/09/research-fr om-vldb-2016-improved-friend.html https://gm-neurips-2020.github.io/master-deck.pdf グラフ距離が同じ(e.g. B-U, U-W) でも、同一コミュニティに属する 繋がりをレコメンドする(e.g. U-W) 間接的な影響を減らすため、 ユーザの繋がりが疎なグループ間で A/Bテストをする
  5. ▪ コミュニティ検出とは ▪ 代表的な手法の紹介 ▪ 非機械学習によるアプローチ: Louvain Algorithm (エッジの密集度合いに基づいてコミュニティを検出) ▪

    グラフ再構成によるアプローチ: GAE, VGAE, ARGA, ARGVA (ノード特徴量の類似性も考慮) ▪ クラスタ割り当て最適化によるアプローチ: DEC, SDCN (クラスタ割り当てを学習可能に) ▪ 対照学習によるアプローチ: CGC (コミュニティが持つ特性に対する仮説を直接学習に反映) (時間変化するグラフへの対応) AGENDA 6
  6. ▪ コミュニティ検出とは ▪ 代表的な手法の紹介 ▪ 非機械学習によるアプローチ: Louvain Algorithm (エッジの密集度合いに基づいてコミュニティを検出) ▪

    グラフ再構成によるアプローチ: GAE, VGAE, ARGA, ARGVA (ノード特徴量の類似性も考慮) ▪ クラスタ割り当て最適化によるアプローチ: DEC, SDCN (クラスタ割り当てを学習可能に) ▪ 対照学習によるアプローチ: CGC (コミュニティが持つ特性に対する仮説を直接学習に反映) (時間変化するグラフへの対応) AGENDA 7
  7. 8 ▪ モジュラリティを貪欲法で最適化する ▪ Step 0: 初期化 ▪ Step 1:

    モジュラリティを最大化するクラスタ割り当てを算出 ▪ Step 2: コミュニティを集約 非機械学習によるアプローチ: Louvain Algorithm 2 3 1 4 6 5 計算対象のグラフ: G 3 4 Gと同数のエッジが均等 に貼られたグラフ: G’ 2 1 6 5 モジュラリティ Fast unfolding of communities in large networks [Blondel+, 2008] コミュニティ検出手順 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 7 — 15 7 — 15 0 0 0 0 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15
  8. 9 ▪ モジュラリティを貪欲法で最適化する ▪ Step 0: 初期化 ▪ Step 1:

    モジュラリティを最大化するクラスタ割り当てを算出 ▪ Step 2: コミュニティを集約 非機械学習によるアプローチ: Louvain Algorithm 2 3 1 4 6 5 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 計算対象のグラフ: G 3 4 Gと同数のエッジが均等 に貼られたグラフ: G’ 2 1 6 5 モジュラリティ 0 0 0 0 7 — 15 7 — 15 0 0 0 0 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 モジュラリティ: グラフをコミュニティに分割した時に、 同数のエッジが均等に貼られたグラフ G’ と比べて どの程度エッジがコミュニティ内に密集しているか
  9. 10 ▪ モジュラリティを貪欲法で最適化する ▪ Step 0: 初期化 ▪ Step 1:

    モジュラリティを最大化するクラスタ割り当てを算出 ▪ Step 2: コミュニティを集約 非機械学習によるアプローチ: Louvain Algorithm 2 3 1 4 6 5 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 計算対象のグラフ: G 3 4 Gと同数のエッジが均等 に貼られたグラフ: G’ 2 1 6 5 モジュラリティ 0 0 0 0 7 — 15 7 — 15 0 0 0 0 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 GとG'の隣接行列を比較すると、 密集度合いを数値化することが可能
  10. 11 ▪ モジュラリティを貪欲法で最適化する ▪ Step 0: 初期化 ▪ Step 1:

    モジュラリティを最大化するクラスタ割り当てを算出 ▪ Step 2: コミュニティを集約 非機械学習によるアプローチ: Louvain Algorithm 2 3 1 4 6 5 計算対象のグラフ: G 3 4 Gと同数のエッジが均等 に貼られたグラフ: G’ 2 1 6 5 モジュラリティ Fast unfolding of communities in large networks [Blondel+, 2008] コミュニティ検出手順 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 7 — 15 7 — 15 0 0 0 0 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15
  11. 12 ▪ モジュラリティを貪欲法で最適化する ▪ Step 0: 初期化 ▪ Step 1:

    モジュラリティを最大化するクラスタ割り当てを算出 ▪ Step 2: コミュニティを集約 非機械学習によるアプローチ: Louvain Algorithm 2 3 1 4 6 5 計算対象のグラフ: G 3 4 Gと同数のエッジが均等 に貼られたグラフ: G’ 2 1 6 5 モジュラリティ Fast unfolding of communities in large networks [Blondel+, 2008] コミュニティ検出手順 ① ランダムにノードを選択 ② 隣接するコミュニティに移動した場合の   モジュラリティ変化量 ⊿Q を算出 ③ ⊿Q の最大値が0より大きければ移動 ④ 上記を変化が無くなるまで繰り返す 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 7 — 15 7 — 15 0 0 0 0 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15
  12. 13 ▪ モジュラリティを貪欲法で最適化する ▪ Step 0: 初期化 ▪ Step 1:

    モジュラリティを最大化するクラスタ割り当てを算出 ▪ Step 2: コミュニティを集約 非機械学習によるアプローチ: Louvain Algorithm 2 3 1 4 6 5 計算対象のグラフ: G 3 4 Gと同数のエッジが均等 に貼られたグラフ: G’ 2 1 6 5 モジュラリティ Fast unfolding of communities in large networks [Blondel+, 2008] コミュニティ検出手順 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 7 — 15 7 — 15 0 0 0 0 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15
  13. 14 ▪ モジュラリティを貪欲法で最適化する ▪ Step 0: 初期化 ▪ Step 1:

    モジュラリティを最大化するクラスタ割り当てを算出 ▪ Step 2: コミュニティを集約 非機械学習によるアプローチ: Louvain Algorithm 2 3 1 4 6 5 計算対象のグラフ: G 3 4 Gと同数のエッジが均等 に貼られたグラフ: G’ 2 1 6 5 モジュラリティ Fast unfolding of communities in large networks [Blondel+, 2008] コミュニティ検出手順 集約されたグラフに対して クラスタ割り当てを再計算 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 7 — 15 7 — 15 0 0 0 0 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15
  14. 15 ▪ モジュラリティを貪欲法で最適化する ▪ Step 0: 初期化 ▪ Step 1:

    モジュラリティを最大化するクラスタ割り当てを算出 ▪ Step 2: コミュニティを集約 非機械学習によるアプローチ: Louvain Algorithm 2 3 1 4 6 5 計算対象のグラフ: G 3 4 Gと同数のエッジが均等 に貼られたグラフ: G’ 2 1 6 5 モジュラリティ Fast unfolding of communities in large networks [Blondel+, 2008] コミュニティ検出手順 変化が無くなったら終了 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 7 — 15 7 — 15 0 0 0 0 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15 7 — 15
  15. ▪ コミュニティ検出とは ▪ 代表的な手法の紹介 ▪ 非機械学習によるアプローチ: Louvain Algorithm (エッジの密集度合いに基づいてコミュニティを検出) ▪

    グラフ再構成によるアプローチ: GAE, VGAE, ARGA, ARGVA (ノード特徴量の類似性も考慮) ▪ クラスタ割り当て最適化によるアプローチ: DEC, SDCN (クラスタ割り当てを学習可能に) ▪ 対照学習によるアプローチ: CGC (コミュニティが持つ特性に対する仮説を直接学習に反映) (時間変化するグラフへの対応) AGENDA 16
  16. T T 17 ▪ 隣接行列の再構成を AE, VAE で学習 ▪ 得られた埋め込みを

    k-means などでクラスタリング グラフ再構成誤差最小化に基づくアプローチ: AE, VAE, ARGA, ARGVA A’ GAE, VGAE [Kiph+, NeurIPS2016ws] A z GNN ・ σ z 再構成誤差 A’ A z GNN ・ σ z 再構成誤差 ARGA, ARGVA [Pan+, IJCAI2018] MLP 0/1 敵対的損失 Coraの可視化 ARGA VGAE GAE DeepWalk
  17. T 18 ▪ 隣接行列の再構成を AE, VAE で学習 ▪ 得られた埋め込みを k-means

    などでクラスタリング グラフ再構成誤差最小化に基づくアプローチ: AE, VAE, ARGA, ARGVA A’ GAE, VGAE [Kiph+, NeurIPS2016ws] A z GNN ・ σ z 再構成誤差 各ノードをGNNで z に埋め込み
  18. T 19 ▪ 隣接行列の再構成を AE, VAE で学習 ▪ 得られた埋め込みを k-means

    などでクラスタリング グラフ再構成誤差最小化に基づくアプローチ: AE, VAE, ARGA, ARGVA A’ GAE, VGAE [Kiph+, NeurIPS2016ws] A z GNN ・ σ z 再構成誤差 z と z の内積 + sigmoidを取ること でリンク予測の結果 A’ を得る T
  19. T 20 ▪ 隣接行列の再構成を AE, VAE で学習 ▪ 得られた埋め込みを k-means

    などでクラスタリング グラフ再構成誤差最小化に基づくアプローチ: AE, VAE, ARGA, ARGVA A’ GAE, VGAE [Kiph+, NeurIPS2016ws] A z GNN ・ σ z 再構成誤差 元の隣接行列との再構成誤差を とって最適化 T
  20. T 21 ▪ 隣接行列の再構成を AE, VAE で学習 ▪ 得られた埋め込みを k-means

    などでクラスタリング グラフ再構成誤差最小化に基づくアプローチ: AE, VAE, ARGA, ARGVA A’ GAE, VGAE [Kiph+, NeurIPS2016ws] A z GNN ・ σ z 再構成誤差 VGAEの場合はこの部分を 正規分布からのサンプリングに 置き換え
  21. T T 22 ▪ 隣接行列の再構成を AE, VAE で学習 ▪ 得られた埋め込みを

    k-means などでクラスタリング グラフ再構成誤差最小化に基づくアプローチ: AE, VAE, ARGA, ARGVA A’ GAE, VGAE [Kiph+, NeurIPS2016ws] A z GNN ・ σ z 再構成誤差 A’ A z GNN ・ σ z 再構成誤差 ARGA, ARGVA [Pan+, IJCAI2018] MLP 正規分布からのサンプリングとの 敵対的損失で z の分布を 事前分布に近づける 0/1 敵対的損失
  22. T T 23 ▪ 隣接行列の再構成を AE, VAE で学習 ▪ 得られた埋め込みを

    k-means などでクラスタリング グラフ再構成誤差最小化に基づくアプローチ: AE, VAE, ARGA, ARGVA A’ GAE, VGAE [Kiph+, NeurIPS2016ws] A z GNN ・ σ z 再構成誤差 A’ A z GNN ・ σ z 再構成誤差 ARGA, ARGVA [Pan+, IJCAI2018] MLP 0/1 敵対的損失 Coraの可視化 ARGA VGAE GAE DeepWalk
  23. ▪ コミュニティ検出とは ▪ 代表的な手法の紹介 ▪ 非機械学習によるアプローチ: Louvain Algorithm (エッジの密集度合いに基づいてコミュニティを検出) ▪

    グラフ再構成によるアプローチ: GAE, VGAE, ARGA, ARGVA (ノード特徴量の類似性も考慮) ▪ クラスタ割り当て最適化によるアプローチ: DEC, SDCN (クラスタ割り当てを学習可能に) ▪ 対照学習によるアプローチ: CGC (コミュニティが持つ特性に対する仮説を直接学習に反映) (時間変化するグラフへの対応) AGENDA 24
  24. μ KL誤差: 25 ▪ 目標分布とのKL誤差最小化を通じてクラスタ割り当てを学習 ▪ Step 1: MLPをSdAで事前学習 ▪

    Step 2: k-meansでクラスタ中心の初期値を取得 ▪ Step 3: KL誤差最小化を通じてクラスタ中心とMLPを学習 クラスタ割り当て最適化を導入したアプローチ: DEC, SDCN DEC [Xie+, ICML2016] MLP MLP MLP 再構成誤差 事前学習 z z q p 類似度(t分布): 目標分布 : クラスタ中心 (学習可能パラメータ) ”Unsupervised Deep Embedding for Clustering Analysis” グラフは関係なく、クラスタリングを目的とした 深層学習手法に関する論文
  25. μ KL誤差: 26 ▪ 目標分布とのKL誤差最小化を通じてクラスタ割り当てを学習 ▪ Step 1: MLPをSdAで事前学習 ▪

    Step 2: k-meansでクラスタ中心の初期値を取得 ▪ Step 3: KL誤差最小化を通じてクラスタ中心とMLPを学習 クラスタ割り当て最適化を導入したアプローチ: DEC, SDCN DEC [Xie+, ICML2016] MLP MLP MLP 再構成誤差 事前学習 z z q p 類似度(t分布): 目標分布 : クラスタ中心 (学習可能パラメータ) SDCN [Bo+, WWW2020] GNNでDECの最適化手法を導入
  26. μ KL誤差: 27 ▪ 目標分布とのKL誤差最小化を通じてクラスタ割り当てを学習 ▪ Step 1: MLPをSdAで事前学習 ▪

    Step 2: k-meansでクラスタ中心の初期値を取得 ▪ Step 3: KL誤差最小化を通じてクラスタ中心とMLPを学習 クラスタ割り当て最適化を導入したアプローチ: DEC, SDCN DEC [Xie+, ICML2016] MLP MLP MLP 再構成誤差 事前学習 z z q p 類似度(t分布): 目標分布 : クラスタ中心 (学習可能パラメータ)
  27. 28 ▪ 目標分布とのKL誤差最小化を通じてクラスタ割り当てを学習 ▪ Step 1: MLPをSdAで事前学習 ▪ Step 2:

    k-meansでクラスタ中心の初期値を取得 ▪ Step 3: KL誤差最小化を通じてクラスタ中心とMLPを学習 クラスタ割り当て最適化を導入したアプローチ: DEC, SDCN DEC [Xie+, ICML2016] MLP MLP 再構成誤差 事前学習 z Stacked Denoising Auto-Encoder で入力を再構成するように事前学習
  28. μ 29 ▪ 目標分布とのKL誤差最小化を通じてクラスタ割り当てを学習 ▪ Step 1: MLPをSdAで事前学習 ▪ Step

    2: k-meansでクラスタ中心の初期値を取得 ▪ Step 3: KL誤差最小化を通じてクラスタ中心とMLPを学習 クラスタ割り当て最適化を導入したアプローチ: DEC, SDCN DEC [Xie+, ICML2016] MLP MLP MLP 再構成誤差 事前学習 z z 事前学習済みMLPで全データを推論 & k-meansでクラスタ中心 μ を取得 (→ 学習可能パラメータの初期値とする) k-means
  29. μ KL誤差: 30 ▪ 目標分布とのKL誤差最小化を通じてクラスタ割り当てを学習 ▪ Step 1: MLPをSdAで事前学習 ▪

    Step 2: k-meansでクラスタ中心の初期値を取得 ▪ Step 3: KL誤差最小化を通じてクラスタ中心とMLPを学習 クラスタ割り当て最適化を導入したアプローチ: DEC, SDCN DEC [Xie+, ICML2016] MLP MLP MLP 再構成誤差 事前学習 z z q p 類似度(t分布): 目標分布 : クラスタ中心 (学習可能パラメータ) データがクラスタ毎に分かれるように、 MLPとクラスタ中心をFine-Tuning
  30. ▪ 目標分布とのKL誤差最小化を通じてクラスタ割り当てを学習 ▪ Step 1: MLPをSdAで事前学習 ▪ Step 2: k-meansでクラスタ中心の初期値を取得

    ▪ Step 3: KL誤差最小化を通じてクラスタ中心とMLPを学習 μ KL誤差: 31 クラスタ割り当て最適化を導入したアプローチ: DEC, SDCN DEC [Xie+, ICML2016] MLP MLP MLP 再構成誤差 事前学習 z z q p 類似度(t分布): 目標分布 : クラスタ中心 (学習可能パラメータ) データ点 z が、平均 μ の t 分布に従うと仮定 →各クラスタに属する確率が、t分布の確率密度関数で表せる → 各クラスタに対する類似度=条件付き確率は左式 q で表せる (t-SNEと同じような話) i j ij
  31. ▪ 目標分布とのKL誤差最小化を通じてクラスタ割り当てを学習 ▪ Step 1: MLPをSdAで事前学習 ▪ Step 2: k-meansでクラスタ中心の初期値を取得

    ▪ Step 3: KL誤差最小化を通じてクラスタ中心とMLPを学習 μ KL誤差: 32 クラスタ割り当て最適化を導入したアプローチ: DEC, SDCN DEC [Xie+, ICML2016] MLP MLP MLP 再構成誤差 事前学習 z z q p 類似度(t分布): 目標分布 : クラスタ中心 (学習可能パラメータ) データ点: z クラスタ中心: μ データ点 z は平均 μ の t 分布に従うと仮定 → 確率密度関数を以下で表すことができる i j j i
  32. i ▪ 目標分布とのKL誤差最小化を通じてクラスタ割り当てを学習 ▪ Step 1: MLPをSdAで事前学習 ▪ Step 2:

    k-meansでクラスタ中心の初期値を取得 ▪ Step 3: KL誤差最小化を通じてクラスタ中心とMLPを学習 μ KL誤差: 33 クラスタ割り当て最適化を導入したアプローチ: DEC, SDCN DEC [Xie+, ICML2016] MLP MLP MLP 再構成誤差 事前学習 z z q p 類似度(t分布): 目標分布 : クラスタ中心 (学習可能パラメータ) データ点: z クラスタ中心: μ データ点 z はいずれかのクラスタから得られる → データ点 z とクラスタ j の類似度を、 条件付き確率の形で表すことができる(左式 qij) 1 i 2 クラスタ中心: μ 3 クラスタ中心: μ
  33. ▪ 目標分布とのKL誤差最小化を通じてクラスタ割り当てを学習 ▪ Step 1: MLPをSdAで事前学習 ▪ Step 2: k-meansでクラスタ中心の初期値を取得

    ▪ Step 3: KL誤差最小化を通じてクラスタ中心とMLPを学習 μ KL誤差: 34 クラスタ割り当て最適化を導入したアプローチ: DEC, SDCN DEC [Xie+, ICML2016] MLP MLP MLP 再構成誤差 事前学習 z z q p 類似度(t分布): 目標分布 : クラスタ中心 (学習可能パラメータ) 目標分布: 各データ点の類似度 q を以下のように調整した分布とする ①クラスタ間で類似度のスケールを合わせる → で正規化 (  : ミニバッチ内のクラスタ毎の類似度和) ②高い予測値をより高く →   を二乗 ③確率として扱う→     で正規化 ij
  34. μ KL誤差: 35 ▪ 目標分布とのKL誤差最小化を通じてクラスタ割り当てを学習 ▪ Step 1: MLPをSdAで事前学習 ▪

    Step 2: k-meansでクラスタ中心の初期値を取得 ▪ Step 3: KL誤差最小化を通じてクラスタ中心とMLPを学習 クラスタ割り当て最適化を導入したアプローチ: DEC, SDCN DEC [Xie+, ICML2016] MLP MLP MLP 再構成誤差 事前学習 z z q p 類似度(t分布): 目標分布 : クラスタ中心 (学習可能パラメータ) qとpの分布のKL誤差最小化を通じて、 MLPとクラスタ中心を更新する
  35. μ KL誤差: 36 ▪ 目標分布とのKL誤差最小化を通じてクラスタ割り当てを学習 ▪ Step 1: MLPをSdAで事前学習 ▪

    Step 2: k-meansでクラスタ中心の初期値を取得 ▪ Step 3: KL誤差最小化を通じてクラスタ中心とMLPを学習 クラスタ割り当て最適化を導入したアプローチ: DEC, SDCN DEC [Xie+, ICML2016] MLP MLP MLP 再構成誤差 事前学習 z z q p 類似度(t分布): 目標分布 : クラスタ中心 (学習可能パラメータ) Epochが進むにつれて、 データがクラスタに分割されていく
  36. μ KL誤差: 37 ▪ 目標分布とのKL誤差最小化を通じてクラスタ割り当てを学習 ▪ Step 1: MLPをSdAで事前学習 ▪

    Step 2: k-meansでクラスタ中心の初期値を取得 ▪ Step 3: KL誤差最小化を通じてクラスタ中心とMLPを学習 クラスタ割り当て最適化を導入したアプローチ: DEC, SDCN DEC [Xie+, ICML2016] MLP MLP MLP 再構成誤差 事前学習 z z q p 類似度(t分布): 目標分布 : クラスタ中心 (学習可能パラメータ) SDCN [Bo+, WWW2020]
  37. ▪ コミュニティ検出とは ▪ 代表的な手法の紹介 ▪ 非機械学習によるアプローチ: Louvain Algorithm (エッジの密集度合いに基づいてコミュニティを検出) ▪

    グラフ再構成によるアプローチ: GAE, VGAE, ARGA, ARGVA (ノード特徴量の類似性も考慮) ▪ クラスタ割り当て最適化によるアプローチ: DEC, SDCN (クラスタ割り当てを学習可能に) ▪ 対照学習によるアプローチ: CGC (コミュニティが持つ特性に対する仮説を直接学習に反映) (時間変化するグラフへの対応) AGENDA 38
  38. 対照学習によるアプローチ: CGC 39 正例: 同一ノード特徴量 負例: ランダムサンプル 正例: 隣接関係にあるノード埋め込み 負例:

    ノードシャッフル後の自身の埋め込み 以下クラスタ数 1…L まで実施 正例: 同一クラスタセントロイド 負例: 異なるクラスタセントロイド クラスタリングはEpoch単位で更新 GNN GNN Shuffle : (r回繰り返す) GNN k-means & セントロイド算出 GNN k-means & セントロイド算出 GNN 同一ノード特徴量との比較 隣接ノード埋め込みとの比較 階層クラスタとの比較 CGC [Fabbri+, WWW2022] ▪ コミュニティが持つ特性に着目し、正例 / 負例ペアを定義する
  39. 対照学習によるアプローチ: CGC 40 正例: 同一ノード特徴量 負例: ランダムサンプル GNN 同一ノード特徴量との比較 CGC

    [Fabbri+, WWW2022] ▪ コミュニティが持つ特性に着目し、正例 / 負例ペアを定義する コミュニティは、似た特徴を持つ人が集まるはず
  40. 対照学習によるアプローチ: CGC 41 正例: 同一ノード特徴量 負例: ランダムサンプル 正例: 隣接関係にあるノード埋め込み 負例:

    ノードシャッフル後の自身の埋め込み GNN GNN Shuffle : (r回繰り返す) GNN 同一ノード特徴量との比較 隣接ノード埋め込みとの比較 CGC [Fabbri+, WWW2022] ▪ コミュニティが持つ特性に着目し、正例 / 負例ペアを定義する Homophily: グラフ距離の近い人は、同じ コミュニティに属する傾向があるはず
  41. 対照学習によるアプローチ: CGC 42 正例: 同一ノード特徴量 負例: ランダムサンプル 正例: 隣接関係にあるノード埋め込み 負例:

    ノードシャッフル後の自身の埋め込み 以下クラスタ数 1…L まで実施 正例: 同一クラスタセントロイド 負例: 異なるクラスタセントロイド クラスタリングはEpoch単位で更新 GNN GNN Shuffle : (r回繰り返す) GNN k-means & セントロイド算出 GNN k-means & セントロイド算出 GNN 同一ノード特徴量との比較 隣接ノード埋め込みとの比較 階層クラスタとの比較 CGC [Fabbri+, WWW2022] ▪ コミュニティが持つ特性に着目し、正例 / 負例ペアを定義する コミュニティは階層性を持つはず
  42. ▪ グラフの時間変化への対応も以下のように提案 対照学習によるアプローチ: CGC 時間変化するグラフの埋め込み GNN ψ: 0-1の時間減衰ハイパーパラメータ      : v

    の持つ結合時刻最大値と       各結合時刻との差分 時間変化に対する平滑化 t t+1 GNN GNN GNN Shuffle 正例: 1つ前の時刻の埋め込み 負例: ノードシャッフル後の自身の埋め込み 上述の損失をCGC損失に重み付けして足す 大きな時間変化への対応 GNN GNN t t+1 t まで ⇔ t+1のグラフの埋め込みを比較 コサイン距離平均 θ 以上であれば、以降は t までのグラフは捨ててモデリングする 43 CGC [Fabbri+, WWW2022]
  43. ▪ グラフの時間変化への対応も以下のように提案 対照学習によるアプローチ: CGC 時間変化するグラフの埋め込み GNN ψ: 0-1の時間減衰ハイパーパラメータ      : v

    の持つ結合時刻最大値と       各結合時刻との差分 時間変化に対する平滑化 t t+1 GNN GNN GNN Shuffle 正例: 1つ前の時刻の埋め込み 負例: ノードシャッフル後の自身の埋め込み 上述の損失をCGC損失に重み付けして足す 大きな時間変化への対応 GNN GNN t t+1 t まで ⇔ t+1のグラフの埋め込みを比較 コサイン距離平均 θ 以上であれば、以降は t までのグラフは捨ててモデリングする 45 CGC [Fabbri+, WWW2022]
  44. ▪ グラフの時間変化への対応も以下のように提案 対照学習によるアプローチ: CGC 時間変化するグラフの埋め込み GNN ψ: 0-1の時間減衰ハイパーパラメータ      : v

    の持つ結合時刻最大値と       各結合時刻との差分 時間変化に対する平滑化 t t+1 GNN GNN GNN Shuffle 正例: 1つ前の時刻の埋め込み 負例: ノードシャッフル後の自身の埋め込み 上述の損失をCGC損失に重み付けして足す 大きな時間変化への対応 GNN GNN t t+1 t まで ⇔ t+1のグラフの埋め込みを比較 コサイン距離平均 θ 以上であれば、以降は t までのグラフは捨ててモデリングする 46 CGC [Fabbri+, WWW2022]
  45. 対照学習によるアプローチ: CGC(静的グラフでの実験) ▪ 以下の方法でクラスタリング精度を評価する ▪ 各モデルで埋め込み算出・クラスタリング ▪ クラスタ⇔クラス番号を Munkres アルゴリズムでマッチング

    ▪ Accuracy, F1等のクラス分類指標で評価 ▪ 結果: CGCで他手法を上回る結果が得られることを確認 ▪ クラスタリング損失・GNN導入で同程度の改善 ▪ 両方導入することで、さらに改善 47 再構成損失 クラスタリング損失 GNN 対照学習
  46. ▪ ベースライン ▪ 静的グラフ埋め込み手法: 全スナップショット統合・最新のみで評価 ▪ 結果: CGCで他手法を上回る結果が得られることを確認 ▪ 既存の時系列グラフに対するベースラインは、クラスタリングの

    目的関数を持たないため、コミュニティ検出には有効でない可能性 ▪ (右図)提案法は、時間変化と共にメトリクスが改善している 対照学習によるアプローチ: CGC(動的グラフでの実験) 48
  47. 49 ▪ Blondel, Vincent D., et al. "Fast unfolding of

    communities in large networks." Journal of statistical mechanics: theory and experiment 2008.10 (2008): P10008. ▪ Kipf, Thomas N., and Max Welling. "Variational graph auto-encoders." In NeurIPS 2016 ws. ▪ Pan, Shirui, et al. "Adversarially regularized graph autoencoder for graph embedding." In IJCAI 2018. ▪ Xie, J., R. Girshick, and A. Farhadi. "Unsupervised deep embedding for clustering analysis." In ICML 2016. ▪ Bo, D., Wang, X., Shi, C., Zhu, M., Lu, E., & Cui, P. (2020, April). Structural deep clustering network. In WWW 2020.. ▪ Park, Namyong, et al. "Cgc: Contrastive graph clustering forcommunity detection and tracking." In WWW 2022. 参考文献