主要内容

Pretrained深层神经网络

你可以乘pretrained图像分类网络,已经学会了从自然图像中提取强大的和翔实的功能和使用它作为一个起点,学习一个新任务。大多数pretrained网络训练ImageNet数据库的一个子集[1],用于ImageNet大规模视觉识别的挑战(ILSVRC)[2]。这些网络一直在训练图像和可以分类图像到1000年超过一百万对象类别,如键盘、咖啡杯、铅笔,和许多动物。使用pretrained网络转移学习通常是快得多,也更容易比从头培训网络。

您可以使用以前训练网络以下任务:

目的 描述
分类

pretrained网络直接适用于分类问题。分类的新形象,使用分类。对于一个例子,演示如何使用pretrained网络分类,看看分类图像使用GoogLeNet

特征提取

使用pretrained网络作为特征提取器通过使用层激活特性。您可以使用这些激活功能训练另一个机器学习模型,如支持向量机(SVM)。万博1manbetx有关更多信息,请参见特征提取。例如,看到的使用Pretrained网络提取图像特征

转移学习

从网络层在大数据集训练和调整的新数据集。更多的信息,知道了转移学习。一个简单的例子,请参阅学习开始转移。尝试更多pretrained网络,请参阅火车深入学习网络对新图像进行分类

比较Pretrained网络

Pretrained网络有不同的特点,在选择一个网络适用于你的问题。最重要的特点是网络精度,速度,和大小。选择一个网络通常是这些特征之间的权衡。使用下面的情节比较ImageNet验证精度与所需的时间使用网络做预测。

提示

开始转移学习,试着选择一个更快的网络,如SqueezeNet或GoogLeNet。然后您可以快速迭代和尝试不同的设置等数据预处理步骤和培训选项。一旦你有一种感觉的设置工作,尝试一个更精确的网络如Inception-v3或ResNet,看看是否能改善你的结果。

请注意

上面的图只显示的相对速度不同的网络。准确的预测和训练迭代时间取决于硬件和mini-batch大小使用。

一个良好的网络具有很高的准确性和快速。情节显示分类精度和使用现代GPU(一个预测时间英伟达®特斯拉®P100)和mini-batch大小为128。预测时间是衡量相对于最快的网络。每一个标记的面积成正比的大小网络磁盘上。

ImageNet验证集上的分类精度是最常见的方法来衡量网络ImageNet训练的准确性。网络上准确ImageNet通常也准确,当你将它们应用于其他自然图像数据集使用转移学习或特征提取。这泛化是可能的,因为网络已经学会从自然图像中提取强大和信息特征,推广到其他类似的数据集。然而,高精度ImageNet并不总是直接转移到其他任务,所以这是一个好主意尝试多个网络。

如果你想使用受限的硬件执行预测或通过互联网分发网络,那么还考虑网络磁盘和内存的大小。

网络的准确性

