本文已翻译成中文,点此查看。
本周的“询问数据科学家”专栏收到了来自我的母校斯沃斯莫尔学院(Swarthmore)一名大一学生的问题。请将你与数据科学相关的困惑发送至mailto:[email protected]。请注意,为了清晰和简洁,问题会进行编辑。之前的帖子包括:
问:我目前是斯沃斯莫尔学院的大一学生,我对机器学习和深度学习非常感兴趣。我本来这学期想选修人工智能课程;不幸的是,由于计算机系难以应对暴增的兴趣,没有大一学生能选上这门课。
我目前正在上吴恩达(Andrew Ng)在 Coursera 上的机器学习课程,大约2-3周后会完成。接下来,我计划学习你们的fast.ai MOOC,我在 hacker news 上看到了它。
我知道您可能很忙,但我能请教一些关于机器学习以及我的计划的问题吗?在完成吴恩达的 Coursera 课程和 fast.ai 课程后,我该如何继续学习机器学习?看起来似乎只有两个选择:1.) 做研究,和 2.) 参加宾夕法尼亚大学(UPenn)的研究生级别课程(从斯沃斯莫尔学院的学生来看,似乎很难选上,尤其是我这样的大一新生)。非常感谢您的任何建议。
答:一般来说,我很乐意回答问题,尽管可能需要一些时间(我的收件箱真是爆炸了)。对于技术问题,最好先到我们的fast.ai 论坛上提问。即使您没有上我们的课程,论坛上也有大量有趣的讨论。对于职业相关或一般性问题,我通常会在我的“询问数据科学家”专栏中回答。
即使没有斯沃斯莫尔学院或宾夕法尼亚大学的人工智能课程,你也永远不会缺少与深度学习相关的事情可做,也不会缺少继续学习的方法。我们的 MOOC 需要 70 小时的学习才能完成,如果你对我们让你开始的任何 Kaggle 竞赛感兴趣,可能会花费更长时间。我们将在几个月后发布第二部分,时间投入类似,但会有更多深入学习的途径、推荐阅读的论文以及扩展工作的方法。
如果可以的话,当然可以参加官方课程,但你并**不一定需要**官方课程的学历或资源(对于不在大学或所在大学不提供人工智能课程的人来说,别担心:你不需要它们!)。我们的一位学生,是一名没有研究生学位的经济学专业毕业生,刚刚被著名的Google Brain residency项目录取了!另一位学生根据我们课程的内容开发了一种新的欺诈检测技术,并在工作中获得了奖金。其他几位学生也获得了实习和工作机会,或者在当前工作中转到更令人兴奋的机器学习项目团队。
学历有时有助于敲开大门,特别是如果你是科技领域代表性不足的少数群体(因此面临更严格的审视)。
然而,还有许多**更有效的方法**来展示你的名字和工作成果:
- 写一篇受欢迎的博客文章(下文会详细介绍)。
- 创建一个有趣的应用程序并将其发布到网上。
- 在learn machine learning subreddit 或fast.ai 论坛上帮助他人解答问题。利他主义对我来说很重要,但这并不是我推荐帮助他人的唯一原因。向他人解释你学到的东西是**巩固自己理解的关键部分**。
- 自己做实验,并通过博客或 GitHub 分享结果。我们的一位学生 Slav Ivanov 曾问过关于在风格迁移中使用不同优化器的问题。Jeremy 建议他尝试一下,Slav 写了一篇很棒的博客文章,分享了他的发现。这篇文章在 reddit 上非常受欢迎,使 Slav 的工作被更多人知晓。
- 为开源项目做贡献。这里,我们的一位学生分享了他为 TensorFlow 贡献的积极经历。仅用3行代码,他就将 TensorFlow 在 Android 上的二进制文件大小减少到了不到 10MB!
总的来说,我建议你开始一个你感兴趣的副项目(使用深度学习),这样你就有东西可以做了。
你(没错,就是你)为什么应该写博客
如果能给我年轻时的自己提建议,最重要的就是早点开始写博客。以下是一些写博客的理由:
- 它就像一份简历,而且更好。我知道有几个人就是因为博客文章而获得了工作机会!
- 帮助你学习。组织知识总能帮助我整合自己的想法。检验你是否理解某事的一个方法是看你是否能向他人解释清楚。博客文章是做到这一点的好方法。
- 我通过我的博客文章收到了参加会议和发表演讲的邀请。我曾受邀参加 TensorFlow Dev Summit(太棒了!),原因是我写了一篇关于我为什么不喜欢 TensorFlow 的博客文章。
- 认识新朋友。我认识了几位对我的博客文章做出回应的人。
- 节省时间。任何时候你通过邮件多次回答同一个问题,都应该把它变成一篇博客文章,这样下次有人问起时,你就更容易分享了。
为了启发你,这里列出了一些参加我们课程第二部分的学生写的博客文章示例:
我喜欢上面所有的博客文章,而且我认为它们都不太令人望而生畏。它们都是易于理解的。
开始写博客的技巧
Jeremy 多年来一直建议我开始写博客,而我的回应总是“我没什么可写的。” 这并非实话。我的意思是,我感到不自信,我觉得我能写的东西已经被比我更有专长或写作技巧更好的人写过了。
事实证明,这没问题!你的文章不必惊天动地,甚至不必新颖,也能被阅读和分享。我刚开始写作时,写作技巧相当薄弱(我在大学选择数学和计算机科学部分原因就是因为这些课程要求写作最少,也没有实验课),但我的技能随着时间在进步。
这里有一些额外的技巧可以帮助你开始写你的第一篇文章:
- 把你喜欢的其他博客文章、文章或研究列一个清单,写下简短的摘要,或者突出你特别喜欢的部分。我的第一篇博客文章的一部分就源于我制作了这样一个清单,因为我不敢相信那么多我认为很棒的文章和帖子竟然没有更多人读过。
- 总结你在参加的会议上学到的东西,或者在你正在上的课上学到的东西。
- 任何你写过两次的邮件都应该变成一篇博客文章。现在,如果有人问我一个我认为其他人也会感兴趣的问题,我就会试着把它写出来。
- 不要做完美主义者。我的第一篇博客文章花了9个月才完成,它传播得很广,但从那以后我的阅读量却屡创新低。我 2017 年的个人目标之一是更快地发布我的文章,而不是在发布前过于纠结,因为那样只会增加压力,结果我写得反而更少了。
- 你最适合帮助那些比你落后一步的人。材料在你脑海里还是新鲜的。许多专家已经忘记了作为初学者(或中级学习者)是什么感觉,也忘记了为什么某个主题刚接触时很难理解。你特定的背景、特定的风格和知识水平会给你的写作内容带来不同的视角。
- 一年前对你有什么帮助?一周前对你有什么帮助?
- 如果你在纽约、芝加哥或旧金山是一名女性,我推荐你加入当地的Write/Speak/Code 分会,这是一个鼓励女性软件开发者写博客、在会议上发表演讲以及为开源做贡献的团体。
- 生气。最终促使我开始写作的催化剂是某个名人说了一些让我生气的话。气到我不得不解释他思考方式的所有错误之处。
- 如果你想知道实际的操作细节,Medium让入门变得超级简单。另一个选择是使用Jekyll 和 Github Pages。我个人可以推荐这两种方式,因为我有两个博客,每种都用了一个。
你通过学习 MOOC 课程走在正确的道路上,再加上副项目、参与在线社区和写博客,你将有更多学习和认识他人的机会!