paper: One-Class Graph Neural Networks for Anomaly Detection in Attributed Networks
codebase: https://github.com/WangXuhongCN/OCGNN

这篇文章来自上交和伯克利,是做图异常检测的,想法很简单,理解起来也不难。 不知道中的那个刊或者会议。

Intuition

因为一些数据集里是只有正常的点(anormaly-free),也就是说有标签的都是正常的结点(node),剩下的node需要模型去预测(正常和异常)。
作者的思路是建模一个超球(supersphere),在球内的点为正常点,球外的为异常点。并且使用GNN去提取图的feature。

算是一个融合。

理论推导

下面给出一些符号定义:图OCGNN论文阅读 - 图2OCGNN论文阅读 - 图3表示结点,OCGNN论文阅读 - 图4表示边,OCGNN论文阅读 - 图5表示图上结点的数据。OCGNN论文阅读 - 图6表示用于训练的结点,OCGNN论文阅读 - 图7是球的中心,OCGNN论文阅读 - 图8是球的半径。
image.png
作者希望这个球尽可能的紧实(compact),能够包裹住尽可能多的正常的node。
由此,有下面的公式:
OCGNN论文阅读 - 图10
OCGNN论文阅读 - 图11是一个映射,将数据空间映射到另一个希尔伯特空间。第一项就是希望这个球尽可能的小,第二项放松了要求,不要求所有的正常点都在这个球内(球的体积)。OCGNN论文阅读 - 图12则是控制球的体积和惩罚。

GCN

熟悉GNN的朋友可以跳过这一节。
对于第OCGNN论文阅读 - 图13层的图神经网络,假设输入是OCGNN论文阅读 - 图14,输出是OCGNN论文阅读 - 图15,也就是OCGNN论文阅读 - 图16%22%20aria-hidden%3D%22true%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHBI-48%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(1041%2C412)%22%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-28%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMATHI-6C%22%20x%3D%22389%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-2B%22%20x%3D%22688%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-31%22%20x%3D%221466%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-29%22%20x%3D%221966%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-3D%22%20x%3D%223085%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHI-67%22%20x%3D%224141%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(4788%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJSZ2-28%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(597%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHBI-48%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(1041%2C412)%22%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-28%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMATHI-6C%22%20x%3D%22389%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-29%22%20x%3D%22688%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-2C%22%20x%3D%222500%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHBI-41%22%20x%3D%222945%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMAIN-3B%22%20x%3D%223815%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(4260%2C0)%22%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJMATHBI-57%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3Cg%20transform%3D%22translate(1241%2C412)%22%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-28%22%20x%3D%220%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMATHI-6C%22%20x%3D%22389%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%20%3Cuse%20transform%3D%22scale(0.707)%22%20xlink%3Ahref%3D%22%23E1-MJMAIN-29%22%20x%3D%22688%22%20y%3D%220%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%20%3Cuse%20xlink%3Ahref%3D%22%23E1-MJSZ2-29%22%20x%3D%226363%22%20y%3D%22-1%22%3E%3C%2Fuse%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E#card=math&code=%5Cbm%20H%5E%7B%28l%2B1%29%7D%3Dg%5Cleft%28%5Cbm%20H%5E%7B%28l%29%7D%2C%5Cbm%20A%3B%5Cbm%20W%5E%7B%28l%29%7D%5Cright%29&id=eECe6)
GCN的相关知识,在本文中不详细论述,给出GCN的公式:
OCGNN论文阅读 - 图17
OCGNN论文阅读 - 图18是一个对角矩阵,由邻接矩阵OCGNN论文阅读 - 图19算得,OCGNN论文阅读 - 图20

优化目标

有了GCN,就可以设计loss了:
OCGNN论文阅读 - 图21
那么聪明如你,一定可以看出来,这个是式子在球内的点才有loss(具体看第一项);第二项就是为了这个球尽可能的紧实,不至于太大;第三项就是一个正则化项,防止过拟合。

OCGNN论文阅读 - 图22的作用

作者这里详细的说明了超参OCGNN论文阅读 - 图23的作用,本文在这里不做过多的解释。
简单来说OCGNN论文阅读 - 图24就是为了控制在球外的正常点的比例。

作者在实验中,将OCGNN论文阅读 - 图25设置为0.1

放出原文。
image.pngimage.png

伪代码

image.png
值得注意的是,作者直接将球的中心固定了,只更新OCGNN论文阅读 - 图29。作者认为最开始的OCGNN论文阅读 - 图30就足矣保证所有的训练样本都在OCGNN论文阅读 - 图31的周围。

漂亮的数字和图

image.pngimage.pngimage.png