有多种方法来计算ImageNet验证集上的分类精度和不同来源的使用不同的方法。有时使用多个模型的合奏,有时每个图像评估多次使用多个作物。有时在前5名的准确性,而不是标准的引用(()精度。由于这些差异,往往是不可能直接比较不同来源的精度。pretrained网络的精度在深度学习工具箱™标准(()精度使用单一作物模型和单中心形象。

负载Pretrained网络

加载SqueezeNet网络类型squeezenet在命令行中。

网= squeezenet;

对于其他网络,使用等功能googlenet要从插件下载pretrained网络浏览器的链接。

下表列出了可用pretrained网络训练ImageNet和他们的一些属性。网络深度的定义是最多的连续卷积或完全连接层路径从输入层到输出层。输入所有网络是RGB图像。

网络 深度 大小 参数(百万) 图像输入大小
squeezenet 18

5.2 MB

1.24

227年- 227年

googlenet 22

27 MB

7.0

224年- 224年

inceptionv3 48

89 MB

23.9

299年- 299年

densenet201 201年

77 MB

20.0

224年- 224年

mobilenetv2 53

13 MB

3.5

224年- 224年

resnet18 18

44 MB

11.7

224年- 224年

resnet50 50

96 MB

25.6

224年- 224年

resnet101 101年

167 MB

44.6

224年- 224年

xception 71年

85 MB

22.9 299年- 299年
inceptionresnetv2 164年

209 MB

55.9

299年- 299年

shufflenet 50 5.4 MB 1.4 224年- 224年
nasnetmobile * 20 MB 5.3 224年- 224年
nasnetlarge * 332 MB 88.9 331年- 331年
darknet19 19 78 MB 20.8 256年- 256年
darknet53 53 155 MB 41.6 256年- 256年
efficientnetb0 82年 20 MB 5.3

224年- 224年

alexnet 8

227 MB

61.0

227年- 227年

vgg16 16

515 MB

138年

224年- 224年

vgg19 19

535 MB

144年

224年- 224年

* NASNet-Mobile和NASNet-Large网络不包含模块的一个线性序列。

GoogLeNet Places365训练

ImageNet上的标准GoogLeNet网络训练数据集还可以加载一个网络训练Places365数据集[3][4]。网络训练Places365将图像分为365个不同的类别,例如,公园,跑道,游说。Places365上加载一个pretrained GoogLeNet网络训练数据集,使用googlenet(“重量”、“places365”)。当执行转移学习执行新任务,最常见的方法是使用网络pretrained ImageNet。如果新的任务类似于场景分类,然后利用网络训练Places365可以给更高的精度。

特征提取

特征提取是一种简单、快捷的方法来使用深度学习的力量没有投资时间和精力投入到训练一个完整的网络。因为它只需要一个经过培训的图片,这是特别有用如果你没有一个GPU。你使用pretrained网络提取了图像特征,然后利用这些特征来训练分类器,如支持向量机使用万博1manbetxfitcsvm(统计和机器学习的工具箱)

特征提取你的新数据时将非常小。因为你只训练一个简单的分类器对提取的特征,训练是快。它也不太可能微调深层网络提高精度的自学习几乎没有数据。

  • 如果您的数据是非常类似于原始数据,然后更深、更特定的特征提取的网络中可能是有用的新任务。

  • 如果您的数据是非常不同于原始数据,然后更深层次的网络中提取的特征可能对你的任务那么有用。试培训最终的分类器从早期网络层中提取更一般的特性。如果新数据集很大,那么你也可以尝试从头培训网络。

ResNets往往好的特征提取器。为一个例子,演示如何使用pretrained网络特征提取,明白了使用Pretrained网络提取图像特征

转移学习

您可以通过训练调整网络中深层网络在你的新数据集pretrained网络作为起点。微调网络转移学习往往是更快和更容易比构造和训练一个新的网络。网络已经学会了一组丰富的图像功能,但是当你调整网络可以学习新特性特定于您的数据集。如果你有一个非常大的数据集,然后从头学习可能不会高于训练。

提示

微调网络经常给最高的精度。非常小的数据集(少于20图片每个类),尝试特征提取。

微调网络比简单的特征提取速度较慢,需要更多的努力,但由于网络可以学习中提取一组不同的特性,最后网络往往是更准确的。微调通常比新数据集特征提取,只要不是非常小,因为这样的网络数据学习新特性。的例子显示如何执行转移学习,明白了转移学习与深层网络设计师火车深入学习网络对新图像进行分类

进出口网络

你可以从TensorFlow进口网络和网络体系结构®-Keras,咖啡,ONNX™(打开神经网络交换)模型格式。您还可以导出训练网络ONNX模型格式。

从Keras进口

从TensorFlow-Keras使用进口pretrained网络importKerasNetwork。您可以导入网络和权重从同一HDF5 (.h5)文件或单独HDF5和JSON . JSON文件。有关更多信息,请参见importKerasNetwork

从TensorFlow-Keras使用进口网络体系结构importKerasLayers。您可以导入网络体系结构,有或没有重量。您可以导入网络体系结构和权重从同一HDF5 (.h5)文件或单独HDF5和JSON . JSON文件。有关更多信息,请参见importKerasLayers

从咖啡进口

从咖啡进口pretrained网络使用importCaffeNetwork函数。有许多pretrained网络中可用咖啡模型动物园[5]。下载所需的.prototxt.caffemodel文件和使用importCaffeNetworkpretrained网络导入MATLAB®。有关更多信息,请参见importCaffeNetwork

你可以进口咖啡网络的网络体系结构。下载所需的.prototxt文件,并使用importCaffeLayers网络层导入MATLAB。有关更多信息,请参见importCaffeLayers

出口和进口ONNX

通过使用ONNX作为中间格式,您可以与其他深度学习互操作框架,支持ONNX模型导出或导入,如TensorFlow PyTorch Caffe2,微软万博1manbetx®认知工具包(CNTK),核心毫升,Apache MXNet™。

出口一个训练有素的深度学习工具箱网络ONNX模型格式使用exportONNXNetwork函数。然后您可以导入ONNX模型其他深度学习框架,支持ONXX模型导入。万博1manbetx

从ONNX进口pretrained网络使用importONNXNetwork和导入网络架构有或没有重量importONNXLayers

Pretrained网络音频应用程序

使用pretrained网络音频和语音处理应用程序通过使用深度学习工具箱与音频工具箱™。

音频工具箱提供了pretrained VGGish和YAMNet网络。使用vggish(音频工具箱)yamnet(音频工具箱)直接与pretrained网络交互功能。的classifySound(音频工具箱)函数执行所需的预处理和后处理对YAMNet,这样您就可以定位和听起来成一个521个类别进行分类。你可以探索YAMNet本体使用yamnetGraph(音频工具箱)函数。的vggishFeatures(音频工具箱)函数执行必要的预处理和后处理VGGish,这样您就可以提取功能嵌入的机器学习和深入学习系统的输入。有关使用深度学习音频应用程序的更多信息,见介绍深学习音频应用程序(音频工具箱)

使用VGGish和YAMNet执行转移学习和特征提取。例如,请参见学习与Pretrained音频网络传输(音频工具箱)

引用

[1]ImageNet。http://www.image-net.org

[2]Russakovsky, O。邓,J。苏,H。,等。“ImageNet大规模视觉识别的挑战。”国际计算机视觉杂志(IJCV)。第115卷,第三期,2015年,页211 - 252

Aditya斯拉,[3],Bolei Agata Lapedriza,安东尼·托拉尔巴制作的,这是。”的地方:一个图像数据库进行深度场景的理解。”arXiv预印本arXiv: 1610.02055(2016)。

[4]的地方。http://places2.csail.mit.edu/

[5]咖啡模型动物园。http://caffe.berkeleyvision.org/model_zoo.html

另请参阅

|||||||||||||||||||||||||

相关的话题