机器学习变得越来越简单,软件工程却走向了相反的道路……

栏目: IT技术 · 发布时间: 5年前

机器学习变得越来越简单,软件工程却走向了相反的道路……

全文共 2004 字,预计学习时长 7 分钟

机器学习变得越来越简单,软件工程却走向了相反的道路……

图源:unsplash

过去的5年里,机器学习变得愈加容易,机器学习 工具 也正在变得愈加“平民化”。而与此同时,软件工程却比以往更复杂了。然而,这对于软件工程师来说是件好事,但对于机器学习(ML)专家来说则不然。

原因何在?事实上,这是机器学习到软件工程,数据科学到数据分析发展的进程。

机器学习工具正愈加“平民化”

谷歌希望每个人都能接触到机器学习模型的训练,不论他们的技术知识如何。随着机器学习大众化,云服务的市场逐渐增长,理解算法的价值则逐渐下降。

很久以前,我们手动编码算法。后来,Sklearn可以在几行代码中完成同样的操作。原始的TensorFlow很难使用,Keras使其变得容易。如今,谷歌、微软和亚马逊都提供服务用以选择、训练和调整云中模型,然后立即在API后提供模型。

可能在不久的将来,人人都可以训练人工智能。但是随着复杂性的降低,对于经验丰富的软件工程师来说,它只是信手拈来的另一个工具而已。

机器学习发展集中于几门语言上

语言的重要性不必多说。你知道COBOL(面向商业的通用语言)吗?如果知道, 便能获得一份终身工作 。世界金融体系依赖于此,然而如今没有人再学习COBOL了。大多数机器学习是 通过 Python 来实现 ,而软件开发则是通过多种语言实现的。

机器学习变得越来越简单,软件工程却走向了相反的道路……

如果每位机器学习工程师都具备使用Python的经验,那么你的竞争对手就是每一位机器学习工程师。但从软件的角度来说,你只会和使用相同技术的部分工程师竞争。

我总是能看到许多高薪的软件工程师(Ruby onRails)职位,这令我很惊讶,这个职位早在几年前就过时了,但是由于历史遗留问题,许多大公司,如Shopify、Instacart、Kickstarter等,仍在使用它。

你确实可以并且应该学习多种语言,这对于能否成为一名优秀的软件工程师来说至关重要。

软件工程需要更多技能

我们总是期待软件工程师对每个方面都至少有一些了解。

机器学习变得越来越简单,软件工程却走向了相反的道路……

快速草图

后端工程师知道浏览器的工作原理,前端工程师也具备一些数据库的概念。两者都能防止如 SQL 注入这样的安全漏洞。对软件有一个整体理解能使改换专业变得更容易,还能帮助构建端到端解决方案。

广泛的技能组合使软件工程师能更好地适应模棱两可的环境。随着需求的增长,软件工程师经常转行到数据科学领域。但反过来,数据科学家则不太可能去开发软件。随着人们开始将机器学习看作硬编码条件逻辑的替代品,更多软件工程师去涉足机器学习领域。

成为有竞争力的全栈开发者需要数年时间

实际上,优化数据库、构建API微服务以及构建响应式前端这三者之间并没有什么共同点。他们可能是由3种不同的语言实现的。这些领域里几乎没有自动化。

与此相比,全栈机器学习工程师正在实现愈加强大的自动机器学习技术(AutoML),笔者可以为此编写一个SOP(标准操作程序),并将训练分类器的任务交给实习生。软件工程技能组各个部分的自动化淘汰还需时日。

(通常)机器学习是产品的补充而非产品本身

机器学习变得越来越简单,软件工程却走向了相反的道路……

图源:unsplash

少数公司将人工智能作为其核心产品,而大多数公司将人工智能作为既有产品的补充。媒体可能会使用机器学习进行文章推荐,但其核心产品是写作或是出版平台。

有趣的是,大多数公司将机器学习用于简单和相似的用例。这使得单个公司很容易将上述用例作为软件及服务(SaaS)产品。再然后,突然之间初创企业不再需要在内部构建它了。

这与极度复杂且定制化的基础设施问题形成对比,亚马逊网络服务(AWS)上没有能在短时间内处理Medium基础设施的现成方案。

基础设施正变得异常复杂

亚马逊云服务(AWS)已经拓展出200多种不同的云服务。Heroku在云中运行应用程序的平台即服务(PaaS)方法很不错,但很昂贵。现在有一个全新的云服务平台来进行管理(网络、数据库、服务器),在这里,一个小失误可能会引发很大的安全隐患。

有一个名为“云工程”的完整开发子集,其任务是使软件在AWS、GCP或者Azure上运行。在小公司中,建设基础设施的任务通常落在高级开发人员的肩上。这个任务很复杂,但也意味着宝贵的工作机会和难以复制的技能。

前端开发正在持续发展

当笔者开始做开发时,还可以用jQuery构建响应式前端。但不久后公司转向了Angular或者React,Angular升级为Angular2(突发的改变),React将类组件转换为功能组件,并加入了hook。以上这些框架/函数库的工作方式完全不同。

一些公司致力于基于模型自动生成前端。但笔者的同事们一致认为,我们距离高质量产品还有很长一段路要走。

机器学习变得越来越简单,软件工程却走向了相反的道路……

图源:unsplash

软件开发十分复杂,但这种复杂性意味着不可替代的技能,这非常有利于就业。广泛的技能组合赋予了人们端到端解决实际问题的能力。为了构建一个能使普通人自行解决问题的社区,软件工程是一个不错的开端。

机器学习该何去何从呢?它仍然拥有一席之地,但显然,解决问题比训练模型更为重要。

机器学习变得越来越简单,软件工程却走向了相反的道路……

推荐阅读专题

机器学习变得越来越简单,软件工程却走向了相反的道路……

机器学习变得越来越简单,软件工程却走向了相反的道路……

机器学习变得越来越简单,软件工程却走向了相反的道路……

机器学习变得越来越简单,软件工程却走向了相反的道路……

机器学习变得越来越简单,软件工程却走向了相反的道路……

留言点赞发个朋友圈

我们一起分享AI学习与发展的干货

编译组:贺宇、苏牧辰

相关链接:

https://towardsdatascience.com/machine-learning-is-getting-easier-software-engineering-is-still-hard-d4e8320bc046

如转载,请后台留言,遵守转载规范

推荐文章阅读


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

PCI Express 体系结构导读

PCI Express 体系结构导读

王齐 / 机械工业 / 2010-3 / 55.00元

《PCI Express 体系结构导读》讲述了与PCI及PCI Express总线相关的最为基础的内容,并介绍了一些必要的、与PCI总线相关的处理器体系结构知识,这也是《PCI Express 体系结构导读》的重点所在。深入理解处理器体系结构是理解PCI与PCI Express总线的重要基础。 读者通过对《PCI Express 体系结构导读》的学习,可超越PCI与PCI Express总线......一起来看看 《PCI Express 体系结构导读》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具