245 lines
13 KiB
Markdown
245 lines
13 KiB
Markdown
|
# 工作计划
|
|||
|
## 总体计划
|
|||
|
* [x] 2020.12~2021.3 继续阅读相关文献,考虑改进方法
|
|||
|
* [x] 2021.3~2021.7 实现现有的异构图神经网络模型
|
|||
|
* [x] 2021.7~2021.10 改进异构图神经网络模型,完成与现有方法的对比实验
|
|||
|
* [ ] 2021.9~2021.10 构造学术网络数据集,实现基于图神经网络的推荐算法
|
|||
|
* [x] 2021.10~2021.11 整理实验结果,实现可视化系统,撰写毕业论文初稿
|
|||
|
* [ ] 2021.11~2021.12 准备毕业答辩
|
|||
|
|
|||
|
## 论文阅读
|
|||
|
### 异构图表示学习
|
|||
|
#### 综述
|
|||
|
* [x] 2020 [Heterogeneous Network Representation Learning: A Unified Framework with Survey and Benchmark](https://arxiv.org/pdf/2004.00216)
|
|||
|
* [x] 2020 [A Survey on Heterogeneous Graph Embedding: Methods, Techniques, Applications and Sources](https://arxiv.org/pdf/2011.14867)
|
|||
|
#### 图神经网络
|
|||
|
* [x] 2014 KDD [DeepWalk](https://arxiv.org/pdf/1403.6652)
|
|||
|
* [x] 2016 KDD [node2vec](https://arxiv.org/pdf/1607.00653)
|
|||
|
* [x] 2017 KDD [metapath2vec](https://ericdongyx.github.io/papers/KDD17-dong-chawla-swami-metapath2vec.pdf)
|
|||
|
* [x] 2017 ICLR [GCN](https://arxiv.org/pdf/1609.02907)
|
|||
|
* [x] 2018 ESWC [R-GCN](https://arxiv.org/pdf/1703.06103)
|
|||
|
* [x] 2018 ICLR [GAT](https://arxiv.org/pdf/1710.10903)
|
|||
|
* [x] 2019 KDD [HetGNN](https://dl.acm.org/doi/pdf/10.1145/3292500.3330961)
|
|||
|
* [x] 2019 WWW [HAN](https://arxiv.org/pdf/1903.07293)
|
|||
|
* [x] 2020 WWW [MAGNN](https://arxiv.org/pdf/2002.01680)
|
|||
|
* [x] 2020 WWW [HGT](https://arxiv.org/pdf/2003.01332)
|
|||
|
* [x] 2020 [HGConv](https://arxiv.org/pdf/2012.14722)
|
|||
|
* [x] 2020 KDD [GPT-GNN](https://arxiv.org/pdf/2006.15437)
|
|||
|
* [x] 2020 ICLR [GraphSAINT](https://openreview.net/pdf?id=BJe8pkHFwS)
|
|||
|
* [x] 2020 [SIGN](https://arxiv.org/pdf/2004.11198)
|
|||
|
* [x] 2020 [NARS](https://arxiv.org/pdf/2011.09679)
|
|||
|
* [x] 2021 ICLR [SuperGAT](https://openreview.net/pdf?id=Wi5KUNlqWty)
|
|||
|
* [x] 2021 [R-HGNN](https://arxiv.org/pdf/2105.11122)
|
|||
|
#### 自监督/预训练
|
|||
|
* [x] 2020 [Self-Supervised Graph Representation Learning via Global Context Prediction](https://arxiv.org/pdf/2003.01604)
|
|||
|
* [ ] 2020 ICML [When Does Self-Supervision Help Graph Convolutional Networks?](http://proceedings.mlr.press/v119/you20a/you20a.pdf)
|
|||
|
* [x] 2020 ICLR [Strategies for Pre-Training Graph Neural Networks](https://www.openreview.net/pdf?id=HJlWWJSFDH)
|
|||
|
* [x] 2021 WWW [Self-Supervised Learning of Contextual Embeddings for Link Prediction in Heterogeneous Networks](https://arxiv.org/pdf/2007.11192)
|
|||
|
* [x] 2021 KDD [HeCo](https://arxiv.org/pdf/2105.09111)
|
|||
|
#### 其他
|
|||
|
* [x] 2021 ICLR [C&S](https://arxiv.org/pdf/2010.13993)
|
|||
|
|
|||
|
### 基于图神经网络的推荐算法
|
|||
|
#### 综述
|
|||
|
* [x] 2020 IEEE [A Survey on Knowledge Graph-Based Recommender Systems](https://arxiv.org/pdf/2003.00911)
|
|||
|
* [x] 2020 [Graph Neural Networks in Recommender Systems: A Survey](http://arxiv.org/pdf/2011.02260)
|
|||
|
#### 基于嵌入的方法
|
|||
|
* [x] 2016 KDD [CKE](https://www.kdd.org/kdd2016/papers/files/adf0066-zhangA.pdf)
|
|||
|
* [x] 2018 [CFKG](https://arxiv.org/pdf/1803.06540)
|
|||
|
* [ ] 2018 WSDM [SHINE](https://arxiv.org/pdf/1712.00732)
|
|||
|
#### 基于路径的方法
|
|||
|
* [x] 2013 IJCAI [Hete-MF](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.380.3668&rep=rep1&type=pdf)
|
|||
|
* [x] 2014 ICDM [Hete-CF](https://arxiv.org/pdf/1412.7610)
|
|||
|
* [x] 2013 RecSys [HeteRec](http://hanj.cs.illinois.edu/pdf/recsys13_xyu.pdf)
|
|||
|
* [ ] 2015 CIKM [SemRec](https://papers-gamma.link/static/memory/pdfs/152-Shi_Semantic_Path_Based_Personalized_Recommendation_on_Weighted_HIN_2015.pdf)
|
|||
|
* [ ] 2019 WWW [RuleRec](https://arxiv.org/pdf/1903.03714)
|
|||
|
* [ ] 2018 KDD [MCRec](https://dl.acm.org/doi/pdf/10.1145/3219819.3219965)
|
|||
|
* [ ] 2018 RecSys [RKGE](https://repository.tudelft.nl/islandora/object/uuid:9a3559e9-27b6-47cd-820d-d7ecc76cbc06/datastream/OBJ/download)
|
|||
|
#### 嵌入和路径结合的方法
|
|||
|
* [x] 2018 CIKM [RippleNet](https://arxiv.org/pdf/1803.03467)
|
|||
|
* [ ] 2019 KDD [AKUPM](https://dl.acm.org/doi/abs/10.1145/3292500.3330705)
|
|||
|
* [x] 2019 WWW [KGCN](https://arxiv.org/pdf/1904.12575)
|
|||
|
* [x] 2019 KDD [KGAT](https://arxiv.org/pdf/1905.07854)
|
|||
|
* [ ] 2019 [KNI](https://arxiv.org/pdf/1908.04032)
|
|||
|
|
|||
|
## 复现模型
|
|||
|
### 异构图表示学习
|
|||
|
* [x] [GCN](https://github.com/ZZy979/pytorch-tutorial/tree/master/gnn/gcn)
|
|||
|
* [x] [R-GCN](https://github.com/ZZy979/pytorch-tutorial/tree/master/gnn/rgcn)
|
|||
|
* [x] [GAT](https://github.com/ZZy979/pytorch-tutorial/tree/master/gnn/gat)
|
|||
|
* [x] [HetGNN](https://github.com/ZZy979/pytorch-tutorial/tree/master/gnn/hetgnn)
|
|||
|
* [x] [HAN](https://github.com/ZZy979/pytorch-tutorial/tree/master/gnn/han)
|
|||
|
* [x] [MAGNN](https://github.com/ZZy979/pytorch-tutorial/tree/master/gnn/magnn)
|
|||
|
* [x] [HGT](https://github.com/ZZy979/pytorch-tutorial/tree/master/gnn/hgt)
|
|||
|
* [x] [metapath2vec](https://github.com/ZZy979/pytorch-tutorial/tree/master/gnn/metapath2vec)
|
|||
|
* [x] [SIGN](https://github.com/ZZy979/pytorch-tutorial/tree/master/gnn/sign)
|
|||
|
* [x] [HGConv](https://github.com/ZZy979/pytorch-tutorial/tree/master/gnn/hgconv)
|
|||
|
* [x] [SuperGAT](https://github.com/ZZy979/pytorch-tutorial/tree/master/gnn/supergat)
|
|||
|
* [x] [R-HGNN](https://github.com/ZZy979/pytorch-tutorial/tree/master/gnn/rhgnn)
|
|||
|
* [x] [C&S](https://github.com/ZZy979/pytorch-tutorial/tree/master/gnn/cs)
|
|||
|
* [x] [HeCo](https://github.com/ZZy979/pytorch-tutorial/tree/master/gnn/heco)
|
|||
|
|
|||
|
### 基于图神经网络的推荐算法
|
|||
|
* [ ] CKE
|
|||
|
* [ ] RippleNet
|
|||
|
* [ ] KGCN
|
|||
|
* [ ] KGAT
|
|||
|
|
|||
|
## 具体计划
|
|||
|
* 2020.12.21~12.25
|
|||
|
* [x] 阅读论文CKE
|
|||
|
* [x] 实现GCN
|
|||
|
* [x] 阅读论文R-GCN
|
|||
|
* 2020.12.28~2021.1.1
|
|||
|
* [x] 实现R-GCN
|
|||
|
* [x] 阅读论文RippleNet
|
|||
|
* [x] 阅读论文Hete-MF
|
|||
|
* 2021.1.4~1.8
|
|||
|
* [x] 实现GAT
|
|||
|
* [x] 实现HAN
|
|||
|
* [x] 阅读论文Hete-CF
|
|||
|
* [x] 阅读论文CFKG
|
|||
|
* 2021.1.11~1.15
|
|||
|
* [x] 实现MAGNN
|
|||
|
* [x] 阅读论文KGCN
|
|||
|
* [x] 阅读论文HeteRec
|
|||
|
* 2021.1.18~1.22
|
|||
|
* [x] 阅读论文KGAT
|
|||
|
* [x] 使用OGB数据集做实验
|
|||
|
* 2021.2.22~2.26
|
|||
|
* [x] 实现ogbn-mag数据集baseline: MLP和Full-batch GCN
|
|||
|
* [x] 查找最新异构图表示学习论文
|
|||
|
* 2021.3.1~3.5
|
|||
|
* [x] 实现ogbn-mag数据集 R-GCN模型
|
|||
|
* [x] 阅读论文HGConv
|
|||
|
* 2021.3.8~3.12
|
|||
|
* [x] 实现ogbn-mag数据集 HGConv模型
|
|||
|
* [x] 尝试解决ogbn-mag数据集 HAN模型内存占用过大的问题
|
|||
|
* [x] 阅读论文NARS
|
|||
|
* 2021.3.15~3.19
|
|||
|
* [x] 阅读论文SIGN
|
|||
|
* [x] 阅读论文GraphSAINT
|
|||
|
* [x] 阅读论文SuperGAT
|
|||
|
* 2021.3.22~3.26
|
|||
|
* 继续看上周的论文(找实习面试好难啊😢)
|
|||
|
* 2021.4.1 人生中第一个offer🎉
|
|||
|
* 2021.4.5~4.9
|
|||
|
* [x] 重新训练ogbn-mag数据集 HGConv模型
|
|||
|
* [x] 实现SuperGAT
|
|||
|
* 2021.4.12~4.18
|
|||
|
* [x] 阅读论文GPT-GNN
|
|||
|
* [x] 实现metapath2vec
|
|||
|
* 2021.4.19~4.25
|
|||
|
* [x] 使用子图采样的方法在ogbn-mag数据集上训练HAN模型
|
|||
|
* [x] 使用metapath2vec预训练ogbn-mag数据集的顶点特征,重新跑HGConv模型
|
|||
|
* [x] 阅读综述A Survey on Heterogeneous Graph Embedding
|
|||
|
* 2021.4.26~5.9
|
|||
|
* [x] 实现HGT
|
|||
|
* [x] 实现HetGNN
|
|||
|
* [x] 实现ogbn-mag数据集 HGT模型
|
|||
|
* [x] 实现ogbn-mag数据集 HetGNN模型
|
|||
|
* [x] 尝试改进:HetGNN的内容聚集+HGConv
|
|||
|
* 2021.5.10~5.16
|
|||
|
* [x] 阅读论文Strategies for Pre-Training Graph Neural Networks
|
|||
|
* [x] 阅读论文Self-Supervised Graph Representation Learning via Global Context Prediction
|
|||
|
* 2021.5.17~5.23
|
|||
|
* [x] 继续尝试异构图表示学习模型的改进
|
|||
|
* [x] 阅读论文Self-Supervised Learning of Contextual Embeddings for Link Prediction in Heterogeneous Networks
|
|||
|
* [x] 整理OAG数据集
|
|||
|
* 2021.5.24~5.30
|
|||
|
* 实习第一周
|
|||
|
* [x] 阅读论文R-HGNN
|
|||
|
* 2021.5.31~6.6
|
|||
|
* [x] 实现R-HGNN
|
|||
|
* 2021.6.7~6.13
|
|||
|
* [x] 利用OAG数据集构造计算机领域的子集
|
|||
|
* 2021.6.14~6.20
|
|||
|
* [x] 阅读论文C&S
|
|||
|
* [x] 完成SciBERT模型的fine-tune,获取OAG-CS数据集的paper顶点输入特征
|
|||
|
* 2021.7.5~7.18
|
|||
|
* [x] 实现C&S
|
|||
|
* [x] 阅读论文HeCo
|
|||
|
* 2021.7.19~7.25
|
|||
|
* [x] 实现HeCo
|
|||
|
* 2021.7.26~8.1
|
|||
|
* [x] 尝试改进HeCo:mini-batch训练、元路径编码器改为其他方式、Loss增加分类损失
|
|||
|
* 7.29 和吴嘉伟讨论HeCo的改进思路
|
|||
|
* 正样本选择策略:在下游任务上预训练一个两层HGT,第二层的注意力权重是一阶邻居对目标顶点的权重,
|
|||
|
第一层的注意力权重是二阶邻居对一阶邻居的权重,取类型与目标顶点相同的二阶邻居,并将两个权重相加,
|
|||
|
得到二阶邻居(同类型)对目标顶点的权重,取top-k作为目标顶点的正样本
|
|||
|
* 使用上面得到的正样本可以构造一个目标类型顶点的同构图,用于替换元路径编码器中基于元路径的同构图
|
|||
|
* [x] 确认HGT中对注意力权重做softmax的方式(同类型/跨类型)→同类型
|
|||
|
* 2021.8.2~8.8
|
|||
|
* [x] 实现使用预训练的HGT计算的注意力权重选择HeCo的正样本的方法
|
|||
|
* [x] 将HeCo迁移到ogbn-mag数据集上,尝试效果 → 24.67%
|
|||
|
* [x] 元路径视图编码器替换为正样本图上的GCN编码器
|
|||
|
* [x] 适配mini-batch训练
|
|||
|
* 2021.8.9~8.15
|
|||
|
* [x] 将HeCo训练方式改为半监督(loss增加分类损失),尝试效果 → 26.32%
|
|||
|
* [x] 尝试C&S Baseline在ogbn-mag数据集上的效果 → 不加Correct步骤能提升更多,正样本图>引用图
|
|||
|
* [x] 尝试增加C&S后处理步骤(重点是标签传播图的构造)
|
|||
|
* [x] R-HGNN+C&S → 正样本图上微提升,引用图上下降
|
|||
|
* [x] HeCo+C&S → 26.32% -> 27.7%
|
|||
|
* 2021.8.16~8.22
|
|||
|
* [x] 尝试HeCo的最终嵌入使用z_sc → 提升10%!
|
|||
|
* [x] 尝试将HeCo的网络结构编码器替换为R-HGNN
|
|||
|
* 2021.8.23~8.29
|
|||
|
* [x] 写中期报告
|
|||
|
* 2021.8.30~9.5
|
|||
|
* [x] 尝试将RHCO的网络结构编码器改为两层 → 提升4.4%
|
|||
|
* [x] 尝试其他构造正样本图的方法:训练集使用真实标签,验证集和测试集使用HGT预测 → 提升0.6%
|
|||
|
* 2021.9.6~9.12
|
|||
|
* [x] 尝试将构造正样本图的方法改为使用预训练的R-HGNN模型计算的注意力权重、训练集使用真实标签 → 下降2.6%
|
|||
|
* [x] 使用metapath2vec预训练oag-cs数据集的顶点嵌入,备用
|
|||
|
* 2021.9.13~9.19
|
|||
|
* [x] RHCO模型删除输入特征转换和dropout(网络结构编码器已包含)、增加学习率调度器(对比损失权重为0时应该达到与R-HGNN相似的性能) → +10%
|
|||
|
* [x] 设计推荐算法:使用SciBERT+对比学习实现召回:一篇论文的标题和关键词是一对正样本,使用(一个或两个)SciBERT分别将标题和关键词编码为向量,
|
|||
|
计算对比损失,以此方式进行微调;使用微调后的SciBERT模型将论文标题和输入关键词编码为向量,计算相似度即可召回与查询最相关的论文
|
|||
|
* 2021.9.20~9.26
|
|||
|
* [x] 在oag-cs数据集上使用SciBERT+对比学习进行微调
|
|||
|
* [x] 实现输入关键词召回论文的功能
|
|||
|
* 2021.9.27~10.10
|
|||
|
* [x] 实现推荐算法的精排部分
|
|||
|
* [x] 重新构造oag-cs数据集,使field顶点包含所有领域词
|
|||
|
* [x] 在oag-cs数据集上训练RHCO模型(预测任务:期刊分类),获取顶点表示向量
|
|||
|
* [x] 修改训练代码,使其能够适配不同的数据集
|
|||
|
* TODO 预测任务改为学者排名相关(例如学者和领域顶点的相似度),需要先获取ground truth:学者在某个领域的论文引用数之和,排序
|
|||
|
* [x] 初步实现可视化系统
|
|||
|
* [x] 创建Django项目(直接使用当前根目录即可)
|
|||
|
* [x] 创建数据库,将oag-cs数据导入数据库
|
|||
|
* [x] 实现论文召回的可视化
|
|||
|
* 2021.10.11~10.17
|
|||
|
* 精排部分GNN模型训练思路:
|
|||
|
* (1)对于领域t召回论文,得到论文关联的学者集合,通过论文引用数之和构造学者排名;
|
|||
|
* (2)从排名中采样N个三元组(t, ap, an),其中学者ap的排名在an之前,采样应包含简单样本(例如第1名和第10名)和困难样本(例如第1名和第3名);
|
|||
|
* (3)计算三元组损失triplet_loss(t, ap, an) = d(t, ap) - d(t, an) + α
|
|||
|
* [x] 可视化系统:实现查看论文详情、学者详情等基本功能
|
|||
|
* [x] 开始写毕业论文
|
|||
|
* [x] 第一章 绪论
|
|||
|
* 2021.10.18~10.24
|
|||
|
* [x] 异构图表示学习:增加ACM和DBLP数据集
|
|||
|
* [x] 写毕业论文
|
|||
|
* [x] 第二章 基础理论
|
|||
|
* [x] 第三章 基于对比学习的异构图表示学习模型
|
|||
|
* 2021.10.25~10.31
|
|||
|
* [x] 完成毕业论文初稿
|
|||
|
* [x] 第四章 基于图神经网络的学术推荐算法
|
|||
|
* [x] 第五章 学术推荐系统设计与实现
|
|||
|
* [x] 异构图表示学习
|
|||
|
* [x] 正样本图改为类型的邻居各对应一个(PAP, PFP),使用注意力组合
|
|||
|
* [x] 尝试:网络结构编码器由R-HGNN改为HGConv → ACM: -3.6%, DBLP: +4%, ogbn-mag: -1.86%
|
|||
|
* 2021.11.1~11.7
|
|||
|
* [x] 异构图表示学习
|
|||
|
* [x] 完成参数敏感性分析
|
|||
|
* [x] 推荐算法精排部分
|
|||
|
* [x] 抓取AMiner AI 2000的人工智能学者榜单作为学者排名验证集
|
|||
|
* [x] 参考AI 2000的计算公式,使用某个领域的论文引用数加权求和构造学者排名ground truth训练集,采样三元组
|
|||
|
* [x] 训练:使用三元组损失训练GNN模型
|
|||
|
* 2021.11.8~11.14
|
|||
|
* [ ] 异构图表示学习
|
|||
|
* [x] 增加oag-cs期刊分类数据集
|
|||
|
* [ ] 完成消融实验
|
|||
|
* [ ] 推荐算法精排部分
|
|||
|
* [ ] 训练:目前的评价方式有问题,改为先召回论文再计算相关学者与领域的相似度(即与预测步骤相同)
|
|||
|
* [ ] 预测:对于召回的论文构造子图,利用顶点嵌入计算查询词与学者的相似度,实现学者排名
|