• G1D23-RAGA&报名蓝桥&Attackg&安装cuda&torch


    昨天太摸鱼啦~不过蛮开心的哈哈
    今天主要是把积累的ddl都清理一下!!!第一项就是我和舍友一起读的论文嘿嘿!!

    一、RAGA

    (零)总结(仅模型)

    作为数据挖掘顶会2021年的论文,感觉这篇文章比较干净简洁,读起来舒服,值得学习模仿。【emmm…是不是顶会也没那么难呀hhh】
    由于过于缺少背景知识,而且要讲解这篇文章,所以在粗览后,进行顺序阅读。

    (一)摘要&intro

    —0847大致读了摘要和intro。

    1、该文章主要想解决实体对齐的两个问题:

    (1)难以利用多条边提供的信息

    提出了Relation-aware GAN

    (2)两个KG双向进行对齐时会产生矛盾

    提出了deferred acceptance algorithm(延迟接受算法)
    查了一下这个词,搜到了一篇Stanford2007年的论文,下载下来看看,有需要就看看~
    “盖尔-沙普利算法(Gale-Shapley algorithm)简称 “GS算法”,也称为 “延迟接受算法”(deferred-acceptance algorithm),,是盖尔和沙普利为了寻找一个稳定匹配而设计出的市场机制。”
    ** 约会匹配算法**
    参考链接:
    https://blog.csdn.net/lc_miao/article/details/78114127
    https://www.cnblogs.com/jesse123/p/6008595.html
    https://zhuanlan.zhihu.com/p/356907926

    2、开源代码

    Link:
    https://github.com/zhurboo/RAGA
    去fork & clone一下好啦

    —0914休息的时候报名了蓝桥(氪金)杯,还是报python组叭~虽然很想学学c++,但估计还是不会有时间叭
    emmm要认证身份,还要等几天emm希望不要忘了

    欸嘿,一天就通过了,快报名!!!

    ----0918继续看论文啦!!!

    (二)模型

    1、GCN

    (1)Intuition

    Every node defines a computation graph based on its neighborhood!

    (2) Deep Model

    A. nodes have embeddings at each layer
    B. Layer-0 embedding of node v is its input feature, xv
    C. Layer-k embedding gets information from nodes that are k hops away

    (3)Neighborhood Aggregation

    **KEY DISTINCTIONS:
    how different approaches aggregate info across the layers

    A. basic approach
    (a) average
    (b) apply nn
    在这里插入图片描述

    (4)Training model

    将hv(最后的embedding)放入任何一个Loss function 学习Wk和Bk就好啦
    其中Wk用来聚合neibors;Bk用来transform自己

    (5)Matrix Formulation

    矩阵形式表达transformation,这样就可以coding啦!
    在这里插入图片描述
    在这里插入图片描述

    2、文中GCN model

    查了一下与上述公式不同的原因。
    “  改进三:Symmetric normalization
      上述归一化只考虑了聚合节点 𝑖 的度的情况,但没有考虑到邻居 𝑗 (其节点的情况),即未对邻居 𝑗 所传播的信息进行归一化。(此处默认每个节点通过边对外发送相同量的信息, 边越多的节点,每条边发送出去的信息量就越小, 类似均摊. ) (要理解这个问题得先知道矩阵左乘和右乘的概念,参考《矩阵的左乘和右乘》)”

      
    参考:https://www.cnblogs.com/BlairGrowing/p/15826824.html
    我的理解是,在这种方法中,即归一化了别人传来的表示向量;也为下一步将表示向量传出做准备——归一化传出的向量。

    ----1404
    xswl中午惊闻这个csdn被同班同学默默关注着…emmm希望对大家有点帮助叭~继续读论文啦

    3、α

    不太理解这里的α,再看看后面的,实在不行就去看看代码啦~
    在这里插入图片描述

    感觉像是只是一个相似度的分值,没有说具体计算相似度的方法,看一下代码。
    两个||好像是concat的意思。

    4、思路

    还是图清晰hhh
    在这里插入图片描述

    (1)先用GCN计算初始的结点向量

    结点的初始特征如何选取呢???
    在Implementation Details看到用的是Glove

    (2)用节点表示,对边进行表示

    在代码里写了些注释,但明显维度不太对,有机会debug一下看看(虽然我还不太会)。
    总之,这个东西看起确实就是一个相似度分值,具体计算方法就是用learnable 的a分别计算对头节点和尾结点的相似度分数,然后二者相加,作为整体的边的分数。有二者融合的感觉,没有传统的查询的感觉hhh【不知道我理解的对不对,懒得翻其他帖子了,之后有时间再看】

        def forward(self, x_e, edge_index, rel):
            edge_index_h, edge_index_t = edge_index
            # 头结点transform后表示
            # (#e,r_hidden) = (#e,e_hidden)*(e_hidden, r_hidden)
            x_r_h = self.w_h(x_e)
            # 尾结点transform后表示
            # (#e,r_hidden) = (#e,e_hidden)*(e_hidden, r_hidden)
            x_r_t = self.w_t(x_e)
            # 头节点表示
            # a_h1(x_r_h):头结点transform后表示后,放入a_h1做线性变换
            # (#e,1) = (#e,r_hidden)*(r_hidden, 1)
            # squeeze()------tensor变量进行维度压缩,去除维数为1的的维度。
            ##(#e,1).squeeze()---->(#e)
            # e1是LeakReLU里面的一大坨,即最终相似度分值,用来生成对于x_r_h的注意力分值,learnable a_h1和a_h2
            e1 = self.a_h1(x_r_h).squeeze()[edge_index_h]+self.a_h2(x_r_t).squeeze()[edge_index_t]
            # e2用来生成对x_r_t的注意力分值,用了另外两个learnable a
            # 其实e1和e2目前看,完全对称,只是后续操作略有不同而已
            e2 = self.a_t1(x_r_h).squeeze()[edge_index_h]+self.a_t2(x_r_t).squeeze()[edge_index_t]
           # -----------------------生成基于头节点的关系表示
            # 生成头节点,注意力分值
            alpha = softmax(F.leaky_relu(e1).float(), rel)
            # 基于头节点的关系表示
            x_r_h = spmm(torch.cat([rel.view(1, -1), edge_index_h.view(1, -1)], dim=0), alpha, rel.max()+1, x_e.size(0), x_r_h)
            # -----------------------生成基于头节点的关系表示
            alpha = softmax(F.leaky_relu(e2).float(), rel)
            x_r_t = spmm(torch.cat([rel.view(1, -1), edge_index_t.view(1, -1)], dim=0), alpha, rel.max()+1, x_e.size(0), x_r_t)
            x_r = x_r_h+x_r_t
            return x_r
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    在这里插入图片描述
    在这里插入图片描述

    (3)用边表示更新结点的表示@Relation-aware Entity Representations

    xhi:ei作为head的边的融合表示;
    xti文中没说,但应该同理
    在这里插入图片描述
    更新后的结点表示包含了结点本身信息(GCN学得的关于邻居的信息);x作为头节点、尾结点的关系的信息。
    在这里插入图片描述

    (4)enhanced entity representation

    考虑到relation-aware entity只有一跳的关系,所以又加了一层注意力机制,变成两跳【记得之前看课的时候看到,加深gnn的深度,其实是扩大它的视野,我忘了具体叫什么域来的,和cnn那个名字差不多】

    这里好像写错了??感觉像是Xj???

    在这里插入图片描述

    5、Hinge Loss

    在svm的视频里听过这个函数,但是还没看到那里hhh
    大概就是在边界外,损失为0,越靠近0,损失越大。
    在这里插入图片描述
    希望dis1小,dis2大,所以希望整体越小越好,实验中设置λ为3,也就是前者最好是小于-3
    在这里插入图片描述

    6、fine-grained similarity

    这里感觉理解的很牵强。
    通过softmax,达到如下目的:
    (1)标准化相似度
    (2)加入双向相似度,达到全局的view
    在这里插入图片描述
    在这里插入图片描述

    7、DAA算法&&&Hungarian Algorithm匈牙利算法

    DAA不太熟,但是匈牙利算法,不得不想起y神了!
    https://blog.csdn.net/lc_miao/article/details/78114127
    不过,我看人家例子里都是两个矩阵,这里咋就相似度矩阵呢?
    可能转置一下就好了???
    emm总之感觉差不多,找让两个实体彼此尽可能相似

    n、安装pytorch

    为了泡泡程序,安一个pytorch叭~正好想试试hhh
    https://blog.csdn.net/a850565178/article/details/107316006
    好像有点麻烦,那之后再试试~

    (三)实验

    —1710草草过了一眼,想去跑步啦
    不过值得一说的是seed entity pairs其实就是the ground truth of entity alignment

    二、AttacKG

    –1939跑完步歇了一会,打算看看这个代码,毕竟还有课程作业要写~可怜。

    (一)复习–问题

    先复习一下昨天的内容,啥也记不得了~
    1、instance的含义
    2、technique文件中type='example’的含义
    3、根据report更新template的module在哪里
    4、好像一直没有往template里面加入内容呀呀???

    N、Tools

    (一)Visio

    修改默认主题颜色:
    https://blog.csdn.net/Zhu4010/article/details/105375920

    (二)cuda

    emmcuda居然装的是11.8,明明记得自己下的是10.0.emm,pytorch目前只支持到11.7,先下载试试叭~ anyway,先看代码!!!抓紧时间啦!

    (三)pytorch

  • 相关阅读:
    浅谈双指针算法
    Pr 入门系列之四:编辑(基础篇)
    Spring手动构建BeanDefinition的几种方法
    前端错误监控及前端错误上报
    大数据开发——Hive实战案例
    Python基于宽度优先搜索的程序综合-SyGus求解器
    存储空间压缩6倍 ,多点DMALL零售SaaS场景降本实践
    基于Springboot+MySQL的个人健康监控管理系统
    VMwareworkstation安装Centos7教程
    Flask框架——项目可安装化
  • 原文地址:https://blog.csdn.net/weixin_45252975/article/details/128031290