不久前,本人的第一篇论文被ICPP ‘22接收,但实际上,从start workingpaper acceptance大概经历了1年的时间,其中经历了许多酸甜苦辣。也是在此期间,本人逐渐领略到一些要领,因此在这里给大家做个分享。诚然,科研之路路漫漫其修远兮,作为一个也是刚刚起步的小白,本人的理解和经验或许并不完全正确和有用,但希望能对大家有所启发。

基础功夫:磨刀不误砍柴工

其实从进入Tulip Lab以来,大家就开始接受Flip训练,其中科研工具的使用更是被反复强调。然而,一些非计算机出身的,刚进组的同学可能对这些科研工具比较迷惑,或者可能尽管经历了Flip-00的训练,仍然只是一知半解,深感复杂而不能得心应手。实际上,一旦配置好自己的科研工具集,能够让写paper事半功倍。更不用谈要和导师协作,这些工具的使用是重中之重了。本人在这里推荐自己的科研工具集供大家参考。

  1. 版本控制工具:Git for Windows
  2. LaTex发行版:Texlive
  3. LaTex编辑器:Texstudio
  4. Git GUI:SmartGit
  5. Python环境:Anaconda
  6. 文献管理工具:Zotero
  7. 绘图工具:Draw.io
  8. 多邮箱管理:网易邮箱大师
  9. 英文语法检查工具:Grammarly

这套工具集是完全免费的,可以做到开箱即用,比如,Texstudio会自动配置编译链,自动侦测Texlive的安装位置。同时,建议学习Zotero与Texstudio的联动,比如,一键推送\cite{}, 使用Better BibTex生成编译LaTex时会自动更新的.bib文件。在这里我强烈推荐大家(再次)仔细阅读李老师写给新成员的Workflow:

  1. Workflow - Zotero
  2. Workflow - LaTeX

另一项很重要的事是,结合好邮箱工具维护好一份自己的日历,可以帮助自己安排时间,防止自己漏掉meeting。

Idea阶段:积极探索与快速验证

基本功练好后,可能会在老师的指导下进入研究阶段。如果自己没有清晰的research questions,老师会给你大概的框定一个方向,并分享一些主要文献和state-of-art的工作。对于这部分工作,一定要精读,细读,弄明白以下几个问题:

  1. 他们做了一件什么样的事?(what)

  2. 他们为什么要做这件事?(why)

  3. 他们的核心手法是什么?(how)

  4. 他们解决了什么,没有解决什么?(results)

  5. 是否有其它手法?如果在某个地方用上这些手法会怎么样?(rethink & explore)

  6. 他们是否有代码?(codebase)

回答上述问题可能不仅仅需要老师给你分享的这些文献,还需要自己去搜集,去阅读更多的文献,在这个过程中一定要注意归纳和汇总,争取表格化,文档化。这样可以帮助自己思考,并形成自己的知识沉淀。在这里推荐大家使用Notion。同时,不要害怕动手,要勇于尝试,积极实践。可以从成功跑通一个state-of-art的工作的代码开始,仔细阅读代码,从代码中再次体会作者的思路。如果有了自己的一些想法,以这份代码为基础,快速的做一个验证,看看最终效果怎么样。这样几轮下来之后,往往可以得到一个比较切实可行的idea。

Writing阶段:确定贡献点并学会协作

如果有了一个结果不错的idea,那么可以进入写作阶段。但是在此之前,你必须可以十分清晰的回答这样一个问题:

这篇文章的main contribution是什么?

这个问题非常重要,如果你自己都不知道工作的贡献在哪里,显然更不可能说服读者。这个问题是一篇文章的灵魂所在,2-3个清晰的contribution有助于你的写作和paper acceptance。接下来你需要使用git与导师写作,需要维护一个私有的github仓库,以存放LaTex源码和program code。实际上,组内有一个叫做sandbox的模板可供使用,在你开始写作之前,请务必使用该模板。其tree结构和说明如下:

├─code // 存放program code ├─data // 存放dataset └─report ├─figures // 存放LaTex需要用到的figure └─tex // 存放LaTex模板

如果合作的导师需要用到Overleaf的话,还是建议使用与Github同样的目录结构,同时,将Overleaf的project克隆到本地作为一个git仓库进行管理,写作还是在本地。可以在Overleaf上打开你的项目,在menusyncGit中获取克隆地址。另外,在使用LaTex写paper的时候,一定注意勤换行,避免协作者在使用git拉取更改的时候遇到conflict。在这个阶段,你要学会熟悉的使用git latexdiff,一个用它生成的diff文件可以让协作者对你的更改一目了然。在这里强烈推荐大家仔细阅读Jiahui的blog:

  1. Flip-00 指南

