近日,Insight AI 发布了一篇题为《Transitioning from Software Engineering to Artificial Intelligence》的文章,提出一名软件工程师如果打算转行做人工智能,需要掌握这 5 项技能:统计学、机器学习理论、数据整理、调试/调节模型、软件工程。
人工智能?" src="/Upload/Images/2017082817/97876C41E81111D2.jpg" alt=" 如何从一名软件工程师转行做人工智能?" border="0" />
Chris Lesniewski-Laas 正在与 Insight AI 员工讨论 Dropbox 的机器学习问题
关于将机器学习作为一项技能
作为软件工程师关键在于要紧跟框架、标准以及范式的最新状态。软件工程师不停地努力学习,希望把最好的工具运用到工作中。机器学习在当今诸多的应用程序中找到了立足点,很自然地它就变成了许多工程师想要掌握的一项技能。
但是,相比于新框架机器学习更难掌握。作为一个高效的实践者,你需要充分理解该领域的理论、广泛掌握当前最尖端的知识,并且有能力以不确定的方式塑造问题。
网上很多的指南只会简单地教你如何在一个策划好的数据集上训练可以立即使用的模型,并达到一个不错的准确度,然后就结束了。事实上,要成为一个优秀的机器学习工程师必须掌握更加广泛的技能。
以下是我们与超过 50 个湾区和纽约顶尖的机器学习团队对话的精华部分,他们来到 Insight AI,准备好解决其问题并加速实现人工智能应用的普及。
为什么机器学习不只是「另一个工具」
部署机器学习的解决方案不仅仅是在你的数据集上随意训练一个模型。它需要理解以下内容:
换句话说,为了整合、部署以及调试模型,除去工程学的知识,你还需要有统计学、线性代数和优化理论的基础知识。
为一个问题搭建特定的机器学习解决方案,你需要考虑从数据的获取、标记和预处理到构建、更新并服务一个推理模型以及中间的一切等问题。
最终,我们认为可以提前为标准的网站搭建一个数据接口(REST API)。我们不能保证机器学习模型总是收敛或产生有用的输出。学习如何审视和传递有效的机器学习产出的最佳方式是理解其理论基础与数据分类之间联系的方式。
转行人工智能你需要掌握这 5 项技能
1. 统计学
为了理解机器学习,坚实的统计学基础知识是必须的。这包括:
2. 机器学习理论
当你在训练神经网络时,实际上发生了什么?是什么使这些任务可行而其它的不行呢?对待该问题的好方法是,在深入理解理论之前,首先通过图和实例理解机器学习。
需要理解的概念有不同的损失函数工作的方法,反向传播有用的原因,以及计算图究竟是什么。深入理解构建函数模型并且与团队其他成员有效地对其进行沟通非常关键。以下是一些资源,以高层概述开始,逐渐深入。
另一个基础技能是有能力阅读、理解和实验研究论文。起初看上去这似乎是一个艰巨的任务,所以一个不错的方法是从一篇后面附有代码的论文开始,并深入理解其实现。
3. 数据整理(Data Wrangling)
问任何一个数据科学家,他们会告诉你其 90% 的工作是数据再加工(data munging)。它对于应用人工智能的重要性就如同你的模型的成功与你的数据的质量(和数量)高度相关一般。数据在许多方面起作用,可分为以下几个类别:
熟悉数据整理的最好方法是掌握原始的数据集,并尝试使用它。网上有很多的数据集并且许多社交媒体和新闻媒体网站都有着很好的应用程序接口。遵循以下步骤是一个不错的学习方法:
4. 调试/调节模型
对一些不收敛或者包含与调试代码非常不同的过程但是给出合理结果的机器学习算法进行调试。同样地,找到正确的架构和超参数需要坚实的理论基础,良好的基础建设工作可以测试不同的配置。
由于该领域在向前发展,调试模型的方法也在不断进化。以下是从我们的讨论和部署反映了 KISS 理论和软件工程师之间的熟悉度的模型的经验中得来的「合理性检查(sanity checks)」。
许多步骤都能被你的开发技能加速,这引出了最后一个技能。
5. 软件工程
许多应用型机器学习允许你充分利用软件工程技巧,有时需要做些变换。这些技巧包括:
想要知道更多我们推荐的成为优秀机器学习工程师的软件技能,请查看我们的推文:
https://blog.insightdatascience.com/preparing-for-the-transition-to-applied-ai-8eaf53624079
在工作中使用工具
上述资源会帮助你处理切实的机器学习问题。但是应用人工智能领域变化的特别快,最好的学习方式是动手实践并且真正尝试构建一个完整方案解决实际的问题。
待办事项:
找一些灵感,然后深入研究吧!记住,尽管机器学习工程的核心是构建产品,但是它还包含一个不可或缺的理论层面。你会探索一些模型和范式,这些东西在未来也许被证明是不成功的,但是这非常好,因为它会使你更好地了解问题的复杂性。
附言
人工智能是一个令人兴奋、不断变化的领域,它对机器学习工程师的需求很大,铺天盖地的新闻都在围绕这个主题进行报道。我们建议听取一些可靠的资源和新闻,从而将与该领域密切相关的一些创新中分离 PR 和抽象研究。以下是一些有所帮助的资源。
原文:https://blog.insightdatascience.com/preparing-for-the-transition-to-applied-ai-d41e48403447
【本文是 51CTO 专栏机构“机器之心”的原创译文,微信公众号“机器之心( id: almosthuman2014)”】