对于那些想要从事人工智能项目的开发人员来说,他们需要具备哪些必要的技能?我们就这个问题采访了22位相关企业的高管,以下就是对他们采访的总结归纳。
关于数学
- 数学方面技能的掌握取决于研究深度。人工智能并不依赖与任何编程语言,这意味着开发人员需要掌握处理数据相关的其他技术,其中包括了算法,代数和微积分。具备这些技能的重要性显而易见。同时我们还需要了解人类对于自然语言处理的思维过程,其中的上下文联系,隐含意图以及所描述事物间的联系等等。这需要深入洞察人类的思维过程。
- 数学专业的学生更容易成为一名人工智能项目中的软件开发人员,因为他们已经具备了统计学的基础,而这对人工智能或机器学习是非常重要的。相反一名普通的软件开发人员不可能简单的通过某些Python库的运用就能解决实际问题。
- 统计学,数据建模,大数据,深度学习和递归神经网络等知识与一种或多种编程语言相结合,对于试图进入人工智能的开发人员来说是一个比较好的出发点。进而把实际问题从更高层次的角度抽象出来,从而使的计算机能够理解并进行处理。
- 良好的数学知识和数据科学的学术背景,通过不同方式(各种研讨会,个人博客等)跟上这个快速发展的领域。擅长处理大数据集。能够快速掌握机器学习的工具集并将其集成到更大的项目中。
- 对众多相关数学知识进行梳理,并建立自己的人工智能知识体系。比如, 了解数据类型,掌握机器学习,相关算法,决策树和神经网络。还要了解业界的知名项目(开源项目,Apache,谷歌,IBM,微软,R,Python等等)。
关于数据科学
- 能够读懂数据,挖掘数据中信息,发现数据中的问题,对数据敏感,能够绘制数据地图。精通Python和Java。了解TensorFlow,Café和Torch等主流人工智能库。 能够从HDFS数据湖或数据库中提取正确的数据。 知道如何使用过滤器。 数据的质量很重要。 了解如何策划和准备数据。
- 通过各种渠道获取理论基础知识(比如Coursera上的相关课程)。 开始为一家人工智能公司工作或在现有工作中进行一些人工智能方面的实践。 我们只是让开发人员使用神经网络来构建应用程序,以了解图像何时被完全正确呈现。了解人工智能框架和Spark。
- 数据科学家要具备计算机科学,分析部署,ETL等知识。注重可用数据,掌握训练系统的方法,从而获得最佳的训练结果。通过相关培训或黑客马拉松提升自身技能。 如果从事机器学习算法研究,与语言学团队合作对机器学习数据进行预处理。
- 能够灵活熟练地使用开源工具,专注于业务问题解决。通过R和Python进行迭代建模,并使用Scala进行分布式计算。
其他
- 后端开发人员需要了解机器学习和大量关于人工智能的开源技术。 前端开发人员需要了解聊天机器人及其会话流程。
- 开始尝试任意一种人工智能技术,进行不同于传统的思维方式来解决问题。这点非常重要。人工智能开发人员主要的工作就是“教”机器。把问题进行分解并思考如何提高训练的有效。然后观察训练的过程并对并重新成为学习基础。 想想你需要系统理解的核心概念是什么。 有很多途径可以做你正在寻找的东西。 获得不同的心态并解决手头的问题。
- 如今,由于人工智能的最新应用需要高度专业化的理论和实践知识,通过研读相关的博士学位正迅速成为最基本要求。
以上为译文。
本文由北邮@爱可可-爱生活 老师推荐,阿里云云栖社区组织翻译。
文章原标题《what-skills-do-developers-need-for-ai?》,译者:friday012,审校:。
文章为简译,更为详细的内容,请查看原文。