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

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

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

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. 参考文献