另外,还有一件需要特别注意的事情:

当你完成阶段性writing/revision之后,一定要及时提醒导师

导师同时与多个学生协作,平时也工作繁忙,如果不及时提醒,你的paper很可能就会被遗忘,因此耽误的进度只能由你自己负责。

拟投稿阶段:敲定Paper Tittle并寻找合适的Venue

当完成了writing,你需要给自己的paper拟定一个好的标题。一般来说,你需要拟出3-5个tittle供导师做出最终决定。此外,如果是AI相关的工作,为自己的algorithm起一个响亮,顺口,好记的名字也是十分重要的,便于记忆的名字可以给读者留下良好的印象。最经常使用的方法是使用关键字的首字母缩写,在此基础上尽量做到:

  1. 简洁

  2. 可以顺畅发音(比如我们研究组的缩写tulip,可以作为一个单词读出来)

  3. 具有一定的意象或含义(再次比如我们研究组的缩写tulip,英文含义是郁金香)

在这里给大家推荐一个神奇的网站acronymify,它可以根据你输入的句子,自动组合成缩写形式,并可以按照评分、词长等进行排序。在做这两件事之后,你需要为你的paper寻找一个合适的Venue发表,可供参考的链接是:

  1. CORE Rank
  2. CCF-Deadlines

在CORE Rank中你可以找到期刊/会议在澳洲的排名,在CCF-Deadlines中你可以找到CCF推荐会议的等级和即将召开的会议有哪些。合理地使用CCF-Deadlines可以帮助你规划自己一年的时间表。

投稿阶段:耐心、好心态、retuttal与不折不挠

投稿之后,要调整好心态,耐心等待结果,期间可以尝试开始新的工作,不要让自己荒废下来。如果paper进入response/rebuttal,那么一定要打起120分的精神,认真应对!这是你在该期刊/会议的拼命一博!如果能成功挽回持有负面评价的reviewer的一票,就是成功!对于期刊,组内有response的LaTex模板。本人主要给大家分享做rebuttal的经验,因为本人通过rebuttal,成功拉回2票,才有了这次ICPP ‘22的acceptance。

  1. 撰写原则

    1. 言简意赅(少说废话,抓住重点,用最少的话让反面意见或中立意见的审稿人改变态度)

    2. 结构清晰,语法没毛病 (排版组织)

    3. 客观陈述事实

    4. 千万不要犯“思想政治错误” (比如不礼貌、抓审稿人文字毛病、破坏双盲评审规定)

  2. 内容组织

    1. 首句表达感谢。因为即使是反对你的审稿人,也拿出了很多宝贵的时间审阅你的论文,因此作为作者要学会感恩。
    • e.g. We thank the reviewers for acknowledging the strong performance of this work and the quality of the presentation. We address the comments as follows.
    • e.g. We thank the reviewers for their positive and constructive feedbacks.
    • e.g. Thanks to all the reviewers for their time and feedback. We provide some specific responses and clarifications.

    1. 第二句再次强调本文贡献
    • e.g. First, we'd like to emphasize the contributions:
    • e.g. We would like to emphasize that the novelty of the method:

    1. 解答公共问题。如果有几句话想让所有与会审稿人看到,那么这几句话一定要放在最前方。原因也很简单,每个人不可能把你的rebuttal全篇看完,但是前几句他们还是都会瞧几眼的。如果rebuttal有篇幅限制,这一点就更为必要。
    • e.g. We will re-structure the paper to improve clarity. We will also add more details (and add an example, space permitting) and clarify our contributions (Section 4.4) for better understanding. We will also fix minor typos.

    1. 解答特有问题
    • e.g. Then we address major concerns below.
    • e.g. We thank the reviewer for the encouraging comments. (感谢支持者)
    • e.g. 对于反对者,小毛病大方承认对关键问题则必须有理有据的反驳

实际上,许多会议每年召开完毕之后会把每篇投稿的rebuttal放出来供大家学习,这里我给大家分享AI领域顶会NeurIPS开放访问rebuttal链接:

  1. NueurIPS历年投稿rebuttal
  2. OpenReview

在openreview上,你可以搜索感兴趣的会议,并看到开放出来的一些response/rebuttal。如果最终你的paper还是被reject掉了,不要气馁,根据有价值的review认真做revision,提升文章质量,然后寻找下一个venue。但你需要保持精气神,并且moving fast。

最后,愿认真做科研的小伙伴们都能顺利地发出自己的第一篇paper,并且持续产出!