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. コミュニティ検出 動向紹介
    2022.09
    Kazuki Fujikawa

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  4. 4
    ▪ グラフ中で密に関係するノード部分集合を発見する問題
    ▪ ≒ ノードクラスタリング
    ▪ 凝集性が高い(コミュニティ内のリンクは多い)
    ▪ 分離性が高い(コミュニティ間のリンクは少ない)
    ▪ 近年は深層学習を使ったコミュニティ検出手法の研究が活発に
    ▪ ノードペアの関係の強さを、エッジだけでなくノード特徴量も使いたい
    ▪ ノードペアの関係の強さを、データから学習したい
    コミュニティ検出とは
    A Comprehensive Survey on Community Detection with Deep Learning [Su+, 2022]

    View full-size slide

  5. 複雑な関係データをクラスタ毎に
    色分けして可視化することで、
    全体像を把握しやすくする
    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テストをする

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  8. 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

    View full-size slide

  9. 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’ と比べて
    どの程度エッジがコミュニティ内に密集しているか

    View full-size slide

  10. 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'の隣接行列を比較すると、
    密集度合いを数値化することが可能

    View full-size slide

  11. 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

    View full-size slide

  12. 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

    View full-size slide

  13. 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

    View full-size slide

  14. 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

    View full-size slide

  15. 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

    View full-size slide

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

    View full-size slide

  17. 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

    View full-size slide

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

    σ
    z
    再構成誤差
    各ノードをGNNで z に埋め込み

    View full-size slide

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

    σ
    z
    再構成誤差
    z と z の内積 + sigmoidを取ること
    でリンク予測の結果 A’ を得る
    T

    View full-size slide

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

    σ
    z
    再構成誤差
    元の隣接行列との再構成誤差を
    とって最適化
    T

    View full-size slide

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

    σ
    z
    再構成誤差
    VGAEの場合はこの部分を
    正規分布からのサンプリングに
    置き換え

    View full-size slide

  22. 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
    敵対的損失

    View full-size slide

  23. 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

    View full-size slide

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

    View full-size slide

  25. μ
    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”
    グラフは関係なく、クラスタリングを目的とした
    深層学習手法に関する論文

    View full-size slide

  26. μ
    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の最適化手法を導入

    View full-size slide

  27. μ
    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分布):
    目標分布 :
    クラスタ中心
    (学習可能パラメータ)

    View full-size slide

  28. 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
    で入力を再構成するように事前学習

    View full-size slide

  29. μ
    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

    View full-size slide

  30. μ
    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

    View full-size slide

  31. ▪ 目標分布との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

    View full-size slide

  32. ▪ 目標分布との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

    View full-size slide

  33. 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
    クラスタ中心: μ

    View full-size slide

  34. ▪ 目標分布との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

    View full-size slide

  35. μ
    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とクラスタ中心を更新する

    View full-size slide

  36. μ
    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が進むにつれて、
    データがクラスタに分割されていく

    View full-size slide

  37. μ
    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]

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  43. ▪ グラフの時間変化への対応も以下のように提案
    対照学習によるアプローチ: 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]

    View full-size slide

  44. ▪ グラフの時間変化への対応も以下のように提案
    対照学習によるアプローチ: CGC
    時間変化するグラフの埋め込み
    GNN
    ψ: 0-1の時間減衰ハイパーパラメータ
         : v の持つ結合時刻最大値と
          各結合時刻との差分
    44
    CGC [Fabbri+, WWW2022]

    View full-size slide

  45. ▪ グラフの時間変化への対応も以下のように提案
    対照学習によるアプローチ: 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]

    View full-size slide

  46. ▪ グラフの時間変化への対応も以下のように提案
    対照学習によるアプローチ: 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]

    View full-size slide

  47. 対照学習によるアプローチ: CGC(静的グラフでの実験)
    ▪ 以下の方法でクラスタリング精度を評価する
    ▪ 各モデルで埋め込み算出・クラスタリング
    ▪ クラスタ⇔クラス番号を Munkres アルゴリズムでマッチング
    ▪ Accuracy, F1等のクラス分類指標で評価
    ▪ 結果: CGCで他手法を上回る結果が得られることを確認
    ▪ クラスタリング損失・GNN導入で同程度の改善
    ▪ 両方導入することで、さらに改善
    47
    再構成損失
    クラスタリング損失
    GNN
    対照学習

    View full-size slide

  48. ▪ ベースライン
    ▪ 静的グラフ埋め込み手法: 全スナップショット統合・最新のみで評価
    ▪ 結果: CGCで他手法を上回る結果が得られることを確認
    ▪ 既存の時系列グラフに対するベースラインは、クラスタリングの
    目的関数を持たないため、コミュニティ検出には有効でない可能性
    ▪ (右図)提案法は、時間変化と共にメトリクスが改善している
    対照学習によるアプローチ: CGC(動的グラフでの実験)
    48

    View full-size slide

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

    View full-size slide