首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

深度学习中训练和推断的区别

深度学习中经常涉及到训练(Training)推断(Inference)这两个词,而这两者有什么区别和联系呢?接下来我们初步分析讨论。

简单的,训练好的神经网络,可以根据其所学,在数字化的世界中轻松地完成各种各样的工作,如:识别图像、识别记录口述的语言、检测血液中的疾病,或者推荐符合某人风格的一双鞋子等等。此时的神经网络,由于经过了完善的训练,可以快速高效地从新的数据中“推断”各种结论。在人工智能术语中,称之为“推断”。

推断(Inference),就是深度学习把从训练中学习到的能力应用到工作中去。

不难想象,没有训练就没法实现推断。我们人也是这样,通过学习来获取知识、提高能力。深度神经网络也是一样,训练完成后,并不需要其训练时那样的海量资源。

训练

我们可以把深度学习的训练看成学习过程。人工神经网络是分层的、是在层与层之间互相连接的、网络中数据的传播是有向的。训练神经网络的时候,训练数据被输入到网络的第一层。然后所有的神经元,都会根据任务执行的情况,根据其正确或者错误的程度如何,分配一个权重参数(权值)。

视频

上图是一个深层卷积神经网络,信息从上到下流动。我们喂给这个网络大量的动物图片,网络的低层就会提取出局部边缘的信息,高一层则会提炼动物的腿、脸等更大范围的信息,而到了最高层,则网络提取的就是整个物体的信息。所以,神经网络从低到高刚好能够提取图片数据中从低到高(从局部到整体)的多层次信息,最终的输出由网络中所有的权值共同决定。对多尺度层级结构的提取才使得深度学习神经网络可以得到很好的效果。

音频

与图片不同的是,在类似于自然语言这样的序列信息中,存在着时间尺度上的层级性。比如:“大自然和人工系统中这些形形色色的层级性会反映到我们的数据中”这句话。在最高层次上,这句话表达的是“层级性会反映到数据中”这个概念,然而为了修饰“层级性”,我们加入了低层次的“大自然和人工系统中”以及“形形色色的”这些概念。所以,整个句子也可以被分解为一个树状结构,最底层的叶节点是单词,每个子树都是一个动宾短语。

语音识别网络一般是LSTM,其内部结构图如下:

该网络结构主要增加特点如下:

(1)输入门input gate:接受上一时刻隐层单元的输出及当前时刻是样本输入;

(2)输入门input gate:可以看到输入门会和输入节点的值相乘,组成LSTM中internal state单元值的一部分,当门的输出为1时,输入节点的激活值全部流向internal state,当门的输出为0时,输入节点的值对internal state没有影响。

(3)内部状态internal state;

(4)遗忘门forget gate:用于刷新internal state的状态,控制internal state的上一状态对当前状态的影响。

总的来看,人们为了应付序列信息中的多层次性,就不得不让神经网络中的信号被分割成了两个层次,一个起到控制作用(如时间、空间特性),一个起到被操作的数据作用。(这点和哈佛架构的DSP芯片类似,一类是控制信号,另外一类是需处理的信号

另外,训练的计算量是巨大的、密集的。

推断

精心调整权值之后的神经网络基本上就是个笨重、巨大的数据库。为了充分利用训练的结果,完成现实社会的任务,我们需要的是一个能够保留学习到的能力,还能迅速应用到前所未见的数据上的,响应迅速的系统。这就是推断,根据真实世界中的少量数据,迅速地提供正确的答案。 这可是计算机科学的全新领域。现在主要有两种方法来优化庞大笨拙的神经网络,以实现高速低延迟的应用。

第一个方法,是查找神经网络中经过训练后并没有用到、也就是说尚未激活的部分。这些区域在应用中并不需要,所以可以被清洗掉。

第二个方法,则是把神经网络中的多个层融合为一个单独的计算步骤。

未来

我们将会看到这些模型逐渐地变得更加聪明、更加迅速、更加准确。训练会变得不那么烦人,而推导也会带来生活中方方面面的新应用。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180228G0D01000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券