Mixup for Node and Graph Classification阅读

  • Post author:
  • Post category:其他


一篇来自WWW21的论文,看完觉得颇为有趣,特地记录一下:

mixup是一种CV中常用的数据处理手段,可以从现存的有标签样本中生成新的样本,其思想也非常简单,假设有两个样本



(

x

i

,

y

i

)

,

(

x

j

,

y

j

)

(x_i,y_i),(x_j,y_j)






(



x










i


















,





y










i


















)


,




(



x










j


















,





y










j


















)





,新的样本生成方式为:





x

i

j

=

α

x

i

+

(

1

α

)

x

j

x_{ij}=\alpha x_i+(1-\alpha)x_j







x











i


j





















=








α



x










i




















+








(


1













α


)



x










j

























y

i

j

=

α

y

i

+

(

1

α

)

y

j

y_{ij}=\alpha y_i+(1-\alpha)y_j







y











i


j





















=








α



y










i




















+








(


1













α


)



y










j























其实也蛮好理解,比方说



x

i

,

x

j

x_i,x_j







x










i


















,





x










j





















代表着两张图片,对应的标签分别为1和0,



α

\alpha






α





取0.9,即0.9个



x

i

x_i







x










i





















掺了0.1个



x

j

x_j







x










j





















,那么



y

i

j

y_{ij}







y











i


j






















就是0.9,这很符合直觉。

实验证明mixup可以减小训练中的过拟合,这个似乎也可以直观理解:如果样本中标签只有0和1,那么模型再训练时会让预测的标签尽可能地向两端去逼近,但是我们使用mixup可能使得样本的标签处于[0,1]这个区间,从而使得模型预测的结果均匀地分布在这个区间内。

说到这篇论文,这篇论文就是将mixup应用到了图神经网络中的节点分类和图分类两个任务上,先说图分类,因为这个比较简单:

  1. 我们从图分类的样本中取出两个样本



    (

    G

    i

    ,

    y

    i

    )

    ,

    (

    G

    j

    ,

    y

    j

    )

    (G_i,y_i),(G_j,y_j)






    (



    G










    i


















    ,





    y










    i


















    )


    ,




    (



    G










    j


















    ,





    y










    j


















    )





    ,因为图分类是先使用一个



    r

    e

    a

    d

    o

    u

    t

    readout






    r


    e


    a


    d


    o


    u


    t





    函数先得到图的一个embedding,我们记作



    x

    x






    x





    ,那么对于这个得到的



    (

    x

    i

    ,

    y

    i

    )

    ,

    (

    x

    j

    ,

    y

    j

    )

    (x_i,y_i),(x_j,y_j)






    (



    x










    i


















    ,





    y










    i


















    )


    ,




    (



    x










    j


















    ,





    y










    j


















    )





    直接套上面的公式就行。

  2. 节点分类:给定一个图



    G

    G






    G





    ,从这个图中取出一个节点对



    (

    i

    ,

    j

    )

    (i,j)






    (


    i


    ,




    j


    )





    ,在GNN训练的过程中进行mixup,过程也很有意思,不赘述。



版权声明:本文为cobracanary原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。