超圖 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

1 Hypergraph Neural Networks (HGNN)

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

普通圖和超圖的區別:

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

文章中構造超圖的方法為 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

框架圖:

image-20210811205034650

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

實驗結果(分類):

image-20210811210254233

2 Dynamic Hypergraph Neural Networks (DHGNN)

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

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

image-20210811220556818
  • DHG算法:
image-20210811220713149
  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算法:
image-20210811222853239

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

image-20210811222733672

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

image-20210811223120284

實驗結果

image-20210811224130880

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 (DHGNN)

之前寫好的沒保存,就不重新寫了。整體感覺不太靠譜。基本思路是將普通圖從結構和屬性兩種角度分別構造超圖,共同學習,分別得到結構超圖的 embedding \(z^s\) 和屬性超圖的 embedding \(z^a\) ,然后再引入注意力機制融合兩個 embedding, 得到最終的 embedding \(z\),用於下游任務。對比其他的圖 embedding 算法,該方法是sota的。

實驗效果

image-20210815202216012


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM