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

来源:互联网 发布:网络黑侠所有的书 编辑:程序博客网 时间:2024/04/30 00:53
原作: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



关于机器学习 你不得不思考这些问题


 来源:Gero Presser   人工智能头条                    

                                                                       

在过去的几个月中,笔者与很多的决策者交流了有关人工智能特别是机器学习方面的问题。其中有几名高管已经被投资者询问了有关他们在机器学习(Machine Learning)方面的战略,以及在哪些方面运用了机器学习。那么这个技术课题为什么突然会成为公司董事会讨论的话题呢?

计算机应该为人类解决问题。传统的方法是“编写”所需的程序,换句话说,就是我们教电脑问题解决的算法。该算法详细描述了解决问题的过程,就像食谱一样。很多任务都可以用算法来描述。例如,在小学里,我们学习了数字加法算法。当涉及到要快速、完美地运行这种算法时,计算机比人类更胜任这个工作。

然而,这个问题解决的过程是有局限性的。我们如何识别一张猫的照片呢?这个看起来很简单的任务却难以用一种算法来描述。让我们稍等片刻,仔细想想。即使是简单的说明(如“有四条腿”或“有两只眼睛”)也有其缺点,因为这些特点可能会被隐藏,或照片可能只显示了猫的一部分。如果我们遇到识别腿或眼睛的任务时,那与识别猫一样的困难。

这正是机器学习展现其实力的地方。计算机不需要开发算法来解决问题,而是使用示例来学习算法本身。我们用样本来训练计算机。对于识别猫这个例子,我们需要使用大量的标注了猫的照片来训练系统(监督学习)。通过这种方式,算法会发生进化,继而成熟,并最终能够识别出陌生图片上的猫。

 事实上,在这种情况下,计算机通常不会学习经典程序,甚至都不会学习模型中的参数,例如网络中的边缘权重。这个原理可以与我们大脑(包含了神经元)的学习过程相比较。像大脑一样,与传统程序不同,这种具有边缘权重的网络几乎不可能被人类所理解。

 在这种情况下,被称为深度学习的人工神经网络学习方法得到了巨大的成功。深度学习是一种特殊的机器学习,反过来又是人工智能的一门学科,是计算机科学研究的主要分支。早在2012年,谷歌研究小组成功地训练了一个拥有16000台计算机,并从1000万段YouTube视频中识别猫(和其他对象类别)的网络。他们采用的就是深度学习技术。

 许多与练习有关的问题更倾向于属于“识别猫”这个类别,而不是“数字加法”,因此,很难用人类编写的算法来解决这些问题。这些问题通常是在某些数据中识别模式,例如识别图像中的对象、语言中的文本或交易数据中的欺诈行为。


这里有一个简单的例子,我们来看一下预测性维护。想象一下许多传感器正在发送数据流,有时,某些机器会发生故障。现在的难题就是学习导致故障的数据流的模式。一旦学会了这种模式,就可以在正常操作期间识别出这种模式,从而预防潜在的故障。

虽然机器学习的原理并不新鲜,但目前深受大众的追捧。这主要有三个原因:首先,用于应用和训练的大量数据的可用性(“大数据”);其次,我们现在拥有巨大的计算能力,特别是在云端;第三,一系列的开源项目使得每个人或多或少会使用一些算法。

 

机器学习不能代替传统编程,而是对传统编程的补充。它提供了一些工具,使得我们能够解决迄今为止难以甚至不可能解决的很多类问题。总而言之,这些给我们带来了新的机会,而现有的系统也越来越多地被改造并加入了机器学习功能。

遵循某种模式的重复操作就是一个典型的例子。假设有一个计算机程序,你可以通过点击一系列复杂的菜单来使用它的一百个功能,但你每天只主动地使用其中的某些功能。通过观察你平时点击的步骤,计算机可以学习预测你的下一步动作,从而提高你操作的效率。计算机通过“学习”这些重复的数据和对象,可以使得许多步骤自动化执行,从而加快了速度。

