深度学习蚕食软件,十年内大部分软件工作不再涉及编程

简介:
本文来自AI新媒体量子位(QbitAI)

068bfa202fa3b235048622a26d81d283d7f25421

 Pete Warden

周末,特斯拉AI负责人Andrej Karpathy发文论述“软件2.0”的概念,他说,神经网络给编程工作带来了根本性的变革。

今天,跟他聊过这一概念的谷歌工程师Pete Warden也在自己的博客上发了一篇文章,题为“Deep Learning is Eating Software”,阐述了他对软件2.0时代的看法。他说,以后程序员的角色会变成软件的“老师”,10年内,大多数软件相关工作都将不再涉及编写程序本身。

以下内容翻译自Pete的博客。

7d677452fa91061b28623d7490d2657ecb060919

几周前,我和Andrej Karpathy喝了几杯,聊起了我们认为未来几年里,机器学习会走上什么方向。Andrej抛出了“软件2.0”这个概念,我立刻感到羡慕嫉妒,因为这个词所捕捉到的,是我在几百个项目中所见到的日常。

他写了博客发出来之前,我都忍着没说话,不过现在,我想来讲讲我对这件事的看法。

我所看到的模式是这样的:有一个软件项目,用明确的编程逻辑来处理数据,然后负责维护它的团队发现,他们可以用基于深度学习的解决方案来替换它。

Alphabet有很多这样的例子,我只能举一些已经公开的,比如说搜索排序的升级、数据中心节能、语言翻译、下围棋,这些在Alphabet内部并不是特例。

我所看到的是,几乎每一个有意义的数据处理系统都可以用现代机器学习技术来大幅提高。

这样说可能显得没那么戏剧性,但是在我们如何构建软件这个问题上,这是一种剧变。不用再写一层一层错综复杂的逻辑,程序员的角色变成了一名老师、训练数据的管理者、结果的分析师。这和我在学校里所学的编程非常非常不一样,但最让我激动的是, 一旦工具完备了,它比传统的编程工作门槛更低。

这种新编程方式的核心是提供一大堆样例作为输入,以及你期望什么样的输出。这不要求程序员具备传统编程工作所需的技术能力,却需要对于问题领域的深入了解。这就意味着和以往不同,软件的积极用户会参与到它的构建之中,扮演一个更直接的角色。

本质上,是用户自己描述了用户故事,把它们喂到机器里,构建自己想要的软件。

Andrej的博客专注于语音识别等领域,但我想说的是,软件2.0带来的影响将遍布更多领域。经典文章Machine Learning: The High Interest Credit Card of Technical Debt(https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/43146.pdf)描述了一种十分常见的模式:机器学习系统开始嵌入到软件的深层堆栈之中。

我所看到的是,因为越来越多的软件堆栈被单个深度学习模型整体替代,“技术债”的问题也开始得到解决。跟断裂点进行类比,这就像将你的所有债务都合并为一笔费用更低的贷款。与一组深度联通的模块相比,单个的模型更容易提高,维护起来也更容易。

对很多大型系统来说,反正都没人敢说自己清楚这些软件究竟在干什么,所以实际上在可调式性或者控制性方面也没有损失。

我知道这听起来就像是又一篇深度学习忽悠文,如果我不是每天都看见这样的历史进程正在发生,也会觉得这很难接受,但这是真的。

比尔·盖茨好像说过“大多数人都高估了他们一年内能做的事情,低估了10年内能完成的事情”,对于将传统软件替换成深度学习这件事来说,我正是这种感觉。随着知识在开发者圈子里的扩散,这将会是一个长长的缓慢上升过程,但我预测,10年之内,大多数软件工作都不会再涉及编程。

就像Andrej明确指出的:深度学习比你强!

c2392900ab2eb6c738e175bbf671572501cd3014

本文作者:夏乙 
原文发布时间:2017-11-14
相关文章
|
机器学习/深度学习 JSON 算法
智能零售柜商品检测软件(Python+YOLOv5深度学习模型+清新界面)
智能零售柜商品检测软件(Python+YOLOv5深度学习模型+清新界面)
1262 0
|
机器学习/深度学习 算法 数据可视化
智能扑克牌识别软件(Python+YOLOv5深度学习模型+清新界面)
智能扑克牌识别软件(Python+YOLOv5深度学习模型+清新界面)
1714 0
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
机器学习/深度学习 人工智能 自然语言处理
软件工程师,入门下深度学习吧
软件工程师,入门下深度学习吧
194 9
|
机器学习/深度学习 SQL 自然语言处理
深度学习之编程错误自动修复
基于深度学习的编程错误自动修复(Automated Code Repair Using Deep Learning)是一种利用深度学习技术自动检测、定位并修复代码中的错误的技术。它旨在减少开发者手动调试和修复代码的时间,并提高代码的质量和可靠性。
290 3
|
机器学习/深度学习 数据挖掘 PyTorch
🎓PyTorch深度学习入门课:编程小白也能玩转的高级数据分析术
踏入深度学习领域,即使是编程新手也能借助PyTorch这一强大工具,轻松解锁高级数据分析。PyTorch以简洁的API、动态计算图及灵活性著称,成为众多学者与工程师的首选。本文将带你从零开始,通过环境搭建、构建基础神经网络到进阶数据分析应用,逐步掌握PyTorch的核心技能。从安装配置到编写简单张量运算,再到实现神经网络模型,最后应用于图像分类等复杂任务,每个环节都配有示例代码,助你快速上手。实践出真知,不断尝试和调试将使你更深入地理解这些概念,开启深度学习之旅。
248 1
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的编程实践:从Python到深度学习的探索之旅
【9月更文挑战第6天】 在人工智能的黄金时代,编程不仅仅是一种技术操作,它成为了连接人类思维与机器智能的桥梁。本文将通过一次从Python基础入门到构建深度学习模型的实践之旅,揭示编程在AI领域的魅力和重要性。我们将探索如何通过代码示例简化复杂概念,以及如何利用编程技能解决实际问题。这不仅是一次技术的学习过程,更是对人工智能未来趋势的思考和预见。
|
机器学习/深度学习 数据可视化 算法
基于深度学习的瓶子检测软件(UI界面+YOLOv5+训练数据集)
基于深度学习的瓶子检测软件(UI界面+YOLOv5+训练数据集)
764 0
|
机器学习/深度学习 Java TensorFlow
深度学习中的图像识别:从理论到实践Java中的多线程编程入门指南
【8月更文挑战第29天】本文将深入探讨深度学习在图像识别领域的应用,从基础理论到实际应用案例,带领读者一步步理解如何利用深度学习技术进行图像识别。我们将通过一个简单的代码示例,展示如何使用Python和TensorFlow库实现一个基本的图像识别模型。无论你是初学者还是有一定经验的开发者,都能从中获得启发和学习。 【8月更文挑战第29天】在Java世界里,线程是程序执行的最小单元,而多线程则是提高程序效率和响应性的关键武器。本文将深入浅出地引导你理解Java多线程的核心概念、创建方法以及同步机制,帮助你解锁并发编程的大门。
|
机器学习/深度学习 存储 监控
基于YOLOv8的多目标检测与自动标注软件【python源码+PyqtUI界面+exe文件】【深度学习】
基于YOLOv8的多目标检测与自动标注软件【python源码+PyqtUI界面+exe文件】【深度学习】

热门文章

最新文章