超高薪的机器学习工程师和如今的前后端们有什么不同?
作者头像
  • 刘雯蕊
  • 2020-05-03 10:51:57 4

机器学习工程师与软件工程师:对比与思考

近年来,人工智能领域蓬勃发展,机器学习工程师的需求也随之激增。本文基于吴恩达的一个播客,探讨了软件工程师与机器学习工程师的区别,希望能为关注机器学习的读者提供一些有价值的见解。

软件工程师与机器学习工程师的角色

截至2018年,美国已有超过100万名软件工程师,这一数字还在持续增长。与此同时,机器学习技术迅速发展,催生了大量自动化和决策应用,推动了机器学习工程师职位的快速增长。

机器学习是一种通过数据训练来做出决策的技术,尤其在深度学习领域得到了广泛应用。这些技术被广泛应用于搜索推荐、语音识别、智能助手、人脸识别和广告等领域,为企业创造了巨大价值。

软件工程师的工作重点

软件工程师主要负责构建大规模的数据网络。数据流处理是所有大型软件项目的基石,软件工程师需要选择合适的算法、编程语言和系统组件。

  • 编程语言:编程语言是软件工程师的基础。例如,Python因其动态性和易用性而受到欢迎。
  • 数据结构:不同的数据结构在计算机中的运行效率各不相同。软件工程师需要了解这些特性,以便更好地处理特定问题。
  • 算法:在技术面试中,基础算法如排序和搜索非常重要。时间复杂度是衡量算法性能的重要指标。

尽管很多软件工程师对自己的系统感到自豪,但简单的系统往往更容易扩展。优秀的软件工程师懂得追求简单和高效。

机器学习工程师的工作重点

机器学习工程师则专注于构建决策网络,这些决策往往是非线性的,难以解释。他们通过数据训练模型,使其能够做出决策。

  • 模型构建:机器学习工程师需要决定何时使用深度模型或贝叶斯近似,以及哪些系统更适合设备上的微调。
  • 模型部署:许多公司正在努力优化模型的部署,如苹果公司在终端设备上部署模型,谷歌和Facebook则关注模型的运行效率。
  • 影响评估:机器学习的应用可能带来伦理问题,如机器取代人类工作,以及训练数据的透明度问题。

机器学习工程师的主要挑战在于,他们需要以模块化的方式提取有用的代码,以便快速启动项目。简单而通用的学习算法更具优势,能够更好地扩展。

简单至上

无论是软件工程师还是机器学习工程师,他们都追求简单高效的方法。优秀的工程师不仅要有创造力,还要具备高效率。他们不满足于现有的框架,而是寻找突破常规的方法。

软件工程师可以通过引入新工具或数据结构来简化流程,而机器学习工程师则通过优化模型部署来提高效率。随着自动化程度的提高,机器学习工程师将成为推动公司发展的关键力量。

结语

本文的灵感来源于Lex Friedman与Andrew Ng的播客对话,他们讨论了在线教育对社会的影响以及如何教授计算机科学和技术发展的问题。本文由CSDN翻译,转载时请注明出处。

今日精彩

当我们习惯了使用Google、百度搜索、Kindle阅读、淘宝购物、QQ和微信聊天时,很少有人意识到这些服务背后的支撑力量——成千上万台Linux服务器。开源技术和Linux在现代科技发展中扮演着至关重要的角色。五一假期期间,CSDN将为大家介绍开源的历史。

    本文来源:图灵汇
责任编辑: : 刘雯蕊
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
高薪前后如今机器工程师不同学习什么端们有
    下一篇