相关文章推荐
睿智的牛肉面  ·  请问如何完全卸载/删除edge浏览器? - ...·  1 年前    · 
阳光的酱肘子  ·  不要再用js设置rem了,现代css自适应方 ...·  1 年前    · 
腼腆的卡布奇诺  ·  植保无人机_百度百科·  2 年前    · 
彷徨的楼梯  ·  地产行业下行常态周期,合景泰富2022销售额 ...·  2 年前    · 
大方的酸菜鱼  ·  国务院任免张工、郑宏波、王曦、肖亚庆、于春孝 ...·  2 年前    · 
小百科  ›  软件2.0时代来了!特斯拉AI负责人说:神经网络正在改变编程开发者社区
软件 神经网络模型
热心肠的长颈鹿
3 年前
作者头像
量子位
0 篇文章

软件2.0时代来了!特斯拉AI负责人说:神经网络正在改变编程

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 量子位 > 正文

软件2.0时代来了!特斯拉AI负责人说:神经网络正在改变编程

发布 于 2018-03-23 16:08:54
1.3K 0
举报
原作:Andrej Karpathy 安妮 编译自 Medium 量子位 出品 | 公众号 QbitAI

本文作者 Andrej Karpathy,现任特斯拉人工智能负责人 ,曾任OpenAI研究专家。在斯坦福大学读博时师从李飞飞,主要研究方向是卷积神经网络结构、 自然语言处理 及它们在计算机视觉上的应用。 Karpathy认为,我们已经进入了软件2.0时代。

经常看到人们将神经网络称为“机器学习工具箱中的另一个工具”,我不太认同,这是一种只见树木不见森林的短浅理解。神经网络不只是另一个分类器,还是编写软件基本转变的开始——带领我们进入了软件2.0时代。

我们熟悉的 软件1.0 的“经典堆栈”是用Python、C++等语言编写的计算机显式指令。通过编写每一行代码,程序员在程序空间中识别性能好的特定点。

与1.0不同, 软件2.0 是用神经网络的权重编写的。因为涉及很多权重,直接在权重中编码很困难,因此程序员不参与代码编写工作。

在软件2.0中,我们为理想程序的行为规定了一些约束条件,并用计算资源搜索程序空间来满足它们。在神经网络示例中,我们将搜索限制在程序空间的一个连续子集里。

事实证明,现实世界中的大部分问题都有这样的特性,即收集数据比显式编程容易得多。未来大部分程序员无需维护复杂的软件库、编写复杂的程序,或者分析它们的运行时间。他们只负责收集、清理、操作、打标签、分析和可视化为神经网络提供信息的数据即可。

不过, 软件2.0不会取代1.0。实际上,还需要大量1.0基础结构进行训练和推理,以“编译”2.0代码。但是,它将接管软件1.0的大部分工作内容。 让我们通过一些正在进行的转变,了解1.0和2.0间的变化。

视觉识别 :过去做视觉识别相关任务时,用到的是特征工程加一点点SVM之类的机器学习方法。特斯拉开始开发更强大的在ConvNet架构中的图像分析程序由来已久,最近开始在架构上进行搜索。

语音识别 :曾涉及大量的预处理、高斯混合模型和隐马尔可夫模型,但今天几乎全部由神经网络构成。

语音合成 :之前曾有有各种各样的缝合机制,但今天最先进的模型是大型的卷积网络,可以产生原始音频信号输出(如WaveNet)。

机器翻译 :之前通常采用基于短语的统计技术,但神经网络正迅速占据主导地位。我最喜欢的一个架构是在多语言环境下进行的,在弱监督(或完全不受监督)的条件下,一个模型可以从任何源语言转换到任何目标语言。

机器人技术 :曾经需要将问题分解成多个模块,如感知、姿态估计、规划、控制、不确定性建模等,并在中间表示中使用显式表示和算法。但最近加州大学伯克利分校和谷歌的研究表明,软件2.0或许能够更好地代表所有这些代码。

游戏 :围棋程序起源可以追溯到好几十年前,但AlphaGo Zero已成为游戏中最强大玩家。我希望在其他领域也能看到类似的结果,比如DOTA 2和星际争霸等游戏。

心细的朋友发现,上面很多研究都涉及到谷歌的工作。这是因为,谷歌目前处于将自身大部分软件重新编写为2.0版的前沿。“一个模型来管理它们”的观念是谷歌早期构想的草图,在那里,各领域的统计强度将被合并成一致的对世界的理解。

软件2.0的优劣势

为什么我们更喜欢将复杂的程序变成软件2.0的形式?

原因很多。让我们来看看软件2.0(请自动联想卷积网络)和软件1.0(请联想生产级的C++代码库)的好处。总体来说,2.0版的软件具有以下优势:

计算均匀 :典型的神经网络归结为一阶只需两步操作,即0(ReLU)矩阵乘法和阈值。与经典软件指令集相比,2.0版软件具有明显的异源性和复杂性。你只需为一小部分核心计算原语提供软件1.0实现(例如矩阵乘法等),就能保证操作正确性。

