信息瓶颈(Information Bottleneck, IB)一般说的是对于信息的一种压缩方法,目标是有损压缩数据,保真关于其关于目标的信息。之前有用来做神经网络的解释性分析,虽然似乎被怼了,但是可以用来做其他事情啊,比如这篇文章就是说的用信息瓶颈来增强模型的鲁棒性。这篇文章讲的是一种在图上做信息瓶颈压缩结构与节点信息 ,旨在希望能滤除不重要的邻居节点,增强模型鲁棒性 。
论文地址:https://arxiv.org/pdf/2010.12811.pdf
Introduction 图神经网络如今已经是广泛应用于图结构数据中了,但是同时,图数据本身可能带有噪音 ,如邻域节点特征可以包含可能对当前节点预测产生负面影响的无用信息。因此,图网络需要一个好的图结构数据,才能最大程度发挥其价值。作者认为,信息瓶颈是一种可以很自然地挑选最少量特征信息预测下游任务 的方法,甚至还能去除如上所说的噪音。因此,如果模型本身加入了IB,其最终也应当可以过滤无用信息,使得模型避免过拟合,并且更鲁棒 ,示意图如下:
模型需要得到的是对于任务能有最好鲁棒性的特征表征,对应图中的minimal sufficient info。输入空间
\mathcal{D} 对应图中
X 和
A 两个模块。如果
Z 包含过多的无关信息,即有可能过拟合或者更容易被攻击。
然而,问题在于以前的IB都是认定数据集是独立同分布 的,但是在图结构中,尤其是在大图的训练中,连接过于丰富,这种假设不一定会成立,这样会使得模型构造变得困难。另外,图数据都是有结构的,如果要使用IB,那么需要在保证其结构信息的同时有效压缩节点特征信息 。
针对以上两个问题,作者提出了其应对方案。首先对于克服独立同分布的数据,作者采用的方式是利用图的局部依赖定义一个基于马尔科夫链 的对空间
\Omega 进行搜素的方法,同时提取图的特征信息和结构信息 。这样即可解决上述两个问题。作者将这个方法定义成GIB,即Graph Information Bottleneck。
同时,作者还推导出了GIB的节点信息与图结构的变分上界和对于最大化目标信息表征的变分下界。在实验中,作者将GIB的原理应用于GAT中,利用GAT的注意力机制对图结构进行采样 ,以缓解离散图结构的优化和建模困难的问题。同时作者也提出了两种变种,即GIB-Cat和GIB-Bern来提高模型的鲁棒性,并且也取得了SOTA的效果。
Method 如图所示,作者给出了模型的大体结构:
a)中表示了怎么用马尔科夫链去定义一个搜索空间,即每一步都使用一个局部依赖假设从中提取结构信息和节点特征 。经过这样的马尔可夫链的定义以后就可以去定义k-hops了,比如图中就是2-hops。b)中展示了当前节点怎么经过k层建立当前节点的信息。
符号说明 文章定义了一个无向特征图
G=(V,E,X) ,节点为
V=[n]=\{1,2, \ldots n\} ,边为
E \subseteq V \times V ,特征为
X \in \mathbb{R}^{n \times f} ,因此,输入信息可以写成
\mathcal{D}=(A, X) 。作者主要针对节点分类任务,所以标签定义为
Y \in[K]^{n} 。由于信息瓶颈需要定义一个中间特征,这时,从
\mathcal{D} 中提取的节点信息可以写作
Z_{X} \in \mathbb{R}^{n \times f^{\prime}} 。
GIB原理 作者依靠的假设是图结构数据的局部依赖:给定与节点
v 的特定跳数内的邻居相关的数据,图的其余部分中的数据将独立于
v 。这样即可满足IB的理论。在示意图中也可以看出作者认为当前信息仅与上一跳有关。所以就可以比较放心的直接上信息瓶颈的公式了,即:
\min _{\mathbb{P}\left(Z_{X}^{(L)} \mid \mathcal{D}\right) \in \Omega} \operatorname{GIB}_{\beta}\left(\mathcal{D}, Y ; Z_{X}^{(L)}\right) \triangleq\left[-I\left(Y ; Z_{X}^{(L)}\right)+\beta I\left(\mathcal{D} ; Z_{X}^{(L)}\right)\right]。
根据示意图的分析,将
\mathcal{D} 替换掉以后,最终需要被优化的部分转化成了两个分布:
\mathbb{P}\left(Z_{X}^{(l)} \mid Z_{X}^{(l-1)}, Z_{A}^{(l)}\right) 和
\mathbb{P}\left(Z_{A}^{(l)} \mid Z_{X}^{(l-1)}, A\right) 。
变分边界 根据上文的公式,两种互信息
I\left(Y ; Z_{X}^{(L)}\right) 和
I\left(\mathcal{D} ; Z_{X}^{(L)}\right) 仍旧没有一个具体的定义,但是却能给他们一个范围。对于
I\left(Y ; Z_{X}^{(L)}\right) ,下界为:
\left.I\left(Y ; Z_{X}^{(L)}\right) \geq 1+\mathbb{E}\left[\log \frac{\prod_{v \in V} \mathbb{Q}_{1}\left(Y_{v} \mid Z_{X, v}^{(L)}\right)}{\mathbb{Q}_{2}(Y)}\right]+\mathbb{E}_{\mathbb{P}(Y) \mathbb{P}\left(Z_{X}^{(L)}\right.}\right)\left[\frac{\prod_{v \in V} \mathbb{Q}_{1}\left(Y_{v} \mid Z_{X, v}^{(L)}\right)}{\mathbb{Q}_{2}(Y)}\right]。
对于
I\left(\mathcal{D} ; Z_{X}^{(L)}\right) ,上界为:
I\left(\mathcal{D} ; Z_{X}^{(L)}\right) \leq I\left(\mathcal{D} ;\left\{Z_{X}^{(l)}\right\}_{l \in S_{X}} \cup\left\{Z_{A}^{(l)}\right\}_{l \in S_{A}}\right) \leq \sum_{l \in S_{A}} \mathrm{AIB}^{(l)}+\sum_{l \in S_{X}} \mathrm{XIB}^{(l)},
\operatorname{AIB}^{(l)}=\mathbb{E}\left[\log \frac{\mathbb{P}\left(Z_{A}^{(l)} \mid A, Z_{X}^{(l-1)}\right)}{\mathbb{Q}\left(Z_{A}^{(l)}\right)}\right], \mathrm{XIB}^{(l)}=\mathbb{E}\left[\log \frac{\mathbb{P}\left(Z_{X}^{(l)} \mid Z_{X}^{(l-1)}, Z_{A}^{(l)}\right)}{\mathbb{Q}\left(Z_{X}^{(l)}\right)}\right]。
这里
S_{X}, S_{A} \subset[L] 且根据马尔可夫依赖
\mathcal{D} \perp Z_{X}^{(L)} \mid\left\{Z_{X}^{(l)}\right\}_{l \in S_{X}} \cup\left\{Z_{A}^{(l)}\right\}_{l \in S_{A}} ,意思就是说若
S_X 取到
l ,
S_A 就应当取到
[l+1,L] 。证明是在附录,这里也不展开了。
GIB 根据对邻居节点采样方法的不同,作者分别讨论了categorical与Bernoulli的采样方法 对结果的影响,并且分别命名为GIB-Cat和GIB-Bern。整体算法框架为:
两种采样方法:
与传统GNN不同,GIB中的邻接矩阵
A 不会单纯进行消息传递,而是告知当前信息是否有一个潜在特征
Z_A 。由于这样的性质,就满足了作者提出的需要解决部分邻居节点会冗余的问题。
根据原理部分阐述的信息瓶颈需要解决两个互信息,因此需要构建
AIB^{(l)} 与
XIB^{(l)} 的估计。
AIB^{(l)} 的估计为:
\widehat{\mathrm{AIB}}^{(l)}=\mathbb{E}_{\mathbb{P}\left(Z_{A}^{(l)} \mid A, Z_{X}^{(l-1)}\right)}\left[\log \frac{\mathbb{P}\left(Z_{A}^{(l)} \mid A, Z_{X}^{(l-1)}\right)}{\mathbb{Q}\left(Z_{A}^{(l)}\right)}\right],
在两种采样方法下,这个部分是可以被KL散度进行替换的,因此分别为:
\widehat{\mathrm{AIB}_{\mathrm{C}}}^{(l)}=\sum_{v \in V, t \in[\mathcal{T}]} \mathrm{KL}\left(\operatorname{Cat}\left(\phi_{v t}^{(l)}\right) \| \operatorname{Cat}\left(\frac{1}{\left|V_{v t}\right|}\right)\right),
\widehat{\mathrm{AIB}_{\mathrm{B}}}^{(l)}=\sum_{v \in V, t \in[\mathcal{T}]} \mathrm{KL}\left(\operatorname{Bernoulli}\left(\phi_{v t}^{(l)}\right) \| \operatorname{Bernoulli}(\alpha)\right)。
对于
XIB^{(l)} 则采用混合高斯的方式进行参数学习,在对
Z_X^{(l)} 采样的情况下,可得到:
\widehat{\mathrm{XIB}}^{(l)}=\log \frac{\mathbb{P}\left(Z_{X}^{(l)} \mid Z_{X}^{(l-1)}, Z_{A}^{(l)}\right)}{\mathbb{Q}\left(Z_{X}^{(l)}\right)}=\sum_{v \in V}\left[\log \Phi\left(Z_{X, v}^{(l)} ; \mu_{v}, \sigma_{v}^{2}\right)-\log \left(\sum_{i=1}^{m} w_{i} \Phi\left(Z_{X, v}^{(l)} ; \mu_{0, i}, \sigma_{0, i}^{2}\right)\right)\right]。
最终,原理部分提及的两个互信息就可以当作loss来计算了,分别为:
I\left(\mathcal{D} ; Z_{X}^{(L)}\right) \rightarrow \sum_{l \in S_{A}} \widehat{\mathrm{AIB}}^{(l)}+\sum_{l \in S_{X}} \widehat{\mathrm{XIB}}^{(l)},
I\left(Y ; Z_{X}^{(L)}\right) \rightarrow-\sum_{v \in V} \text { Cross-Entropy }\left(Z_{X, v}^{(L)} W_{\text {out }} ; Y_{v}\right)。
Experiments 首先需要验证作者提出的这个模型是有较强鲁棒性的 。因此作者采用Nettack的一种图模型的攻击手段来对模型进行干扰,最后得到的节点分类准确率如表所示:
Clean,Evasive 和 Poisoning 是3种不同的攻击方法。可以发现大多结果都还是不错的。在Citeseer数据上GIB的方法对Poisioning攻击的抵抗显得会较弱,作者给的原因是可能这个数据集节点本身就很少,在这种情况下,最有效的攻击是将目标节点连接到具有不同功能的不同类别的节点,这样会刚好满足GCNJaccard的初衷,所以GCNJaccard会表现更好一些。同时作者也做了消融实验:
另外,作者也考虑了仅针对节点进行攻击来看模型对节点特征是否也不会过于敏感。作者采取的方式是在特征里加入高斯噪音,用F1-micro的方式对比不同模型:
可以看出GIB的方法对于节点特征仍旧是具有一定鲁棒性的。