概
Attention + 异构图.
符号说明
-
\(\mathcal{G} = (\mathcal{V, E})\), 图;
-
\(\phi: \mathcal{V} \rightarrow \mathcal{T}\), \(\phi(v)\) 返回结点 \(v\) 所属的类别, 如上图所示, 存在三种类型的结点 (即 \(|\mathcal{T}|=3\)): Actor, Movie, Director;
-
\(\psi: \mathcal{E} \rightarrow \mathcal{R}\), \(\psi(e)\) 返回边 \(e\) 所属的类别, 如上图所示, 存在两种类型的边 (即 \(|\mathcal{R}| = 2\)).
-
显然, 一个图当且仅当 \(|\mathcal{T}| + |\mathcal{R}| > 2\) 的时候, 这个图才是异构图.
-
Meta-Path: Meta-Path 指的就是由一种结点类型到另一种结点类型的路径:
\[T_1 \mathop{\longrightarrow} \limits^{R_1} T_2 \mathop{\longrightarrow} \limits^{R_2} \cdots \mathop{\longrightarrow} \limits^{R_l} T_{l+1}, \] -
我们称结点 \(v_i, v_j\) 关于 meta-path \(\Phi\) 是相邻的, 若存在一路径为该 meta-path 的实例且连接这两个结点. 记 \(\mathcal{N}_i^{\Phi}\) 为关于 \(\Phi\) 与 \(v_i\) 向量的结点的集合.
-
基于 \(\Phi\) 我们也可以推导出 meta-path based adjacency matrix \(A^{\Phi}\), 其中 \(A_{ij}^{\Phi} = 1\) 当且仅当 \(v_i, v_j\) 关于 \(\Phi\) 是相邻的.
HAN
Node-level attention
-
Node-level attention 希望对指定的关系 \(\Phi\) 得到 node-level 的特征表示, 故下面的操作对于任意的 \(\Phi\) 都是通用的.
-
首先, 由于不同的结点类型原本特征所处的空间是不一致的, 所以首先通过转换矩阵 \(\mathbf{M}_{\phi}\) (注意, \(\phi\) 代表某种结点类型):
\[\mathbf{h}_i' \leftarrow \mathbf{M}_{\phi} \mathbf{h}_i. \] -
对于每个结点 \(v_i\) 以及它的邻居结点集合 \(\mathcal{N}_i^{\Phi}\), 计算其邻居对于它的重要性:
\[\mathbf{e}_{ij}^{\Phi} = \text{att}_{node} (\mathbf{h}_i', \mathbf{h}_j'; \Phi) = \sigma(\mathbf{a}_{\Phi}^T [\mathbf{h}_i'\| \mathbf{h}_j']), \]其中 \(\|\) 表示 concatenate operation.
-
于是, attention 为:
\[\alpha_{ij}^{\Phi} = softmax(e_{ij}^{\Phi}) = \frac{\exp(e_{ij}^{\Phi})}{\sum_{k \in \mathcal{N}_i^{\Phi}} \exp(e_{ik}^{\Phi})}. \] -
最后 \(v_i\) 的特征表示为:
\[\mathbf{z}_i^{\Phi} = \sigma(\sum_{j \in \mathcal{N}_i^{\Phi}}\alpha_{ij}^{\Phi} \cdot \mathbf{h}_j'). \]
Semantic-level attention
-
实际上, 对于每个 meta-path, 每个结点都会有这样的一个 \(\mathbf{z}_i^{\Phi}\), 假设共有 \(P\) 个 meta-paths, 那么就有:
\[\mathbf{z}_{i}^{\Phi_1}, \ldots, \mathbf{z}_{i}^{\Phi_P}, \]那么我们应该怎么将这些融合在一起呢 ?
-
作者希望计算出每个 meta-path 的重要性然后加权求和.
-
每个 \(\Phi_i\) 的权重计算公式为:
\[w_{\Phi_i} = \frac{1}{|\mathcal{V}|} \sum_{i \in \mathcal{V}} \mathbf{q}^T \tanh (\mathbf{W} \mathbf{z}_i^{\Phi} + \mathbf{b}), \]注意, 该权重不是是所有结点的平均, 故不是 node-level 的.
-
接着每个 meta-path 的 attention 为:
\[\beta_{\Phi_i} = \frac{\exp(w_{\Phi_i})}{\sum_{i=1}^P \exp(w_{\Phi_i})}, \]然后加权:
\[\mathbf{z}_i = \sum_{j=1}^P \beta_{\Phi_j} \cdot \mathbf{z}_i^{\Phi_j}. \]可以发现, 所有的结点特征都是共享相同的 meta-path 权重的, 个人感觉还是非常合理的. 但愿没有哪个倒霉蛋把这个扩展到 node-level 上去.
代码
- Heterogeneous Attention Network Graphheterogeneous attention network graph heterogeneous correlation attention ncrypted heterogeneous infomax graph deep attentive attention networks graph graph generation efficient attention segmentation注意力attention network heterogeneous recommendation heterogeneous preference learning heterogeneous federated learning yourself representation heterogeneous attributed multiplex