1. 程式人生 > 其它 >超圖 embedding 相關論文筆記

超圖 embedding 相關論文筆記

目錄

超圖 embedding 相關論文筆記。按照時間先後排序

名稱 會議/期刊 時間
Hypergraph Neural Network 會議 2019.2
Dynamic Hypergraph Neural Networks 會議 2019
Be More with Less: Hypergraph Attention Networks for Inductive Text Classification 2020.11.1
Dual-view hypergraph neural networks for attributed graph learning 2021.1.1
Hypergraph reconstruction from network data 2021.1.15
NetVec: A Scalable Hypergraph Embedding System 2021.5.9

1 Hypergraph Neural Networks (HGNN)

這一篇論文可以說是超圖 embedding 相關論文中影響力較大的一篇。文章從純譜域角度,設計了基於超圖結構資料的 embedding 模型。由於我後期的工作重點以空域方法為主,本文只對 HGNN 做簡單的介紹,不詳細分析。

普通圖和超圖的區別:

  • 普通圖:\(X\) + \(A\)
  • 超圖:\(X\) + \(H\)

文章中構造超圖的方法為 KNN,構造得到的超圖為 K-均勻超圖。

def construct_H_with_KNN_from_distance(dis_mat, k_neig, is_probH=True, m_prob=1):
    """
    construct hypregraph incidence matrix from hypergraph node distance matrix
    :param dis_mat: node distance matrix
    :param k_neig: K nearest neighbor
    :param is_probH: prob Vertex-Edge matrix or binary
    :param m_prob: prob
    :return: N_object X N_hyperedge
    """
    n_obj = dis_mat.shape[0]
    # construct hyperedge from the central feature space of each node
    n_edge = n_obj
    H = np.zeros((n_obj, n_edge))
    for center_idx in range(n_obj):
        dis_mat[center_idx, center_idx] = 0
        dis_vec = dis_mat[center_idx]
        nearest_idx = np.array(np.argsort(dis_vec)).squeeze()
        avg_dis = np.average(dis_vec)
        if not np.any(nearest_idx[:k_neig] == center_idx):
            nearest_idx[k_neig - 1] = center_idx

        for node_idx in nearest_idx[:k_neig]:
            if is_probH:
                H[node_idx, center_idx] = np.exp(-dis_vec[0, node_idx] ** 2 / (m_prob * avg_dis) ** 2)
            else:
                H[node_idx, center_idx] = 1.0
    return H

框架圖:

簡單來說,就是每一個超邊 \(e\) 先聚合得到每一個節點 \(v\) 的特徵,然後再將超邊 \(e\) 的特徵反饋到其包含的每一個節點 \(v\) 上去。

實驗結果(分類):

2 Dynamic Hypergraph Neural Networks (DHGNN)

本文最大的創新點:採用圖進化的思想進行超圖 embedding 。本文提出了兩個演算法:動態超圖構建(dynamic hypergraph construction,DHG)和超圖卷積(HGC)。整個模型採用多個堆疊的 DHG+HGC 層,即 {DHG+HGC} - {DHG+HGC} - ... - {DHG+HGC} 。最終模型能夠得到較好的 embedding 。在經過對比後,該模型是當時的 sota 方法。

圖進化思想:每一次更新 embedding, 都重新構造一次超圖

  • DHG演算法:
  1. 首先對當前的 embedding 矩陣 \(X\) 使用 K-Means 演算法,得到簇類結果 \(C\)\(C[i]\) 表示第 \(i\) 簇,\(C.\text{center}\) 表示簇類中心的集合。

  2. 對每一個節點 \(u\) ,通過 KNN 演算法找到和該節點最近的 k 個節點(包含自身),構成集合 \(e_b\) 。將 \(e_b\)\(u\) 共同構成一個超邊。

  3. 找出簇類中心離當前節點 \(u\) 的距離前 \(S-1\) 近的簇。對於每一個簇的節點集 \(C_i\),與節點 \(u\) 共同構成一個超邊。即這一步一共會構造 \(S-1\) 個超邊。

  • HGC演算法:

引入了 節點集註意力超邊集註意力 兩個層次的注意力來進行圖 embedding,思路比較直接。

模組重要性: 可以看出動態超圖構建是非常重要的過程,移除直接導致模型效果驟降。

實驗結果

3 Be More with Less: Hypergraph Attention Networks for Inductive Text Classification(HyperGAT)

本文提出了一種基於超圖結構資料的模型,HyperGAT。最終將此模型應用到NLP中的文字表示學習上,在當時屬於sota方法。

本文提出的模型與 DHGNN 中提到的模型有一些區別,主要表現在節點注意力的計算方式和超邊注意力的計算方式上,個人任務 DHGNN 中的計算方式更常規,因此本文不再介紹。另外,本文的實驗baseline也主要基於文字分類任務,沒有太多參考價值。

4 Dual-view hypergraph neural networks for attributed graph learning

---- suffer now and live the rest of your life as a champion ----