ChenJY-Count / PolyGCL

PyTorch implementation of "PolyGCL: GRAPH CONTRASTIVE LEARNING via Learnable Spectral Polynomial Filters"
8 stars 1 forks source link

有一点小问题想请教作者 #3

Open lin-uice opened 1 month ago

lin-uice commented 1 month ago

作者您好!读了您实验室的ChebnetII,还有polygcl,很有意义的工作,受益匪浅. 现在我有个疑问: 就是在polygcl中, $Z{L}$和$Z{H}$都用了相同的过滤器(不是参数) $T{k}(\hat{L})X$.这和我的认知有点不一样(我的认知是$Z{L}$和$Z_{H}$的过滤器应该是不一样的(即拉普拉斯矩阵L不一样),当然参数也不是一样的 可能是我的学识不够,认识错了.或者,您认为低通和高通的过滤器中使用的拉普拉斯矩阵L可以是同一个吗 非常感谢如果您能为我答疑解惑

ChenJY-Count commented 1 month ago

感谢您对我们工作的关注!

我们这里使用的低通/高通滤波器具有相同的滤波形式 $T_k(\hat{L})X$,同时所谓低通/高通的区别则是体现在系数上(因为系数对应于滤波函数 $h(\lambda)$ ),对应的拉普拉斯矩阵 $L$ 也是一样的,这样设置一方面是因为拉普拉斯矩阵的特征值恰为 $\lambda \in [0, 2]$ ,即低通/高通滤波器 $T_k(\hat{L})X$ 对应不同的系数可以使得相应的滤波函数 $h(\lambda)$ 满足低通/高通性质,这是符合数学定义的;另一方面,本文提出的 PolyGCL 方法不涉及显式对图结构进行数据增强,因此无论是低通或是高通滤波器均为在原图上定义,所以相应的滤波器拉普拉斯矩阵也必然相同(均为原图对应的拉普拉斯,代表了图结构信息)。

希望上述回复可以在一定程度上帮到您~

ChenJY-Count commented 4 weeks ago

您好,“由于 $\lambda{i}^H>0,(i>0),\lambda{i}^L<0(i<0)$,因此其前者对应高通,后者对应低通”这里可能有些问题,因为滤波器的低通/高通并非是由 $\lambda{i}$的正负决定的,而是由滤波函数 $h(\lambda{i})$的单调性决定,即 $h(\lambda{i})$与 $h(\lambda{i+1})$之间的相对大小关系,一般认为对于非负滤波函数,单调递增对应高通滤波,递减对应低通。对于您提到的各阶切比雪夫基,PolyGCL主要是用K阶切比雪夫基进行对任意滤波器的近似(包括低通/高通或者更复杂的形状等),您也可以参考 ChebNetII论文 的Figure.4提供了清晰直观的各阶切比雪夫基函数曲线。