快速寻找符合课题的baseline并复现GitHub项目的完整指南
通过系统化组合数据类型、任务类型、方法类型和模型类型,能有效精准定位论文,并利用论文和GitHub资源实现代码复现。
核心要点
- 本教程由小周老师主讲,内容涵盖论文查找、代码寻找、环境配置和项目复现的完整流程。
- 核心方法为“数据类型 + 任务类型 + 方法类型 + 模型类型”的组合搜索,以精准定位相关论文。
- 论文推荐网站:paperswithcode 和 Google Scholar;代码主要从 GitHub 获取。
- 复现阶段需遵循 README 文件,包括环境搭建、依赖安装、数据下载和训练运行。
- 环境配置有专门指南,但需要额外领取;复现示例使用
python train.py启动模型训练。
论文查找方法与步骤
推荐网站及其特点
- paperswithcode:分类全面,覆盖计算机视觉、自然语言处理、时间序列、图结构等领域,支持按“SOTA”模型选择浏览。
- Google Scholar:适合更精准的搜索,尤其当研究方向较偏或数据非标准时。
精准搜索方法
- 组合公式:
数据类型 + 任务类型 + 方法类型 + 模型类型。 - 步骤:
- 确定数据类型:分析自己数据的类型。
- 文本数据:用于自然语言处理,如LLM问答、分析、抽取。
- 图像数据:通常为三通道彩色图片,用于CV任务。
- 结构化数据:如CSV文件,用Pandas读取为DataFrame。
- 音频数据:信号形式,幅度随时间变化。
- 时间序列数据:如电压、水压异常检测。
- 视频数据:连续帧构成。
- 图结构数据:由节点和边组成,需天然图结构或公开数据集。
- 点云数据:激光雷达扫描所得,用于机械臂等应用。
- 添加任务类型:
- 分类任务:如图片猫狗二分类。
- 回归任务:预测连续值,与真实值比对。
- 生成任务:如文本生成图像/视频或文本生成。
- 异常检测:识别时间序列中的峰值或漂移异常。
- 图像分割:分割图像中的道路、人、车辆等。
- 目标检测:框选目标并给出置信度。
- 加入方法类型:
- 有监督:有标签数据。
- 半监督:部分标签。
- 无监督:无标签,关注数据模式特征。
- 自监督:无标签,但关注模型本身。
- 区别:无监督注重数据特征,自监督注重模型自身。
- 可选模型类型:
- CNN:卷积操作提取图像特征。
- RNN:循环处理序列,变体有LSTM、GRU、BiLSTM、BiGRU。
- Transformer:基于自注意力机制,用于序列,也可用于视觉(ViT)。
- GNN:聚合邻居节点特征更新中心节点。
- GAN:生成器与判别器对抗,用于生成任务。
- 示例:搜索“多元时间序列无监督异常检测”可以返回相关文章。
- 建议:使用Google Scholar进行此类组合搜索,因为paperswithcode默认偏重CV,组合搜索在Google Scholar更灵活。
论文类型区分
- 综述型:如Survey,适合初期了解,可搜索“数据+任务+方法”查看深度学习综述。
- 研究型:包含模型提出和对比实验,证明泛化能力、鲁棒性等,通常对应SOTA模型。
代码查找方式
方式一:通过paperswithcode直接获取
- 在paperswithcode上选择论文,点击“Code”即可跳转GitHub。
- 注意框架差异:如有的代码是TensorFlow,有的可能是PyTorch,需根据环境选择。
方式二:在论文中查找代码链接
- 使用Ctrl+F搜索“GitHub”或“Code”。
- 常见关键词:
github、code、源代码等。 - 顶会论文(如CVPR)通常会直接挂链接,如2024年某篇论文就有直接链接。
方式三:用模型名在GitHub搜索
- 查找模型名的方法:
- 摘要部分:常出现模型名。
- 模型构建部分:详细阐述模型结构。
- 对比实验部分:提及模型名称。
- 复制模型名,在GitHub搜索,选择适合的框架(如PyTorch)。
- 点击进入项目,下载代码。
环境配置指南
- 有专门的环境配置指南资料,需要联系“小助手”领取。
- 操作步骤(基于VSCode):
- 创建虚拟环境(如conda环境)。
- 激活环境。
- 安装依赖,运行
pip install -r requirements.txt,包括torch、pandas、tqdm等包。
- 指南详细程度依项目而定,但需遵循README。
项目复现流程
- 以“V计”项目为例(推测为GNN项目):
- 查看README,找到“Quick Start”部分。
- 第一行通常是环境配置命令,安装必要的包。
- 下载数据集(如
dataset.py或dataset目录)。 - 运行训练指令,如
python train.py。 - 打印配置信息,开始训练模型。
- 示例复现步骤:
- 创建环境:
conda create -n genv python=3.8(示例)。 - 激活环境:
conda activate genv。 - 安装依赖:
pip install -r requirements.txt。 - 运行训练:
python train.py。 - 重要:环境配置是难点,需仔细遵循README。
案例与具体示例
案例一:paperswithcode使用
- 选择“SOTA”模型类别,浏览不同领域。
- 例如,查找“dynamic self-attention network”,在paperswithcode上找到代码,但可能只有TensorFlow版本。
案例二:GitHub搜索
- 在论文摘要中找到“dynamic network”,复制模型名。
- 在GitHub搜索,找到PyTorch实现,下载代码。
案例三:时间序列异常检测
- 搜索“多元时间序列无监督异常检测”,在Google Scholar上能返回精准结果。
限制与待确认问题
- 部分数据或模型可能没有公开代码,需通过GitHub搜索。
- 环境配置指南需额外领取,教程中未提供具体内容。
- 复现过程依赖README的详细程度,有些README可能不够详细。
- 不同框架(TensorFlow vs PyTorch)可能影响代码运行,需调整环境。
- 示例中提到的“基恩”可能指“GNN”,需确认术语准确性。
总结
- 查找论文:使用“数据类型 + 任务类型 + 方法类型 + 模型类型”在Google Scholar精准搜索。
- 查找代码:通过paperswithcode、论文内链接或GitHub模型名搜索。
- 环境配置:领取指南,创建环境,安装依赖。
- 项目复现:遵循README,下载数据,运行训练脚本。
- 核心建议:组合搜索能提高精度,复现时重点管理环境配置。