博客就像简历,但更好。我曾因我的博客文章被邀请发表主题演讲,我也知道有人因为博客文章而获得了工作机会。我在之前的几篇文章中鼓励过人们开始写博客,我甚至要求我的计算线性代数课程的学生写一篇博客文章(尽管不要求他们发表),因为良好的技术写作能力在工作场所和面试中很有用。此外,向别人解释你学到的东西也是巩固知识的一种方式。我之前给出了开始写第一篇博客文章的建议列表,现在想在这里提供一些更高级的建议。
你的读者是谁?
我的演讲教练关于准备演讲的建议,我认为也适用于写作,那就是选择一个特定的读者作为你的目标受众。尽可能具体。 如果这是一个真实的人(即使他们实际上不会阅读你的文章或参加你的演讲),那也很棒,尽管不一定非得是真实的人(如果不是,你需要更彻底地编造他们的细节)。无论如何,他们的背景是什么?他们对这个话题可能有什么样的问题或误解?在不同的时候,我心中的那个人可能是朋友或同事,我的学生,或者年轻时的我自己。
对读者不明确会导致文章混乱:例如,我见过一些博客文章既包含入门级内容(例如,定义什么是训练集和测试集),也包含非常高级的内容(例如,描述复杂的全新架构)。专家会觉得无聊,而初学者则会迷失。
要做和不要做
当你阅读别人的博客文章时,思考一下哪些地方做得好。你喜欢它的什么?当你阅读你不那么喜欢的博客文章时,思考一下为什么?什么会让文章对你来说更有吸引力?请注意,不是每篇文章都能吸引所有人。有目标读者意味着有一些人不是你的目标读者,这没关系。有时我也不是别人的目标读者。正如所有建议一样,这基于我的个人经验,我确信存在例外情况。
通常效果不错的事项
- 汇集许多有用的资源(但不要包含所有内容!价值在于你的精心筛选)
- 要提供动机和背景。如果你要解释一个算法如何工作,首先给出一些现实世界的应用例子,或者它与其他选项有何不同。
- 人们被几种不同的东西说服:故事、统计数据、研究和视觉效果。尝试混合使用这些。
- 如果你使用大量代码,尝试在 Jupyter Notebook 中写作(可以转换为博客文章)或 Kaggle Kernel 中写作。
不要做的事情
- 不要重复造轮子。如果你知道其他地方有对某个内容的精彩解释,就链接到它!包含一句引用或一句话总结你链接到的资源。
- 不要试图从第一性原理开始构建一切。例如,如果你想解释 Transformer 架构,不要从定义机器学习开始。你的目标读者是谁?已经熟悉机器学习的人会失去兴趣,而那些对机器学习完全陌生的人可能不会寻找关于 Transformer 架构的文章。你可以假定你的读者已经具备一定的背景(有时明确说明这一点很有帮助)。
- 不要害怕表达观点。例如,TensorFlow(2016年左右,急切执行模式之前)让我觉得自己很笨,尽管其他人似乎都在说它有多棒。我写一篇博客文章表达这个观点时非常紧张,但很多人积极响应。
- 不要太平淡或枯燥。如果人们失去兴趣,他们就会停止阅读,所以你需要吸引他们(并让他们持续被吸引!)
- 不要抄袭。始终引用来源,直接引用的内容使用引号。即使在你最初收集资料和做笔记时也要这样做,以免日后犯错,忘记哪些内容是别人的。抄袭他人的作品是错误的,最终会损害你的声誉。引用并链接那些给你提供想法的人。
- 不要过于笼统。你不必涵盖一个主题的所有内容——专注于你最感兴趣(或最让你沮丧)的部分。
花时间把它做好
正如 DeepMind 研究员兼牛津大学博士生 Andrew Trask 所建议的:“进入深度学习社区的秘诀是高质量的博客写作……不要只写一篇还过得去的文章,要花上整整三四天时间在一篇文章上,并尽量使其尽可能简短、简单(但完整)。” 说实话,我在许多最受欢迎的文章上花的时间远不止三四天。
然而,这并不意味着你需要是一位“天生有写作天赋”的人。我在德州一个小城市的穷困公立高中上学,那时写作任务很少,也没有真正学过如何写一篇正式的论文。大学第一学期的入门英语课凸显了我在写作上的挣扎,之后我尽量避免需要大量写作的课程(我之所以选择数学和计算机科学,部分原因在于它们是我知道的唯一涉及最少写作且没有实验课的领域)。直到我三十多岁,并且想开始写博客时,我才开始练习写作。我通常会经历许多许多草稿,并进行大量的修改。正如大多数事情一样,技能不是天生的;它是通过刻意练习建立起来的。
注意:我意识到许多人可能没有时间写博客——也许你是家长,正在应对慢性病,因有毒的工作而精疲力竭,或者宁愿在空闲时间做其他事情——这完全没问题!即使不写博客,你仍然可以拥有一个成功的事业,这篇文章只针对对此感兴趣的人。
写一篇你的学术论文的博客版本
我对人工智能研究人员的最大愿望是,有更多人能为他们的论文写配套的博客文章
我对人工智能研究人员的愿望清单 https://#/Cel5x32K9O pic.twitter.com/AyYBqwYDFX
— Rachel Thomas (@math_rachel) 2018年4月11日
阅读你博客文章的人可能比阅读学术论文的人多得多。这是一个将你的信息传达给更广泛读者群的机会,采用更具对话性和易于理解的格式。你可以而且应该从你的博客文章中链接到你的学术论文,所以无需担心包含所有技术细节。如果人们想了解更多细节,他们会阅读你的论文!
请查看这些优秀的学术论文和博客文章配对,获取灵感:- Gender Shades(博客文章和可视化)和 Gender Shades: Intersectional Accuracy Disparities in Commercial Gender Classification(论文),作者 Joy Buolamwini 和 Timnit Gebru - The Problem with “Biased Data”(博客文章)和 A Framework for Understanding Unintended Consequences of Machine Learning(论文),作者 Harini Suresh 和 John Guttag - Introducing state of the art text classification with universal language models(博客文章)和 Universal Language Model Fine-tuning for Text Classification(论文),作者 Jeremy Howard 和 Sebastian Ruder
我通常建议新博客作者,你的目标读者可以是“6个月前的你”。对于研究生来说,你可能需要将其改为“2年前的你”。假设你的博客读者与你的论文审稿人不同,他们没有阅读过相关的研究论文。假设你的读者很聪明,但不在你的子领域。如何向一个不同领域的朋友解释你的研究成果?
开始写第一篇文章
以下是我之前分享过的一些技巧,可以帮助你开始写第一篇文章
- 列一个清单,包含你喜欢的其他博客文章、文章或研究的链接,并写下简短的摘要或突出你特别喜欢的部分。我的第一篇博客文章的部分内容就来自我做的这样一个清单,因为我不敢相信更多人没有阅读那些我认为很棒的文章。
- 总结你在参加的会议或正在上的课程中学到的东西。
- 任何你写过两次的电子邮件都应该变成一篇博客文章。现在,如果有人问了我一个我认为别人也会感兴趣的问题,我就会尝试把它写成文章。
- 你最适合帮助那些落后你一步的人。你对材料的印象还很新鲜。许多专家已经忘记了作为初学者(或中级者)是什么感觉,也忘记了为什么第一次听到这个话题时会难以理解。
- 一年前什么会帮助你?一周前什么会帮助你?
- 如果你想知道具体的操作流程,Medium 使入门变得超级简单。另一个选择是使用 Jekyll 和 Github Pages。我个人可以推荐这两种方式,因为我有两个博客,各用一种(我的另一个博客在这里)。