在每个领域都可以找到更多的例子:针对个别学生(特别是“大型开放式在线课程”,即MOOC)定制学习教材、疾病的早期诊断、在线营销目标群体、客户流失、自动识别数据质量问题,或通过约会服务匹配用户个人信息。

 

由于Spark拥有很多先进的工具,它(集成在Hadoop中)已经在机器学习领域成为领先的大数据框架。 Talend也正向着这个目标发展,并且通过建模能够抽象出一个更高的层次。建模可以降低复杂度,同时还会弱化与发展迅速并且门槛较高的基础技术之间的依赖关系。

只有少数专家需要真正了解机器学习方面的算法细节。但是,如果每个人都能理解机器学习相关概念的话也是有好处的,比如知道机器学习是从示例中学习模式,并且能够应用到新的数据集上。最终,机器学习扩大了机器可以解决问题的类别,从而实现自动化:具体来说就是通过决策来实现。这正是计算机学到的东西;它根据从训练数据积累到的知识,对新的数据做出决策。一方面,我们可以通过自动化的决策,将机器学习应用在我们的业务或圈子中。另一方面,我们自己本身就是一个数据源,其他的机器可以对我们进行分析并优化他们自己的业务。

总而言之,我想给大家留下这样一幅画面:计算机现在不仅能够遵循明确的指令(例如数字相加),还可以通过例子进行学习(例如通过训练样例来识别猫的图片)。根据要解决的问题的不同,某个方法可能比另外一个更合适。然而,当这两个方法以某种方式结合起来使用的话,最终能为自动化带来更多的机会。

原文:What Everyone Should Know About Machine Learning 

作者:Gero Presser 

编译:雁惊寒



人工智能赛博物理操作系统

AI-CPS OS

人工智能赛博物理操作系统(新一代技术+商业操作系统“AI-CPS OS”:云计算+大数据+物联网+区块链+人工智能)分支用来的今天,企业领导者必须了解如何将“技术”全面渗入整个公司、产品等“商业”场景中,利用AI-CPS OS形成数字化+智能化力量,实现行业的重新布局、企业的重新构建和自我的焕然新生。


AI-CPS OS的真正价值并不来自构成技术或功能,而是要以一种传递独特竞争优势的方式将自动化+信息化、智造+产品+服务和数据+分析一体化,这种整合方式能够释放新的业务和运营模式。如果不能实现跨功能的更大规模融合,没有颠覆现状的意愿,这些将不可能实现。


领导者无法依靠某种单一战略方法来应对多维度的数字化变革。面对新一代技术+商业操作系统AI-CPS OS颠覆性的数字化+智能化力量,领导者必须在行业、企业与个人这三个层面都保持领先地位:

  1. 重新行业布局:你的世界观要怎样改变才算足够?你必须对行业典范进行怎样的反思?

  2. 重新构建企业:你的企业需要做出什么样的变化?你准备如何重新定义你的公司?

  3. 重新打造自己:你需要成为怎样的人?要重塑自己并在数字化+智能化时代保有领先地位,你必须如何去做?

AI-CPS OS是数字化智能化创新平台,设计思路是将大数据、物联网、区块链和人工智能等无缝整合在云端,可以帮助企业将创新成果融入自身业务体系,实现各个前沿技术在云端的优势协同。AI-CPS OS形成的字化+智能化力量与行业、企业及个人三个层面的交叉,形成了领导力模式,使数字化融入到领导者所在企业与领导方式的核心位置:

  1. 精细种力量能够使人在更加真实、细致的层面观察与感知现实世界和数字化世界正在发生的一切,进而理解和更加精细地进行产品个性化控制、微观业务场景事件和结果控制。

  2. 智能:模型随着时间(数据)的变化而变化,整个系统就具备了智能(自学习)的能力。

  3. 高效:企业需要建立实时或者准实时的数据采集传输、模型预测和响应决策能力,这样智能就从批量性、阶段性的行为变成一个可以实时触达的行为。

  4. 不确定性:数字化变更颠覆和改变了领导者曾经仰仗的思维方式、结构和实践经验,其结果就是形成了复合不确定性这种颠覆性力量。主要的不确定性蕴含于三个领域:技术、文化、制度。

  5. 边界模糊:数字世界与现实世界的不断融合成CPS不仅让人们所知行业的核心产品、经济学定理和可能性都产生了变化,还模糊了不同行业间的界限。这种效应正在向生态系统、企业、客户、产品快速蔓延。