更容易制成芯片 :由于神经网络的指令集相对较小,更容易被制成芯片,例如自定义ASIC芯片、神经形态芯片等。当低功率的智能无处不在时,世界将发生改变。小巧而便宜的芯片可以装载着预先训练的卷积网络、语音识别器和WaveNet语音合成网络等,它们都集成在一个你可以附加在任何东西的小型芯片中。

恒定的运行时间 :典型的神经网络前向传播的每一次迭代每秒能够执行的浮点运算的平均次数(FLOPS)都相同。你的代码通过扩展的C++代码库执行不同的路径的可变性为0。当然,你也可以用动态计算图,但执行流通常仍然受到极大的限制。

使用常量内存 :与上面所说的运行时间相关,因为没有动态分配的内存,所以不存在交换到磁盘或在代码中搜索泄露内存的可能性。

高度可移植性 :与经典二进制或脚本相比,2.0版在任意计算配置上运行矩阵相乘序列要容易得多。

非常敏捷 :如果需要把你的C++代码的运行速度提升一倍,效果可以稍微差一点点,这会是一件非常麻烦的事,在软件1.0里,需要为了新标准而对系统进行重大调整。然而,在2.0版本中,我们可以删掉网络中一半的通道(channel)再训练——这时它的运行速度提升了一倍,效果不太好。如果的数据足够多,计算力足够强,你可以通过增加更多的通道和训练让程序更好用。

模块可以整合成一个最优整体 :1.0时代,软件通常被分割为通过公共函数、API或端点进行通信的模块。然而,如果两个2.0模块最初是单独训练的,我们能够轻松在整个过程中进行反向传播。想象一下,如果你的web浏览器能自动自动重新设计低级别的系统指令实现高效加载网页,这该有多好。你很幸运,2.0版本可以实现这个场景。

容易上手 :我喜欢开玩笑说深度学习很简单。平日用到的基本概念包含线性代数、微积分、Python和一些CS231n讲座上的知识。更准确的说法是,软件2.0的堆栈很容易理解,但却不容易掌握。

比想象的还要好 :最重要的是,神经网络比会为你或我能想到的垂直领域带来最好的代码,目前的研究已经涉及到与图像/视频、声音/语音和文本有关的内容。

2.0版也有它自己的缺点。有时你甚至不知道你搭建失败了,它们可以“于无声中失败”。比如,如果训练数据中悄悄混进了一些偏差,你通常很难正确地进行分析,把它们从大量数据中检查出来。

写在最后

如果你把神经网络看作是一个软件堆栈而不仅仅是分类器,你就会发现它们有巨大的优势和潜力来改变软件。

从长远来看,软件2.0在开发AGI的过程中越来越清晰,是未来编程的主流。

可能你想问软件3.0是什么样子的,我也不知道,这完全取决于AGI。

最后,附原文连接:

https://medium.com/@karpathy/sofatware-2-0-a64152b37c35

点击展开阅读全文
文章分享自微信公众号:
量子位
量子位

扫码关注公众号

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

原始发表:2017-11-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

其他
登录 后参与评论
关于作者
0
文章
0
累计阅读量
0
获赞
前往专栏
关注 - 腾讯云 开发者 公众号
将获得
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
扫码关注腾讯云开发者
NEW
切换旧版
领券
  • 社区

    • 专栏文章
    • 阅读清单
    • 互动问答
    • 技术沙龙
    • 技术视频
    • 团队主页
    • 腾讯云TI平台
  • 活动

    • 自媒体分享计划
    • 邀请作者入驻
    • 自荐上首页
    • 技术竞赛
  • 资源

    • 技术周刊
    • 社区标签
    • 开发者手册
    • 开发者实验室
  • 关于

    • 社区规范
    • 免责声明
    • 联系我们
    • 友情链接

腾讯云开发者

扫码关注腾讯云开发者

扫码关注腾讯云开发者

领取腾讯云代金券

热门产品

  • 域名注册
  • 云服务器
  • 区块链服务
  • 消息队列
  • 网络加速
  • 云数据库
  • 域名解析
  • 云存储
  • 视频直播

热门推荐

  • 人脸识别
  • 腾讯会议
  • 企业云
  • CDN加速
  • 视频通话
  • 图像分析
  • MySQL 数据库
  • SSL 证书
  • 语音识别

更多推荐

  • 数据安全
  • 负载均衡
  • 短信
  • 文字识别
  • 云点播
  • 商标注册
  • 小程序开发
  • 网站监控
  • 数据迁移

Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有

深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569

腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287

问题归档 专栏文章 快讯文章归档 关键词归档 开发者手册归档 开发者手册 Section 归档
 
推荐文章
睿智的牛肉面  ·  请问如何完全卸载/删除edge浏览器? - Microsoft Q&A
1 年前
阳光的酱肘子  ·  不要再用js设置rem了,现代css自适应方案来了-腾讯云开发者社区 ...
1 年前
腼腆的卡布奇诺  ·  植保无人机_百度百科
2 年前
彷徨的楼梯  ·  地产行业下行常态周期,合景泰富2022销售额达到508.6亿元_城市_ ...
2 年前
大方的酸菜鱼  ·  国务院任免张工、郑宏波、王曦、肖亚庆、于春孝职务_中国经济网 ...
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
小百科 - 百科知识指南
© 2024 ~ 沪ICP备11025650号