<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_44015059的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_44015059</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_44015059]]></copyright><item><title><![CDATA[论文笔记：AAAI 2021 Beyond Low-frequency Information in Graph Convolutional Networks]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/116093049</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/116093049</guid><author>qq_44015059</author><pubDate>Sat, 24 Apr 2021 21:33:27 +0800</pubDate><description><![CDATA[前言
现有的大部分 GNN 方法集中于对图数据中的低频信息进行处理，这也产生了一个问题：真实世界中我们需要的仅仅是图中的低频信息吗？
作者在本文中进行了实验说明了在不同的条件下仅使用低频信息是有局限性的。基于此，作者提出了一种基于自我门控机制的 Frequency Adaptation Graph Convolutional Networks (FAGCN) 。核心在于实现自适应的频率信息图卷积。同时作者还分析了在学习节点特征表示过程中低频信息和高频信息扮演什么样的角色。
论文链接：https://arxi]]></description><category></category></item><item><title><![CDATA[详解GCN的性质]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/115921433</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/115921433</guid><author>qq_44015059</author><pubDate>Wed, 21 Apr 2021 01:31:35 +0800</pubDate><description><![CDATA[前言
本文参考 – 深入浅出图神经网络 GNN 原理解析一书
GCN 的性质
GCN 与 CNN 的联系
1. 图像是一种特殊的图数据
在图像中如果将像素视作节点，将像素之间空间坐标的连线作为彼此之间的边，如此图像数据就变成了一种结构非常规则的图数据，CNN 中的卷积计算则是用来出来这类固定的 2D 栅格结构的图数据。相较之下，一般意义下的图数据，往往单个节点附近的邻域结构是千差万别的，数据之间的关系也较为复杂多样，GCN中的卷积计算则是用来处理更普遍的非结构化的图数据。
2.从网络连接方式来看，两者都是局]]></description><category></category></item><item><title><![CDATA[详解图信号处理与图卷积神经网络]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/115896923</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/115896923</guid><author>qq_44015059</author><pubDate>Tue, 20 Apr 2021 22:54:31 +0800</pubDate><description><![CDATA[图信号处理
图信号处理（Graph Signal Processing ，GSP）是离散信号处理（Discrete Signal Processing，DSP）理论在图信号领域的应用。其通过傅里叶变换、滤波等信号处理基本概念的迁移，来研究对图信号的压缩、变换、重构等信号处理的基础任务。
图信号与图的拉普拉斯矩阵
图信号
给定图 G(V,E)G(V,E)G(V,E)，其中 VVV 表示图中的节点集合，图信号是一种描述从节点域到实数域的映射，表示成向量的形式为：x=[x1,x2,…,xN]T\mathbf{x}]]></description><category></category></item><item><title><![CDATA[PyTorch 矩阵乘法总结和运算符重载]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/115308435</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/115308435</guid><author>qq_44015059</author><pubDate>Mon, 29 Mar 2021 19:25:47 +0800</pubDate><description><![CDATA[1. 二维矩阵乘法 torch.mm()
也就是最基本的矩阵乘法，需要满足对应维度的要求，否则报错
torch.mm(mat1, mat2, out=None)
mat1∈Rm×n\in \mathbb{R}^{m \times n}∈Rm×n，mat2 ∈Rn×d\in \mathbb{R}^{n \times d}∈Rn×d，输出 out ∈Rm×d\in \mathbb{R}^{m \times d}∈Rm×d。

2. 三维带batch的矩阵乘法 torch.bmm()
torch.bmm(bmat]]></description><category></category></item><item><title><![CDATA[C++基础 -- 优先队列 priority_queue]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/115231073</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/115231073</guid><author>qq_44015059</author><pubDate>Fri, 26 Mar 2021 10:47:44 +0800</pubDate><description><![CDATA[1. 定义：priority_queue&lt;Type, Container, Functional&gt;

Type 是数据类型。
Container 是容器类型（Container必须是用数组实现的容器，比如vector,deque等等，但不能用 list。STL里面默认用的是vector）。
Functional 是比较的方式，当需要用自定义的数据类型时才需要传入这三个参数，使用基本数据类型时，只需要传入数据类型，默认是大顶堆。

2. 初始化
//升序队列
priority_queue &lt;]]></description><category></category></item><item><title><![CDATA[C++基础 -- 队列容器 queue]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/115125453</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/115125453</guid><author>qq_44015059</author><pubDate>Tue, 23 Mar 2021 15:21:46 +0800</pubDate><description><![CDATA[# include&lt;iostream&gt;
# include&lt;queue&gt;
using namespace std;
int main() {
	queue&lt;int&gt; queue_example;
	// 1. 入队 .push()
	queue_example.push(2);
	queue_example.push(9);
	queue_example.push(1);

	// 2. 获取队列中的元素个数 .size()
	cout &lt;&lt; "queue n]]></description><category></category></item><item><title><![CDATA[Numpy 和 PyTorch 的广播机制]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/115071794</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/115071794</guid><author>qq_44015059</author><pubDate>Mon, 22 Mar 2021 14:30:38 +0800</pubDate><description><![CDATA[Numpy 广播规则：两个数组的形状即 shape，从后往前查看，要么严格相等，要么其中一个数组的在当前查看的维度上的长度为1，或者维度缺失，这样就能匹配，(并在相应维度上做拷贝扩充，但只是概念上假想的拷贝，而不是真正意义上内存上的拷贝)，满足广播条件，否则不满足广播条件，程序报错。
广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式， 对数组的算术运算通常在相应的元素上进行。
import numpy as np
a = np.array([[1,2,3,4],[5]]></description><category></category></item><item><title><![CDATA[PyTorch写代码的一些技巧和常用操作（持续更新）]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/115071393</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/115071393</guid><author>qq_44015059</author><pubDate>Mon, 22 Mar 2021 11:58:57 +0800</pubDate><description><![CDATA[1. Data Masked（data_sample）
import random
import torch
data = torch.FloatTensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("data:")
print(data)

num_mask = 1
sample = random.sample(range(len(data)), 1)
print(sample)
index = torch.ones(data.shape, dtype=torch]]></description><category></category></item><item><title><![CDATA[论文笔记：KDD 2020 Adaptive Graph Encoder for Attributed Graph Embedding]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/114977767</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/114977767</guid><author>qq_44015059</author><pubDate>Thu, 18 Mar 2021 16:57:56 +0800</pubDate><description><![CDATA[前言
属性图嵌入，具体来说就是通过图数据结构中的拓扑关系和节点特征信息完成节点表示学习的过程。其中属性图的具体指的就是节点的特征信息。作者首先分析了现有的基于 GCN 的属性图嵌入方法的三个缺点，分别是：

图卷积滤波器与权矩阵的纠缠不仅会影响性能，而且会影响鲁棒性
这些方法中的图卷积滤波器是广义拉普拉斯平滑滤波器的特殊情况，但它们并不保留最优低通特性。
现有算法的训练目标通常是恢复邻接矩阵或特征矩阵（通过自动编码器框架），这与实际应用并不总是一致的。

因此，作者提出了一种自适应的图编码方法 Adapti]]></description><category></category></item><item><title><![CDATA[论文笔记：KDD 2020 Handling Information Loss of Graph Neural Networks for Session-based Recommendation]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/114761673</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/114761673</guid><author>qq_44015059</author><pubDate>Mon, 15 Mar 2021 17:41:04 +0800</pubDate><description><![CDATA[前言
作者在基于图神经网络的序列推荐方法中发现了两种信息损失问题，分别是 lossy session encoding 问题 和 ineffective longrange dependency capturing 问题。对于第一个 lossy session encoding 问题，是由于在将会话建模成图和在信息传递过程中进行具有排列不变性的聚合时存在忽略了物品的转换信息。对于第二个 ineffective longrange dependency capturing  问题，作者认为有限的 GNN 层数]]></description><category></category></item><item><title><![CDATA[C++基础 -- unordered_set]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/114819069</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/114819069</guid><author>qq_44015059</author><pubDate>Mon, 15 Mar 2021 09:58:27 +0800</pubDate><description><![CDATA[1. 定义
unordered_set&lt;&gt; 容器类型的模板定义在 unordered_set 头文件中。unordered_set&lt;&gt; 容器提供了和 unordered_map&lt;&gt; 相似的能力，但 unordered_set&lt;&gt; 可以用保存的元素作为它们自己的键。其中保存类型的对象在容器中的位置由它们的哈希值决定，因而需要定义一个 Hash&lt;&gt; 函数。
这种容器不能存放重复的元素。元素类型必须可以比较是否相等，因为这可以确定元素什么时候相等。就像 ]]></description><category></category></item><item><title><![CDATA[PyTorch 写代码时的一些坑(持续更新)]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/114747640</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/114747640</guid><author>qq_44015059</author><pubDate>Sat, 13 Mar 2021 15:24:30 +0800</pubDate><description><![CDATA[1. nn.Module.cuda() 和 Tensor.cuda()
无论是对于模型还是数据，cuda() 都能实现从CPU到GPU的内存迁移，但是他们的作用效果有所不同。
Model:
model = model.cuda()
model.cuda()

上面两句能够达到一样的效果，即对model自身进行的内存迁移
Tensor:
model = Model()
tensor = torch.zeros([2, 3, 10, 10])
model.cuda()
tensor.cuda()
tensor_]]></description><category></category></item><item><title><![CDATA[C++刷题过程中的一些 tricks（持续更新）]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/114630630</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/114630630</guid><author>qq_44015059</author><pubDate>Wed, 10 Mar 2021 11:19:51 +0800</pubDate><description><![CDATA[1. 遍历 map，unordered_map
// 遍历之后返回的自动类型是一个pair，注意此处map的话返回有顺序的，而unordered_map 没有顺序
map&lt;int, char&gt; Map; 
for (auto &amp; element : Map){
    printf("%d, %c\n", element.first, element.second);
}

2. varibale 数据类型的快速转换
char -&gt; int
string a = '1'; 
int]]></description><category></category></item><item><title><![CDATA[论文笔记：IJCAI 2020 Bilinear Graph Neural Network with Neighbor Interactions]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/114581376</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/114581376</guid><author>qq_44015059</author><pubDate>Tue, 09 Mar 2021 16:24:00 +0800</pubDate><description><![CDATA[前言
经典的 GCN 方法选择在当前节点的邻域节点中进行频域的卷积操作，将卷积得到后的特征表示通过 weighted sum 的形式汇聚到当前节点。作者认为这种计算方式需要基于以下条件才能有效：领域节点之间没有联系。这显然不符合真实情况，同时这种粗暴的信息聚合方式忽略了邻域节点集中可能的特征交互。作者举了一个简单的例子来说明：

可以看出两种不同的信息聚合方式所产生的结果相差巨大。
因此，本文中着重讨论了在 GNN 中建模邻域节点之间交互关系的重要性。并且提出了一种新的卷积操作加强邻域节点之间的特征交互。该]]></description><category></category></item><item><title><![CDATA[论文笔记：KDD 2020 AM-GCN: Adaptive Multi-channel Graph Convolutional]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/114548099</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/114548099</guid><author>qq_44015059</author><pubDate>Mon, 08 Mar 2021 21:51:11 +0800</pubDate><description><![CDATA[前言
本文针对于图神经网络中的节点特征信息和拓扑结构信息提出了一种自适应多通道图卷积框架，相当于对传统图卷积神经网络的优化和补充
论文链接：https://arxiv.org/pdf/2007.02265v2.pdf
github：https://github.com/zhumeiqiBUPT/AM-GCN
1. Fusion Capability Of GCNs : An Experimental Investigation
作者使用两种 case 测试了现有的 GCN 方法是否可以自适应的从图中学习到节]]></description><category></category></item><item><title><![CDATA[论文笔记：ICLR 2019 How Powerful Are Graph Neural Networks]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/114452511</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/114452511</guid><author>qq_44015059</author><pubDate>Mon, 08 Mar 2021 15:47:00 +0800</pubDate><description><![CDATA[前言
虽然 GNN 提供了在深度学习层面解决非欧式空间图结构数据的一系列方法，但人们对其表示学习方法的特点和局限性认识有限。因此作者提出了一个理论框架来分析GNNs 捕获不同图结构的表达能力。作者主要分析了主要的 GNN 方法的辨别力，尤其是 GCN 和 GraphSAGE 并证明它们不能对不同的简单图结构进行区分。并且作者提出了一个新的框架来完成图表示学习并在图级别的分类任务上进行了测试。
论文链接：https://arxiv.org/abs/1810.00826
github：https://githu]]></description><category></category></item><item><title><![CDATA[C++基础 --- 二分查找]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/114385052</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/114385052</guid><author>qq_44015059</author><pubDate>Fri, 05 Mar 2021 10:30:04 +0800</pubDate><description><![CDATA[# include&lt;iostream&gt;
# include&lt;vector&gt;
using namespace std;
int init_num = -100;
class Solution {
public:
    // 查找已递增排序数组A中 大于等于（或者大于） 给定target的 第一个 元素的下标
    // 当eq_enable为true时  对应 [大于等于] 的情况
    // 当eq_enable为false时 对应 [大于] 的情况
    int Bsear]]></description><category></category></item><item><title><![CDATA[论文笔记：AAAI 2021 SDGNN: Learning Node Representation for Signed Directed Networks]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/114318519</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/114318519</guid><author>qq_44015059</author><pubDate>Wed, 03 Mar 2021 18:05:01 +0800</pubDate><description><![CDATA[前言
论文链接：https://arxiv.org/pdf/2101.02390.pdf
github：https://github.com/huangjunjie95/SiGAT

]]></description><category></category></item><item><title><![CDATA[C++基础 --- 二叉树的基本操作（创建二叉树（增加二叉树结点）、输出、计算叶子节点个数）]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/114302994</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/114302994</guid><author>qq_44015059</author><pubDate>Wed, 03 Mar 2021 10:58:20 +0800</pubDate><description><![CDATA[# include&lt;iostream&gt;
using namespace std;
int n = 0;
// Definition for a binary tree node.
struct TreeNode {
	int val;
	TreeNode *left;
	TreeNode *right;
	TreeNode() : val(0), left(nullptr), right(nullptr) {}
	TreeNode(int x) : val(x), left(nullptr), ]]></description><category></category></item><item><title><![CDATA[论文笔记：Hypergraph Convolution and Hypergraph Attention]]></title><link>https://blog.youkuaiyun.com/qq_44015059/article/details/114293417</link><guid>https://blog.youkuaiyun.com/qq_44015059/article/details/114293417</guid><author>qq_44015059</author><pubDate>Tue, 02 Mar 2021 21:11:20 +0800</pubDate><description><![CDATA[前言
论文链接：https://arxiv.org/abs/1901.08150
1. Hypergraph Convolution and Hypergraph Attention
1.1 Hypergraph Revisited
一个普通图定义为 G=(V,E)\mathcal{G}=(V,E)G=(V,E) ,其中节点集定义为 V={v1,v2,…,vN}V=\{v_1,v_2,\dots,v_N\}V={v1​,v2​,…,vN​}，边集定义为 E⊆V×VE \subseteq V \times V]]></description><category></category></item></channel></rss>