[
  {
    "path": "README.md",
    "content": "# Learning Research\n\n## Motivation of This Repository\n\n1. 面向实验室研究生、本科生的科研教学。希望将科研经验进行书面总结，而不是以口口相传的方式传承，帮助实验室新人学习科研。\n2. 开源这样的科研经验，希望对实验室以外的同学有所帮助。\n3. 开源的形式可以接受大家的审阅，得到大家的建议，从而可以改进科研经验。\n\n**Postscript:**\n1. 本文档内容可能无法完全反映本人想表达的意思，内容可能也不够完整。如果想深入学习科研，推荐在参考文档的情况下在实践与交流中学习。\n2. 本文档适用于[本人](https://pengsida.net/)在[本实验室](https://xzhou.me/)的科研经历，但不一定适用于其他情况。\n3. 本文档将持续更新（更新可能会在Notion文档中进行，因此不一定会反映在Commit History中）。文档上次更新时间：2026年3月7日。\n\n## 如何努力成为一个Top Ph.D. Student\n\n<!-- 要做好这个科研经验总结，需要先回答一个问题：Top Ph.D. student具备哪些方面的能力？ -->\n\n核心的能力：个人认为，Top Ph.D. Student懂得设定一个长远的科研目标。这个科研目标具有重要的科学价值和实际价值 (在实际应用中寻找真正有价值的科学问题)。然后根据这个科研目标细化科研的Roadmap。博士期间做的几篇论文都是围绕着解决这个科研目标，并且做的论文能够清晰地展示出自己沿Roadmap的科研进展，论文Demo要尽量很酷（例子：[博士生的楷模：Sebastian Starke](https://pengsida.notion.site/Sebastian-Starke-1713fe292ff1808eb33be93ea2d79ad9?pvs=4)）。\n\n在实际做科研过程中，Ph.D. Student需要有五方面的能力：寻找重要的科研问题、提出解决方案、做实验、写论文、做Presentation。下面是一些具体的建议。\n1. [如何入门3D Vision的科研](./getting_started_in_research.md)\n2. [如何培养自己的科研能力 (寻找科研问题、想Idea、做实验、与导师Meet)](./getting_advanced_in_research.md)\n3. [如何做Research Project（博士生应该具有的能力）](https://pengsida.notion.site/research-project-b43507ef26d044bd888ac29f4736e116)\n4. 论文写作\n    - [如何练习写论文](https://pengsida.notion.site/c13c7e52aab64c1a8e3576b97fcb9851)\n    - [论文写作模板](https://pengsida.notion.site/c1a22465a0fa4b15a12985223916048e)（实验室内部觉得很好用）\n    - [高水平科研工作者的写作经验](https://pengsida.notion.site/74aef88b9187439fa4e301704f6eb49a)\n5. [怎么Rebuttal](https://pengsida.notion.site/rebuttal-af99ce47103e4917b6a5bd1fd4b3c022)\n6. [怎么做学术报告Slides](https://pengsida.notion.site/slides-810f02670691444f8c94cc3d5b76dcbc)\n\n### Slides\n\n这些建议的部分内容总结在了以下Slides和视频中：\n1. 《GAMES003：科研基本素养》版本：\n   - [《科研流程概述与领域视野建立》Slides](https://pengsida.net/games003/GAMES003_files/week_1.pdf) 和 [课程视频](https://www.bilibili.com/video/BV1RitTezEa9?p=1)。\n   - [《技术方案的设计方法》Slides](https://pengsida.net/games003/GAMES003_files/week_3.pdf) 和 [课程视频](https://www.bilibili.com/video/BV1RitTezEa9?p=3)。\n   - [《面向实验结果的方案优化》Slides](https://pengsida.net/games003/GAMES003_files/week_5.pdf) 和 [课程视频](https://www.bilibili.com/video/BV1RitTezEa9?p=5)。\n2. 《learning research》版本：[Slides](https://pengsida.net/files/learning_research_v4.pdf) 和 [Talk Video](https://www.bilibili.com/video/BV1DA4m1V7D3/)。\n3. 着重讨论如何建立领域视野和选择科研课题的版本（2025年8月12日）：[Slides](https://pengsida.net/files/research_topic_selection.pdf)。\n4. 《CCF优博是怎么炼成的》：[Slides](https://pengsida.net/files/CCF_Talk.pdf)。\n\n本人与另外三位研究人员（[高俊](https://www.cs.toronto.edu/~jungao/)、[彭崧猷](https://pengsongyou.github.io/)、[王倩倩](https://qianqianwang68.github.io/)）在GAMES平台上开设了课程：[《GAMES003：图形视觉科研基本素养》](https://pengsida.net/games003/)。\n\n## Citation\n\n若该文档对您有所帮助，请在页面右上角点个Star⭐支持一下，谢谢！\n\n如果转载该文档的内容，请注明出处：[https://github.com/pengsida/learning_research](https://github.com/pengsida/learning_research)。\n\n## Acknowledgements\n\n本文档内容主要是本人与导师、朋友、实验室同学日常交流讨论的总结。在此非常感谢以下人员对这份文档的启发：[周晓巍老师](https://xzhou.me/)、[孙佳明](https://jiamingsun.ml/)、[沈宇军](https://shenyujun.github.io/)、[帅青](https://chingswy.github.io/)、[沈泽弘](https://zehongs.github.io/)、[郭浩宇](https://github.com/ghy0324)、[贺星毅](https://github.com/hxy-123)、[林浩通](https://haotongl.github.io/)、[徐震](https://github.com/dendenxu)、[张上展](https://zhanghe3z.github.io/)、[皮怀瑾](https://github.com/phj128)。\n"
  },
  {
    "path": "changelog",
    "content": "- 2025年1月25日，更新了文档《怎么找论文》:https://www.notion.so/pengsida/c278dab7e4764d61a92c1fd1ef3135b1，增加了基于Deep Research找论文。\n- 2025年1月25日，更新了文档《论文写作模板》:https://www.notion.so/pengsida/c1a22465a0fa4b15a12985223916048e，增加了论文写作规划图。\n- 2026年1月23日，更新了文档《怎么rebuttal》:https://www.notion.so/pengsida/rebuttal-af99ce47103e4917b6a5bd1fd4b3c022，增加了基于画图的review整理工具。\n- 2026年1月18日，更新了文档《如何做Research Project》:https://pengsida.notion.site/Research-Project-b43507ef26d044bd888ac29f4736e116?pvs=74，增加了vibe coding的相关内容。\n- 2026年1月18日，更新了文档《如何有效地读论文》:https://www.notion.so/pengsida/d192db870bc64436ae4a4a590b36772a\n- 2026年1月10日，更新了文档《如何做Research Project》:https://pengsida.notion.site/Research-Project-b43507ef26d044bd888ac29f4736e116?pvs=74，增加了系统思维的相关内容。\n- 2025年10月23日，更新了文档《Project核心技术问题分析模板》:https://www.notion.so/Project-1753fe292ff180948215cf82cd2b30ae?pvs=4。\n- 2025年8月1日，更新了文档《Project核心技术问题分析模板》:https://www.notion.so/Project-1753fe292ff180948215cf82cd2b30ae?pvs=4。\n- 2025年4月13日，更新了文档《Project核心技术问题分析模板》:https://www.notion.so/Project-1753fe292ff180948215cf82cd2b30ae?pvs=4。\n- 2025年4月11日，增加文档《从面试问题的角度反思科研的宝贵品质》:https://www.notion.so/1d13fe292ff180de91afcb7f2eb57b69?pvs=4。\n- 2025年3月11日，增加文档《Project核心技术问题分析模板》:https://www.notion.so/Project-1753fe292ff180948215cf82cd2b30ae?pvs=4。\n- 2025年1月5日，更新了文档《论文写作模板》:https://www.notion.so/pengsida/c1a22465a0fa4b15a12985223916048e。\n- 2025年1月4日，增加文档《博士生的楷模：Sebastian Starke》:https://www.notion.so/Sebastian-Starke-1713fe292ff1808eb33be93ea2d79ad9?pvs=4。\n- 2024年11月28日，更新了文档《论文写作模板》，增加了Method写作常见问题。\n- 2024年10月24日，增加文档《如何改一篇论文的写作》。\n- 2024年10月3日，增加文档《如何使用copilot和gpt辅助英语写作》。\n- 2024年6月1日，增加文档《有哪些不适合做科研的“学生心态”》。\n- 2024年5月3日，在文档《博士生应该具有的能力》中，增加了博士生应该具有的意识。\n- 2024年4月14日，更新了文档《如何给算法/代码debug》，增加了《调试九法》的读书笔记。\n- 2024年4月2日，增加了文档《如何给代码debug》。\n- 2024年3月21日，增加了文档《如何改进一个pipeline》和《如何增加论文的技术贡献》。\n- 2024年3月14日，增加了文档《如何培养科研品味》。\n- 2024年3月2日，增加了文档《如何高效地讨论》。\n- 2024年2月5日，增加了文档《给定Idea，如何设计探索性实验》。\n- 2024年2月4日，增加了文档《实验结果分析的经典十问》。\n- 2024年1月31日，更新了文档《论文写作模板》，强调了论文美感的重要性。\n- 2024年1月18日，更新了文档《论文写作模板》，更新了论文写作步骤和Method写作部分。\n- 2024年1月5日，增加了文档《如何高效地从导师、学长、学姐蒸馏知识》。\n- 2024年1月4日，更新了slides《learning research》，把改进Idea当作一个梯度优化的过程。\n- 2023年12月11日，增加了文档《如何做project page》。\n- 2023年11月9日，更新了文档《如何培养想idea的能力》，讨论了Goal-driven research在research产出方面的好处。\n- 2023年10月28日，更新了文档《怎么写实验记录》。\n- 2023年10月28日，更新了文档《如何培养想idea的能力》。\n- 2023年10月19日，更新了文档《怎么做学术报告slides》。\n- 2023年10月11日，更新了文档《如何meet》。\n- 2023年10月9日，更新了文档《论文写作模板》，增加了如何判断自己的论文段落是否写清楚。\n- 2023年10月8日，更新了文档《论文写作模板》，增加了写论文的步骤。\n- 2023年9月3日，更新了文档《论文写作模板》中的Method写作部分，加入了pipeline module四元素的概念：module forward process, module design, module discussion和module implementation details。\n- 2023年9月2日，更新了文档《论文写作模板》中的《怎么审论文》。\n- 2023年9月2日，更新了文档《论文写作模板》中的Method写作部分。\n- 2023年8月27日，更新了科研经验分享的slides，描述了如何做一个research project和总结了博⼠⽣应该具有的能⼒。\n- 2023年8月15日，在文档《如何找到实验不work的原因》中增加了用于分析实验不work的原因的流程图。\n- 2023年8月11日，在文档《如何画方法流程图》中增加了画图素材。\n- 2023年8月4日，在文档《博士生应该具有的能力》中，增加了文档《交流讨论对于科研的重要性》和《刚进实验室，怎么和实验室同学变熟》。\n- 2023年8月1日，根据同学反馈，梳理了文档《如何找到实验不work的原因》。\n- 2023年7月27日，在文档《如何做research project》中增加了文档《什么是goal-driven research》。\n- 2023年7月26日，增加了文档《如何做research project》。\n- 2023年7月21日，在文档《如何培养想idea的能力》增加了两个高水平科研工作者的科研经验文档：《John Schulman的科研经验》和《Michael Nielsen的科研经验》。\n- 2023年7月16日，增加了文档《如何有效地读论文》。\n- 2023年7月5日，更新了文档《如何培养想idea的能力》，增加了高水平科研工作者对“寻找重要的科研问题”的看法。\n- 2023年6月29日，将该repo的部分内容总结在了一个slides中：https://pengsida.net/files/how_to_do_research.pdf。\n- 2023年6月21日，更新了文档《论文写作模板》，增加了一个提升论文影响力的方法，在实验部分下功夫：“当把算法在目标数据上做work以后，尽量在更多新的数据上做实验，看看算法的极限，挖掘算法的潜力。”\n- 2023年6月10日，更新了文档《如何培养想idea的能力》，增加了一个对novelty的判断标准：“在新的数据上探索方法的可能性，让大家看到新的实验结论，这是很大的贡献。”\n- 2023年6月7日，更新了文档《审稿模板》。\n- 2023年6月6日，在文档《如何进行literature review》中加了补充说明。\n- 2023年6月2日，增加了文档《如何做学术报告slides》。\n- 2023年6月1日，在文档《如何培养想idea的能力》增加了“对method-driven research的个人理解”。\n- 2023年5月29日，修改了文档《如何培养想idea的能力》，在其中增加了子文档《如何构建novelty tree和challenge-insight tree（如何进行literature review）》。\n- 2023年5月20日，增加了文档《如何找到实验不work的原因》。\n"
  },
  {
    "path": "getting_advanced_in_research.md",
    "content": "# 如何培养自己的科研能力\n\n在做一篇论文主要需要有三方面的能力：想idea的能力（寻找重要的科研问题、提出解决方案）、写作能力 (展示能力)、实验能力。\n\n1. [如何培养想idea的能力](https://pengsida.notion.site/idea-da6ce171c13846b7a7ffaa7473ffa6ea)。\n2. 通过[读论文](https://pengsida.notion.site/d192db870bc64436ae4a4a590b36772a)、[每周meet的ppt展示](https://pengsida.notion.site/meet-ppt-d697ef578d784c869d4f8314f0d617da)、[论文写作](https://pengsida.notion.site/c1a22465a0fa4b15a12985223916048e) (包括[练习写论文](https://pengsida.notion.site/c13c7e52aab64c1a8e3576b97fcb9851))、论文的展示 (做ppt、做视频、做demo) 锻炼写作能力 (展示能力)。\n3. 通过写代码做实验、[分析实验不work的原因](https://pengsida.notion.site/1aee6e718de6472f834d13da8f4ff097)、[写实验记录](https://pengsida.notion.site/caf34717f4c046c69ee7e14ea953c46f)锻炼实验能力。\n\n我用表格的形式列出了博士生应该具有的能力，以及如何通过一个research project锻炼这些能力，记录在了[这个文档](https://pengsida.notion.site/research-project-b43507ef26d044bd888ac29f4736e116)（**推荐阅读**）。这个文档同时讲述了如何进行一个research project。\n\n下面是一些高水平科研工作者的科研经验，推荐阅读。\n1. [Bill Freeman的科研经验](https://pengsida.net/files/Bill_Freeman_How_to_do_research.pdf)\n2. [John Schulman的科研经验](https://pengsida.net/files/John_Schulman_How_to_do_research.pdf)\n3. [Michael Nielsen的科研经验](https://pengsida.net/files/Michael_Nielsen_How_to_do_research.pdf)\n4. [Zhihua Zhou的科研经验](https://pengsida.net/files/Zhihua_Zhou_How_to_do_research.pdf)\n5. [Xiangyang Shen的科研经验](https://pengsida.net/files/Xiangyang_Shen_How_to_do_research.png)\n6. [Zhilin Yang的科研经验](https://pengsida.net/files/Zhilin_Yang_How_to_do_research.pdf)\n7. [Wujun Li的《浅谈本科生科研能力培养》](https://pengsida.net/files/Wujun_Li_Undergraduate_learning_research.pdf)\n8. [Xintao Wang的科研编程与实验经验](https://www.yuque.com/xinntao/nm1yxs/uwzezu0qebdxs38t)\n9. [Richard Hamming的科研经验](https://github.com/user-attachments/files/18051592/YouAndYourResearch.pdf)\n"
  },
  {
    "path": "getting_started_in_research.md",
    "content": "# 如何入门3D Vision的科研\n\n## 第一阶段\n\n学习基础的深度学习知识。这个阶段追求广度，了解一些基础的概念和算法。不要求深度，不要求掌握/熟悉算法所有的细节。这个阶段的目的是让你对深度学习有一个大概的了解，知道有哪些算法，知道这些算法的大概原理，知道这些算法的应用场景。\n\n学习《Deep Learning for Computer Vision》课程。重点是完成里面的作业。懂得做作业，也就懂课程内容了。建议在GitHub上维护一个repo，存放作业。\n\n推荐的课程是Andrej Karpathy教授的课程。这是[课程链接](https://web.eecs.umich.edu/~justincj/teaching/eecs498/WI2022/schedule.html)。\n\n如果对哪些算法或哪些代码有问题，推荐谷歌搜索或者问new bing，如果找不到答案，建议敢于向高年级学长/学姐询问。\n\n## 第二阶段 \n\n在有了基础知识的基础上，开始跟着学长/学姐做科研项目。这个阶段追求深度，追求掌握某一篇论文的细节（算法细节、代码实现细节）。这个阶段的目标是构建某一个科研细分方向的算法基础，通过参与科研项目来了解一篇论文是怎么做出来的（寻找科研问题、想idea、做实验、写论文）。\n\n这个阶段需要做三方面的事情：\n\n1. 首先选择一个自己感兴趣的科研方向。选择具体的科研方向以后，请实验室学长/学姐帮自己定制具体的学习计划。这是学习计划的一个[例子](https://pengsida.notion.site/8911dcc5922b4442a80d4407926e65bf)（这个例子的内容可能随着时间的推移而变得过时，请注重其体现出的计划思路）。\n2. 同时看一门计算机视觉的课程，不用做作业：[http://cs231n.stanford.edu/schedule.html](http://cs231n.stanford.edu/schedule.html)。该课程对深度学习在计算机视觉的应用有较为全面的介绍。因为已经在具体实现某个论文的算法了，所以这个阶段可以不用做作业，只需要看课程视频和课程讲义即可，不然日常时间可能不够分配。  \n如果对传统图形学的知识感兴趣，还需要看[GAMES101-现代计算机图形学入门](https://games-cn.org/intro-graphics/)、[GAMES202-高质量实时渲染](https://sites.cs.ucsb.edu/~lingqi/teaching/games202.html)（闫令琪老师开的课，讲得特别好）。  \n如果对motion synthesis/computer animation感兴趣，还需要看[GAMES105-计算机角色动画基础](https://games-105.github.io/)（刘利斌老师开的课，讲得特别好）。\n3. 在学习的过程中，参与旁听某个学长/学姐的科研项目，旁听我们每周的讨论，见识做科研具体是怎样的（[这个文档](https://pengsida.notion.site/research-project-b43507ef26d044bd888ac29f4736e116)总结了research project的具体流程）。等你算法基础和实验能力足够时，实验室会试着让你帮忙做我们Project的一些实验，从而开始上手做科研项目。参与Project时会读一些论文、做一些实验。[这个文档](https://pengsida.notion.site/research-project-b43507ef26d044bd888ac29f4736e116)总结了做research project需要的能力和相应的教程。\n\n在这个阶段可以熟悉一些[常用的工具、配置](https://pengsida.notion.site/59569d7b66954578b21bf1dc6ea35776)（这些工具是实验室的[贺星毅](https://github.com/hxy-123)同学整理的）。\n\n## 第三阶段\n\n在有了一定算法基础以后，开始在实验室的指导下做一个自己一作的Project。这个阶段的目标是通过实践来学习一篇论文是怎么做出来的（寻找科研问题、想idea、做实验、写论文），比较好的情况是能完成一篇论文的投稿，从而在某个细分的科研方向上有一定的科研成果。\n\n在深入探索这个阶段之前，请先做好心理准备，因为做科研和课程学习有很大的区别。具体请看[这个文档](https://pengsida.notion.site/a3fe9f17b8af46558cd1112627009c83)。\n\n这一阶段因为其过程的前沿性与创新性，所以难以有固定的学习路线，比较依赖实验室的口传心授。我们尽量整理出了一些作为独立的科研工作者所必需的科研能力。具体请看[这个文档](./getting_advanced_in_research.md)。\n"
  }
]