找论文,读论文,用论文,写论文

找论文

Source of papers

  • Twitter: 关注学者的账号;
  • ML Subreddit (machine learning)
  • NIPS/ICML/ICLR (machine learning) [顶会]
  • Arxiv: 会有只有摘要的未完成文章, 占坑专用;
  • dblp: 几乎是计算机领域最全的数据库;
  • IEEE: 也较全。

Reading list

  • Get a set of papers(5 is enough);
  • Skim all of them.If one paper is nonsense, just forget it.Find the most valuable paper,try to understand it and add some of its references to the reading list;
  • Jump to the other papers of reading list.

读论文

How to read a paper

  • The first time: Read the title/abstract/figures [ie.the graph or table];

  • The second time: Read intro/conclu/figures/skim the other parts. Actually, to persuade reviewer to accept your paper, the abstract/intro/conclu are always the most clear part.

  • The third time: Read but skim the maths;

  • The forth time: Read the whole paper but jump over the nonsense part. Which part is nonsense?Parts that are not quite relative to the main topic.

  • 标题+作者

    *表同等贡献

  • 摘要

    代码的链接一般放摘要的最后一句话

  • 结论

  • 导言

    摘要的扩充: 一般介绍已有的工作和本文的工作

  • 相关工作

本工作运用到的已有工作: 联系、区别

  • 模型

    重要章节

  • 实验

  • 评论

    文章要讲好故事?

用论文

用论文, 即理解论文的数学公式和代码.

How to deal with maths and code

  • Read/download it, run it and try to reproduce it

What should I get after reading the whole paper?

  • What did the authors try to accomplish?
  • What were the key element of the approach?
  • What can I use?
  • What other references do I want(not) to follow?

Frequency

  • Reading two or three papers a week is enough;

写论文

深度学习代码

深度学习的代码几乎都由3个小组件组成:datasetmodeltrain

dataset

dataset,即对训练和测试用的数据集进行预处理,它构建了整个AI模型的输入和输出格式。在这一组件中,我们要对数据集的内容、架构有足够的了解,并对数据的存储方式存储位置(如是否要分布式等)。dataset组件作为一个主要处理数据的组件,其写作与train组件息息相关。如,基于一次能存入gpu的数据的大小,我们要选择合适的batchsize,而batchsize直接影响了learning rate的大小。因此,dataset组件和model组件都应该放在train组件之前完成。

当论文的主要工作为数据处理时,dataset组件更要好好写。

model

model,是整个深度学习代码的骨架,也决定的AI模型的输入和输出格式。由于当前很多数据集的输入和输入模式都是有现成的框架可以参考的,如GNN有PyG、CV有ImageNet等,所以更加推荐的是先写好dataset,在写model,并对model进行测试。

train

train,构建了模型的训练策略和评估方法。无论论文的创新点在何处,train组件都是最重要和最复杂的组件。除网络架构以外的超参数,基本都要在train模块中调节。此外,代码作为论文的重要部分,它为论文提供的不仅仅是想法的实现,还有润色论文的可视化信息,如数据、表格、曲线等,而这些都是train组件的一部分。

有时,当训练一个模型要很长时间时,我们可以将每次的模型参数都存储下来,而这也是在train模块进行的。