原文:
towardsdatascience.com/how-id-learn-machine-learning-again-after-6-years-16847fb2b72c
到这个月为止,我在机器学习领域已经积累了 6 年的经验。
我第一次接触机器学习是经典的机器学习(想想支持向量机、k-means)。当时,我觉得这个话题相当无聊:理论太多,用不了它来构建任何东西。但随着我上了越来越多的机器学习课程,这种看法发生了改变。
由Arian Darvishi在Unsplash上的照片
我记得当时坐在自然语言处理(NLP)与神经网络相关的讲座中。那位伟大的讲师向我们展示了最新 NLP 模型参数数量的图表:它们的数量达到了数十亿!
他接着说:“哦,那个图表已经过时了。现在的模型更大了。”
哇!见证这样的进步是多么美好的时光;从数百万到数十亿,再到……万亿个参数。在大约那个时间,我对所有深度学习的东西都着迷了,上了所有可用的 AI 课程,还有一些在线课程(Coursera,MIT 深度学习讲座)。
我对机器学习和深度学习的了解越多,就越意识到:总有更多东西可以去发现。6 年后,我可能比过去的机器学习自我知道得稍微多一点,但我仍然是一个绝对的初学者。
以最近的一个例子来说明这一点:批量归一化。
批量归一化是一种广泛使用的技巧,用于解决神经网络中的协变量偏移问题。换句话说,它通过归一化来调整网络层的输入。
或者,这就是我多年来一直认为的!结果证明,我完全错了:在NeurIPS 2018 论文中,研究人员表明,批量归一化并没有减少协变量偏移,而是在训练过程中稳定了梯度——这完全是另一回事!而且这是一篇 2018 年的论文!所有这些年,信息就在那里,触手可及。而且就在两周前——多年以后!——我偶然发现了它。太神奇了。
在某种程度上,一个人总是在开始,重新调整,纠正归纳偏差。
而这一点至今仍然适用!尽管对人工智能的兴趣急剧上升(甚至像博世这样的传统制造公司也设立了专门的 AI 研究机构www.bosch-ai.com),但今天你绝对可以学习机器学习。如果你对学习机器学习感兴趣,就去追求它吧。如果你需要或希望的话,你可以在业余时间做这件事。互联网使任何主题的学习民主化,机器学习也不例外。
在消除这个目标阻碍之后,我们可以专注于学习机器学习。在思考我过去几年与机器学习的关系时,我制定了一套粗略的指导方针。如果你想得到一个更详细的清单,请查看这些两篇文章 文章。
1. 追求自己的编码项目
你想对图像进行分类吗?去做吧。生成音乐?去做吧。翻译文本?去做吧。有大量的课程、教程和 Jupyter/Colab 笔记本可以帮助你快速进入感兴趣的领域。如果你对自己的项目有动力,你会学得更快——并且享受这个过程。
今天开始(而不是 6 年前或更早的时候)的优点在于有丰富的资源可供利用。像Kaggle、GitHub和 Medium 这样的平台提供了数据集、代码和逐步教程,可以帮助你以动手实践的方式学习和实施新项目。在 Kaggle 和 Colab 上,你甚至可以免费获得用于机器学习实验的快速 GPU。它们使你可以轻松地尝试不同的技术,提供交互式环境来快速测试和改进你的代码项目。
2. 接受深度工作以应对挑战性问题
这是一个我在旅途中相对较晚才遇到的概念。它是由计算机科学教授 Cal Newport 提出的。他主张,并且我也同意他的观点,要在具有挑战性的事物上取得进步,你需要不间断的专注时间。
这种应对心理挑战的方法与机器学习完美契合:阅读论文很难。编码很难。没有中断的空间,但有很大的成长空间。
每天专注于单一主题的连续三个小时似乎是一个良好的起点。
3. 定期阅读论文
关于初学者应该阅读多少论文,或者是否应该阅读,存在争议。我建议:是的,读一些。
原因如下:论文是一个关于非常狭窄主题的独立讲座。如果它来自顶级机器学习会议,它必须写作简洁明了,并且需要很好地解释研究。阅读它容易吗?不,绝对不容易,但学习曲线很陡峭。
对于初学者,我推荐以下步骤开始阅读论文:首先,选择一个你个人感兴趣的研究领域(参见第 1 点)。然后,阅读该领域的一篇综述。在这篇综述之后,你将对该领域有一个非常粗略的指导。接下来,从顶级机器学习会议(ICLR、ICML、ECLM、NeurIPS、CVPR、AISTATS 等)中选择该领域的十篇左右论文(实际论文,而非综述),它们不必是最新的。为了找到免费可用的论文(即,不在付费墙/订阅之后),你可以使用arXiv(在搜索框中输入标题、主题、搜索短语)或使用你选择的网络搜索。
对于提到的那些大型会议,论文通常通过 OpenReview 或会议论文集来处理。因此,搜索例如“NeurIPS 2017 会议论文集”将引导你到一个包含 2017 年会议版所有接受论文的网页(a webpage with all accepted papers for the 2017 conference edition)。通过为其他会议重复此搜索,你可以快速构建一个出版物列表。(对于更深入的讨论,请参阅我的后续文章)
在创建你的列表后,以任何顺序阅读它。
预计最初每篇论文需要花费几个小时,但阅读时间将在阅读同一领域的约 20 篇论文(例如,所有 NLP)后显著缩短。关于这个话题的稍微深入的讨论,请参阅这篇文章。
4. 重新实现(部分)论文
在投入时间到自己的项目之后,下一步通常自然而然地到来:想要改进你所构建的内容。这正是深入学习真正开始的地方!到目前为止,你的实践经验已经为你打下了坚实的基础。同时,阅读论文让你接触到了许多不同的方法。
下一步是将现有研究与自己的项目相结合。首先,选择一篇直接与你的编码项目相关的论文。如果你在从事图像分类,你可以阅读关于迁移学习、注意力机制或卷积神经网络(CNNs)的最新进展的论文。同样,如果你的项目涉及自然语言处理,你可以深入研究关于转换器、微调预训练模型或多语言嵌入技术的作品。
5. 接受泛化而非专业化
对于初学者来说,现在是学习广泛知识的最佳时机:你可以自由地选择任何子领域。完成一个领域的项目后,转向下一个。是的,你将再次成为初学者,但这种情况发生在任何转换机器学习领域的任何人身上。通过从各个研究领域进行项目,你为未来的研究建立了更广泛、更稳定的基石。
对于你未来的进步,拥有许多机器学习领域的经验实际上是有益的:它允许你从某一领域挑选方法,并将其应用于另一领域的问题。
6. 简要研究经典机器学习
记得在我之前的介绍中,我提到过经典机器学习并没有引起我的兴趣吗?但随着时间的推移,这种情况已经改变了:我阅读了一些研究论文,它们将经典方法如 k-means 聚类与深度神经网络的强大功能相结合。这种混合方法表明,基础方法在当今的深度学习时代仍然很重要。
简要研究经典机器学习有助于你理解人工智能领域的谦逊起点,从统计学和基本算法到在数千个 GPU 上以分布式方式训练的多模态基础模型。
成为一个厨师,自己混合各个领域。
2206

被折叠的 条评论
为什么被折叠?



