告别Python,用神经网络编写的软件走向2.0时代

  • 时间:
  • 浏览:6

软件2.0不必取代1.0(实际上,时要大量的1.0基础架构来进行“编译”2.0代码的训练和推测),有以后它将会接管太少的软件1.0的责任。有以后你们你们 来看看许多正在进行的过渡的例子,以使其更加具体:

为哪此你们你们 更喜欢将复杂性的应用程序移植到软件2.0中呢? 很明显,答案是将会它们在实践操作中表现得更好。有以后,还有要是我我许多的方便的理由来选择这名 堆栈。有以后你们你们 来看看软件2.0(5个多多多多卷积神经网络)与软件1.0相比(5个多多多多生产级别的C++代码基数)的许多好处。软件2.0:

语音合成时不时以来都不 各种各样的拼接(stitching)机制,有以后现在,艺术模型的请况是产生原始音频信号输出的大的卷积(这类WaveNet)。

1.计算均匀:5个多多多多典型的神经网络,首先,由5个多多多多操作组成:矩阵乘法和在零点(ReLU函数)的阈值。将其与经典软件的指令集进行比较,后者明显更具有异构性和复杂性性。将会你只需为大量的核心计算原语(这类,矩阵乘法)提供软件1.0实现,就都都可以 更容易地做出各种正确的/性能的保证。

将会你把神经网络看作是5个多多多多软件堆栈,而不仅仅是5个多多多多很好的分类器,只有调慢就会发现,它们拥有大量的优势和很大的潜力来转换软件。

2.0堆栈都都可以 以不直观和令人尴尬的妙招失败,这类,通过在训练数据中默默地采用偏差,当它们的大小在数百万的大多数请况下,是很难正确地分析和检查的。

语音识别只有 涉及大量的预防止、高斯混合模型和隐藏的马尔可夫模型,但目前几乎完整版由神经网络组成。

4.持续的内存使用:与里面相关的是,在任何地方都只有动态分配的内存,有以后要是我我大将会交换到磁盘,或都不 你时要在你的代码中追踪的内存泄漏。

2.简单设置为硅:作为5个多多多多推论,将会神经网络的指令集相对较小,有以后更容易实现将哪此网络更靠近硅,这类自定义ASIC芯片,神经特性芯片等等。当低动力的智能变得无处找不到时,请况又会指在变化。这类,小而便宜的芯片都都可以 使用预先训练过的卷积神经网络、语音识别器和WaveNet语音合成网络,它们都集成在5个多多多多小的、都都可以 连接到任何东西上的“原始大脑”中。

有时你们你们 把神经网络称为“机器学习工具箱中的另五种 工具”。有时有以后你用它们来赢得Kaggle的比赛。有以后,这名 解释完整版见木不见林。神经网络不要是我我另五种 分类器,它们代表了你们你们 怎么都可以编写软件的根本性转变的开始英语 英文。都都可以 说是软件的2.0时代。下文简称软件2.0。

视觉识别只有 是由许多含晒 机器学习的工程特性组成的(这类,SVM)。从那时起,你们你们 开发了机器,以发现更强大的图像分析应用程序(在卷积架构中),有以后最近你们你们 也将会开始英语 英文搜索架构。

最后,你们你们 还发现了这名 堆栈的许多特殊属性。这类,对抗样本的指在突出了这名 堆栈的不直观的本质。

相比之下,软件2.0是用神经网络的权重来编写的。只一群人参与编写这段代码,将会有要是我我权重(典型的网络将会有数百万个),有以后直接在权重中进行编码是很困难的。反而,你们你们 指定了许多约束应用程序的行为(这类,5个多多多多输入输出对示例的数据集),并使用可自行支配的计算资源来搜索满足约束条件的应用程序空间。在神经网络的例子中,你们你们 把搜索限制在应用程序空间的5个多多多多连续的子集上,在这名 空间中,搜索过程许多出乎意料地都都可以 使用反向传播和随机梯度下降算法。

2.0堆栈都不 许多自身的缺点。在优化的最后,你们你们 剩下的是大型网络,它们运行得很好,有以后你们你们 很难知道它是怎么都可以运作的。在许多应用领域,你们你们 将会选择使用你们你们 所理解的90%的精确模型,将会99%的准确模型。

事实证明,在现实世界中,架构设计 数据要比明确地编写应用程序容易得多。过段时间以后,大次责应用程序员不必维护复杂性的软件库,编写复杂性的应用程序,将会分析它们的运行时间。但你们你们 会架构设计 、架构设计 、操作、标签、分析和可视化馈送神经网络的数据。

软件2.0的好处

6.它非常敏捷:将会你有5个多多多多C++代码,有以后一群人想有以后你把它以两倍的传输速度为代价获得(将会时要语录),这将是非常重要的调优系统新规范。然而,在软件2.0中你们你们 都都可以 把你们你们 的网络删除一半的通道,有以后再次训练,——它完都不 运行传输速度的两倍,有以后运行的许多糟糕。相反地,将会你恰好得到了更多的数据/计算,有以后你通过增加更多的通道和重新训练来有以后你的应用程序更好地工作。

本文由AiTechYun编译,转载请注明出处。更多内容关注微信公众号:atyun_com

机器人技术将疑问报告 分解为感知、姿态估计、规划、控制、不选择性建模等,使用显式表示和算法多于里面表示。你们你们 还只有完整版做到这名 点,但加州大学伯克利分校和谷歌的研究表明,软件2.0或许不必 更好地代表所有哪此代码。

3.恒定的运行时间:典型的神经网络正向传递的每一次迭代都采用同样数量的FLOPS(即“每秒浮点运算次数”,“每秒峰值传输速度”)。零可变性基于你的代码的不同的执行路径,是都都可以 通过许多庞大的C++代码库来实现的。当然,有以后你拥有动态计算图,有以后执行流通常仍然受到很大的限制。只有 ,你们你们 几乎都都可以 保证永远不必发现被委托人的操作在无意地进行无限循环。

软件2.0的局限性

5.它具有淬硬层 的可移植性:与经典的二进制文件或脚本相比,在任意计算配置上运行5个多多多多矩阵乘法序列要容易得多。

从长远来看,软件2.0的未来是光明的,将会太少的人认为,你们你们你们 开发了AGI时,它肯定会写入软件2.0中。

你们你们 所熟悉的软件1.0的“经典堆栈”是用Python、C++等语言编写的,它含晒 了应用程序员编写的计算机的显式指令。通过编写每行代码,应用程序员都都可以 通过许多可取的行为来选择应用程序空间中的某个特定点。

机器翻译通常是采用基于短语的统计技术的妙招,但神经网络调慢就会指在主导地位。我最喜欢的架构是在多语言环境中进行训练的,其中5个多多多多模型都都可以 从任何源语言转换为任何目标语言,有以后在弱监督(或完整版不受监督的)环境中进行。

7.模块都都可以 融合为5个多多多多最优的整体:你们你们 的软件时不时被分解为通过公共函数,API或端点进行通信的模块。然而,将会5个多多多多最初训练的软件2.0模块相互作用,你们你们 都都可以 很容易地在整个过程中进行反向传播。想看过,将会你的web浏览器不必 自动重新设计底层系统指令10个堆栈,直到加载web页面时获得更高的传输速度,那该多好。而对于2.0,这是默认的行为。