AI-CPS OS形成的数字化+智能化力量通过三个方式激发经济增长:

  1. 创造虚拟劳动力,承担需要适应性和敏捷性的复杂任务,即“智能自动化”,以区别于传统的自动化解决方案;

  2. 对现有劳动力和实物资产进行有利的补充和提升,提高资本效率

  3. 人工智能的普及,将推动多行业的相关创新,开辟崭新的经济增长空间


给决策制定者和商业领袖的建议:

  1. 超越自动化,开启新创新模式:利用具有自主学习和自我控制能力的动态机器智能,为企业创造新商机;

  2. 迎接新一代信息技术,迎接人工智能:无缝整合人类智慧与机器智能,重新

    评估未来的知识和技能类型;

  3. 制定道德规范:切实为人工智能生态系统制定道德准则,并在智能机器的开

    发过程中确定更加明晰的标准和最佳实践;

  4. 重视再分配效应:对人工智能可能带来的冲击做好准备,制定战略帮助面临

    较高失业风险的人群;

  5. 开发数字化+智能化企业所需新能力:员工团队需要积极掌握判断、沟通及想象力和创造力等人类所特有的重要能力。对于中国企业来说,创造兼具包容性和多样性的文化也非常重要。


子曰:“君子和而不同,小人同而不和。”  《论语·子路》云计算、大数据、物联网、区块链和 人工智能,像君子一般融合,一起体现科技就是生产力。


如果说上一次哥伦布地理大发现,拓展的是人类的物理空间。那么这一次地理大发现,拓展的就是人们的数字空间。在数学空间,建立新的商业文明,从而发现新的创富模式,为人类社会带来新的财富空间。云计算,大数据、物联网和区块链,是进入这个数字空间的船,而人工智能就是那船上的帆,哥伦布之帆!


新一代技术+商业的人工智能赛博物理操作系统AI-CPS OS作为新一轮产业变革的核心驱动力,将进一步释放历次科技革命和产业变革积蓄的巨大能量,并创造新的强大引擎。重构生产、分配、交换、消费等经济活动各环节,形成从宏观到微观各领域的智能化新需求,催生新技术、新产品、新产业、新业态、新模式。引发经济结构重大变革,深刻改变人类生产生活方式和思维模式,实现社会生产力的整体跃升。





产业智能官  AI-CPS



用“人工智能赛博物理操作系统新一代技术+商业操作系统“AI-CPS OS”:云计算+大数据+物联网+区块链+人工智能)在场景中构建状态感知-实时分析-自主决策-精准执行-学习提升的认知计算和机器智能;实现产业转型升级、DT驱动业务、价值创新创造的产业互联生态链






长按上方二维码关注微信公众号:AI-CPS,更多信息回复:


新技术:“云计算”、“大数据”、“物联网”、“区块链”、“人工智能”;新产业:“智能制造”、“智能农业”、“智能金融”、“智能零售”、“智能城市”、“智能驾驶”;新模式:“财富空间”、“特色小镇”、“赛博物理”、“供应链金融”


点击“阅读原文”,访问AI-CPS OS官网




本文系“产业智能官”(公众号ID:AI-CPS)收集整理,转载请注明出处!



版权声明产业智能官(公众号ID:AI-CPS推荐的文章,除非确实无法确认,我们都会注明作者和来源。部分文章推送时未能与原作者取得联系。若涉及版权问题,烦请原作者联系我们,与您共同协商解决。联系、投稿邮箱:erp_vip@hotmail.com





阅读全文
0 0
原创粉丝点击