利用 Neon* 传输学习

在过去几年间,许多深度神经网络 (DNN) 模型用于各种应用,如图像识别和语音翻译。上述模型通常针对特定目标,但是可以进一步扩展,应用于新型使用案例。例如,可以训练模型,以识别图像中的数字和字母,重复使用该模型,在更广泛的模型或数据集(用于自主驾驶)中阅读指示牌。

通过本博文,我们将会:

介绍传输学习及一些传输学习应用
介绍 neon 在传输学习中的应用
介绍示例代码如何利用 neon* 将预训练模型传输到新数据集
通过一些结果探索传输学习的价值

传输学习

接触视觉分类任务。卷积神经网络 (CNN) 分为若干层,每一层学习特性的规模各不相同。低级别层识别低级特性,如猫的皮毛或砖墙的纹理。高级别层识别高级特性,如行人移动时的体型或汽车车窗的构造。

针对不同的分类任务,不同规模中学习的特性提供了优秀的特征向量。它们和基于内核的算法(人工操作员开发的)所获取的特征向量截然不同,因为后者通过大量的训练运行进行学习。这些训练运行旨在系统化地改进模型参数,以尽量减少预测输出,yp=f(xt)(xt是真实世界中的信号,f() 是模型)和地面实况, yt, 之间的典型错误。

以下几个示例介绍了重复使用 CNN(经受良好训练)所学习的特性。Oquab 等。

[1] 展示了训练 AlexNet 模型识别包含单个对象的图像,其特性可以用于识别真实世界中复杂的图像对象。Szegedy 等。[2] 展示了在一个极为深入的深度神经网络中,半数层所学习的特性可以用于视觉分类。Bell 等。[3] 展示了各种预训练 CNN 学习的材料特性(如木头、玻璃等),例如 AlexNet 和 GoogLeNet 可以完成其他不相关的任务,包括图像分割。预训练网络所学习的特性颇有成效,因为它们捕获了数据中的一般统计、空间一致性与层级元关系。

利用 neon 传输学习

Neon 不仅在训练及推断 DNN 中表现卓越,还提供了丰富的生态系统,支持 DNN 的相关要求。例如,您可以序列化处理学习模型,加载预训练或部分训练模型,选择行业专家构建的 DNN,并在云中运行,无需自备物理基础设施。如欲获取有关 neon API 的全面概述,请访问。

利用单个对象上训练的权重进行一般性场景分类

ImageNet 是非常流行的数据集,训练数据集的图像主要代表了 1000 种不同类型的单个对象。它是一个优秀的数据库,用于获取代表单个对象的特征向量。然而,真实世界的图像更加复杂,针对不同的规模,单个图像捕获的对象产生许多实例。这些场景因为合拢变得更加复杂。在不同规模和合拢程度下,人和牛的示例如下图所示。
利用 Neon* 传输学习_第1张图片

通常使用两种技术对此类图像进行分类:1) 使用滑动多量程取样器,对图像的一小部分进行分类,2) 有选择地传输复杂算法发现的区域提议,最后传输至 DNN,进行分类。如欲了解有关利用 Fast R-CNN 实施第二种方法的详细信息[4],请访问。Fast R-CNN 还利用传输学习提升训练速度。本章节将探讨更易实施的第一种方法。如欲了解有关该实施的详细信息,请访问。该实施 dataset 利用一个 AlexNet 模型(在 ImageNet 上预训练)dataset,在 Pascal VOC 上进行训练。

实施的核心结构很简单…查看全文
了解更多相关内容,请关注CSDN英特尔开发专区!

Intel技术双周刊已全面开启:订阅请点击这里。

你可能感兴趣的:(利用 Neon* 传输学习)