motivation
图神经网络已经被证明可以很好的解决长距离的语义依赖。但是
- 之前的方法大多使用固定的图,如依赖于外部解析器生成的图(句法依存图等)
- 图是固定的
- 无法使用梯度优化这个图
- 如果图建错了,误差传播
- 很多图都只关注了语法信息,而忽略了语义信息
the information content extracted for aggregation is simply determined by the (syntactic) edge direction or type
因此,本工作提出了以下贡献:
- adaptive graph generation,采样生成可微可导的图
- gated-multi-channel
- multi-channel selection,在两个相邻节点之间选择信息通道
- information gating,限制通过的信息
Method
输入句子长度为\(n\),表示为\(S = [w_1, w_2, \dots, w_n]\),用\(\mathbf{w}_i, \mathbf{p}_i\)表示词嵌入向量和POS-tagging的嵌入向量。\(\mathbf{x}_i = [\mathbf{w}_i ; \mathbf{p}_i]\)。
Adaptive Graph Generation Module
- 学习 probabilistic head-selection (PHS) \(P\),其中每一行\(p_i\)对应一个单词\(w_i\),表示选择它的头节点的概率分布
- 使用 STGumbel-Softmax 技巧从 PHS 矩阵中抽样一个图,其中 arg max 用于向前传递,梯度近似于向后传递中的正常Gumbel Softmax。
Deep biaffine attention for PHS matrix
首先讨论如何构造图的表示。
将输入序列\([\mathbf{x}_1, \mathbf{x}_2, \dots, \mathbf{x}_n]\)通过双向LSTM,得到上下文表示\([r_1, r_2,\dots,r_n]\),然后两个多层感知机计算每个节点作为从属节点和支配节点的概率:
\[h_i^{head} = \mathbf{MLP}_{arc}^{head}(r_i)\\ h_i^{dep} = \mathbf{MLP}_{arc}^{dep}(r_i) \]计算两个节点之间一条边存在的概率
\[s_i = (H^{head})^T U_{arc} h_i^{dep} + (H^{head})^T v_{arc} \]计算每条边存在的概率,构建PHS。
\[p_{i,j} = \frac{\exp (s_{i,j} ) }{ \sum^n_{k=1} \mathbb{I}_{[k \ne i]} \exp (s_{i,k})} \]ST-Gumbel-Softmax trick for sparse-graph sampling
目前我们已经得到一张全连接的图,每条边的概率已被计算出来。但是这样作者并不满足,列举以下将全连接图转为稀疏图的原因:
- 稀疏图的运算速度更快
-
downstream event detection module is usually nonlinear, which makes the two methods have different results.(没看懂)
- 稀疏图可解释性更好
借助 ST-Gumbel Softmax trick,对于每个节点\(i\),根据\(P_i\)随机选取头部节点,one-hot编码表示如下:
\[a_i = \text{one-hot}(\argmax_{k \ne i} [\log p_{i,k} + g_{i,k}]) \]其中,\(g_{i,k}\)是从gumbel分布中随机得到的噪音。
另外,用带温度的softmax函数替代不可微的\(\argmax\)操作。
其中\(\tau\)表示温度,测试阶段,直接使用\(\argmax\)采样。
Gated-Multi-Channel GCN
首先说明一些GCN的基础和使用的符号。
之前的事件检测任务中使用的图,涉及到三种边:自环(self-loop),正边(along),反边(rev)。
\[\gamma_{i,j} = \gamma(w_i, w_j) = \left \{ \begin{matrix} 0 & \text{if } i = j \text{ (self-loop)}\\ 1 & \text{if } (w_i, w_j) \text{ in $\varepsilon$ (along)}\\ 2 & \text{if } (w_i, w_j) \text{ in $\varepsilon$ (rev)} \end{matrix}\right . \]卷积计算:
\[h_i^{conv} = f(\sum_{(w_i, w_j) \in \varepsilon^*} \text{IC}_{\gamma_{i,j}}(h_j))\\ \text{IC}_{c}(h_j ) = W_c h_j + b_c \]式中\(\text{IC}\)表示信息通道。可以理解为卷积核。
Gated-Multi-Channel GCN (GMC-GCN)
在GMC-GCN中,有\(C+1\)个通道,即涉及到两个点之间的边的\(C\)个通道和自环的通道。
对于自环的通道,GMC-GCN和原始GCN计算方式一样:\(\text{IC}_0 (h_i)\)
对于非自环,计算每个通道的注意力分布\(\alpha_{i,j} \in \mathbb{R}^C\):
另外,通道的选择还应该考虑到相邻节点的语义特征,
\[h_i^{conv} = f(\text{IC}_0(h_i) + \sum_{(w_i, w_j) \in \varepsilon^*, j \ne i} \sum_{c=1}^C \alpha_{i,j,c} \cdot \text{IC}_c (h_j)) \]最后还使用了一个门控机制来调节要传递和聚合的信息内容的数量,原因有以下两个。
- 首先,不同的邻居对一个给定的顶点应该有不同的影响,给它们分配相同的权重是不公平的。
- 其次,这种门控机制也有助于纠正图生成阶段可能出现的错误。
最后,修改信息聚合方式
\[h_i^{conv} = f(\text{IC}_0(h_i) + \sum_{(w_i, w_j) \in \varepsilon^*, j \ne i} g_{i,j} \sum_{c=1}^C \alpha_{i,j,c} \cdot \text{IC}_c (h_j)) \]用BIO的方式做事件检测:
\[y_i = \text{softmax} (W_o h_i^{conv} + b_o) \] 标签:Convolutional,Selection,mathbf,Graph,sum,GCN,text,IC,节点 From: https://www.cnblogs.com/TABball/p/16710479.html