结构。一旦你确定了你的核心贡献,就有了一个写论文的默认配方。上层结构默认的是引言/介绍、相关工作、模型、实验、结论。当我写我的引言时,我发现可以以相关评论的形式写下一些条理分明的顶层叙述,然后再填写下面的文本,这会很有帮助。我喜欢围绕单个明确的点来组织我的段落,并且这个观点在第一段就会给出,并用该段的剩下部分来支撑这个观点。这样的结构可以让读者轻松地快速略览。然后我们需要一个好的思维流程,可以按以下线索进行:1)X(如果不明显,还要加上对 X 的定义)是一个重要的问题;2)核心的挑战是什么,2)X 上之前的成果已经用 Y 解决的问题,而这一次的问题是 Z;3)在这项工作中,我们做了 W(?);4)这有以下有吸引力的特性,我们的实现表明了什么。你可以稍微调整这个结构,但这些核心的点需要得到明确。再重申一下:论文需要围绕你的确切贡献精准地进行组织。比如说,当你罗列挑战的时候,你需要确切列出那些你将在后面解决的问题,而不要牵扯到你做的与之无关的事情上(你可以在后面的结论中多做一点推测)。不只是在引言中,保持论文整体的合理结构也是很重要的。比如说,当你解释你的模型时,每一节应该:1)解释清楚在这一节做了什么,2)解释核心挑战,3)解释基本方法或之前其他人做了哪些工作,4)解释你的动机和你所做的工作,5)描述它。 打破结构。你也应该灵活应对这些格式,扩展你的论文,为之增加一点香料。比如说 Razavian et al. 的这篇论文(CNN Features off-the-shelf: an Astounding Baseline for Recognition)惊人地将引言做成了一位学生和教授的对话形式。这做得很聪明,我很喜欢。另一个例子,Alyosha Efros 的很多论文都带着一种俏皮的语气,为有趣论文的书写给出了绝佳的案例。比如说他与 Antonio Torralba 合著的这篇论文《Unbiased look at dataset bias》。另一种我见过的效果不错论文是问答式的章节,可能用在附录中。 常见的错误:洗衣清单(laundry list)。洗衣清单是应该避免的一种非常常见的错误,它看起来像这样:「这里有一个问题。现在为了解决这个问题,我们首先做 X,然后我们做 Y,再做 Z,之后再是 Y,就得到了我们的结果。」你应该竭力避免这种结构。每一个点都应该得到证明、给出动机和解释。为什么你要做 X 或 Y?有没有替代选择?其他人做了什么?可以说这样的论文很常见(如果可能的话我倒愿意给出例子)。你的论文不是一份报告,不是你做过的事情的枚举,也不是你的按时间排列的笔记和实验的某种格式化的翻译。论文是对于一个问题、你的方法和其背景的高度处理过的和高度聚焦的讨论。它应该能教给你的同事一些东西,它必须要能证明你的步骤,而不只是描述你做了什么。 语言。随着时间的推移,你会积累一个写论文时的好词词典和坏词词典。具体可以机器学习或计算机视觉论文为例:在你的论文中永远不要出现「study」和「investigate」(这是无聊的、被动的、糟糕的词);而你应该使用「develop」或甚至「propose」这样的词。你不要提出一个「system」或甚至更糟的「pipeline」;相反,你开发了一个「model」。你不是在学习「features」,你是在学习「representations」。而且上帝保佑,你千万不要使用「combine」、「modify」或「expand」。这些多余的、粗陋的术语肯定会让你的论文被拒 :) 提前两周的内部截至时间。并没有许多实验室这样做,但幸运的是飞飞对这个提前两周的内部截至时间限制很是坚定,在这个时间,你必须提交至少 5 页带有所有最终实验的草稿(即使不是最终的数字);这份草稿会进入一个与外部完全一样的内部评审过程(具有相同的评审表等等)我发现这种做法非常有用,因为这会迫使你思考整篇论文的布局,从而总是能让你彰显出一些你必须为这篇论文的思路而运行的关键实验,并让论据思路条理清晰、连贯和有说服力。 关于这一主题的另一个好资源是 Jennifer Widom 写的《Tips for Writing Technical Papers》(https://cs.stanford.edu/people/widom/paper-writing.html)。 写代码 (责任编辑:本港台直播) |