你可以把一个已经学会了从自然图像中提取强大,信息量大的特点,并以此为起点,学习新的任务预训练的图像分类网络。大多数预训练的网络被训练在ImageNet数据库的一个子集[1],这是在ImageNet大规模使用视觉辨识挑战(ILSVRC)[2]。这些网络已经培训了超过一百万的图像,并可以将图像分为1000个对象的类别,如键盘,咖啡杯,铅笔,和许多动物。使用与转让学习预训练网络比从头训练网络通常更快,更容易。
您可以使用之前训练的网络来执行以下任务:
目的 | 描述 |
---|---|
分类 | 直接涂抹预训练的网络分类问题。要分类的新形象,用 |
特征提取 | 通过使用层次激活作为功能使用预训练网络的特征提取。您可以使用这些激活的功能训练另一台机器学习模型,如支持向量机(SVM)。金宝app欲了解更多信息,请参阅特征提取。对于一个示例,请参见提取图像功能使用预训练的网络。 |
迁移学习 | 就拿层从训练的大型数据集和微调的一个新的数据集的网络。欲了解更多信息,请参阅迁移学习。举个简单的例子,见开始使用迁移学习。尝试更多的预训练的网络,看火车深学习网络分类新形象。 |
预训练的网络有选择网络时应用到你的问题说事不同的特点。最重要的特点是网络的精度,速度和规模。选择网络通常是这些特性之间的折衷。使用下面的情节到ImageNet验证准确度与使用网络做一个预测所需的时间进行比较。
要开始使用迁移学习,尽量选择速度更快的网络,如SqueezeNet或GoogLeNet之一。然后,您可以快速迭代,并尝试不同的设置,如数据预处理步骤和培训方案。一旦你有一种感觉,它的设置的话,试着更准确的网络,如启-V3或RESNET,看看是否能改善你的结果。
只有上面的图示出了不同的网络的相对速度的指示。准确预测和训练迭代次数取决于硬件和小批量大小,您使用。
一个好的网络具有较高的精度和速度快。使用现代GPU(一个当该图显示的分类精确度相对于预测时间NVIDIA®特斯拉®P100)和128.预测时间迷你批量大小相对于最快的网络测量。每个标记的面积正比于磁盘上的网络的大小。
在ImageNet验证集的分类准确度是衡量培训了ImageNet网络精度的最常见的方式。网络是准确的ImageNet也经常准确的,当你把它们应用到使用迁移学习或特征提取等自然的图像数据集。这种概括是可能的,因为网络已经学会了从推广到其他类似的数据集自然图像中提取强大和信息量大的特点。然而,在ImageNet高精确度并不总是直接转让给其他任务,所以它是一个好主意,尝试多个网络。
如果你想使用受限的硬件进行预测或通过互联网分发网络,那么也可以考虑在磁盘和内存的网络规模。
有多种方式来计算的ImageNet验证集的分类准确度和不同来源使用不同的方法。有时使用多个模型的集合,有时每个图像被评估使用多个庄稼多次。有时顶5的精度,而不是标准(顶部-1)的精度被引用。由于这些差异,通常是不能直接比较不同来源的准确性。在深度学习工具箱™预训练网络的精度是标准的(顶部-1)的精度使用单个模型和单中心图像作物。
要加载SqueezeNet网络,类型squeezenet
在命令行。
净= squeezenet;
对于其它网络,使用的功能,例如googlenet
获得从附加在资源管理器中的下载链接预先训练网络。
下表列出了培训了ImageNet和它们的一些性质可用预训练网络。网络深度被定义为连续的卷积或完全连接层的从输入层到输出层的路径上的最大数量。所有网络的输入是RGB图像。
网络 | 深度 | 尺寸 | 参数(百万) | 图像输入大小 |
---|---|---|---|---|
squeezenet |
18 | 4.6 MB |
1.24 | 227按227 |
googlenet |
22 | 27 MB |
7 | 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 | 6.3 MB | 1.4 | 224逐224 |
nasnetmobile |
* | 20 MB | 5.3 | 224逐224 |
nasnetlarge |
* | 360 MB | 88.9 | 331-通过-331 |
darknet19 |
19 | 72.5 MB | 21.0 | 256 * 256 |
darknet53 |
53 | 145 MB | 41.0 | 256 * 256 |
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-大型网络不包括模块的线性序列组成。
标准GoogLeNet网络进行训练,在ImageNet数据集,但你也可以加载训练有素的Places365数据集的网络[3][4]。上训练Places365网络图像分类到365个不同的地方的类别,如场,公园,机场跑道,以及大厅。要加载预训练GoogLeNet网络训练有素的Places365数据集,使用googlenet( '权重', 'places365')
。当执行转移学习一项新的任务,最常见的方法是使用预训练上ImageNet网络。如果新任务类似于分类的场景,然后用训练有素的Places365网络可以提供更高的精度。
特征提取是用深度学习的能力,而不必投入时间和精力投入到训练全网络的方便,快捷的方式。因为它只需要在训练图像单程,如果没有GPU它是非常有用的。您提取使用预训练网了解到图像特征,然后用使用这些功能训练分类,如支持向量机金宝appfitcsvm
。
尝试特征提取时,新的数据集是非常小的。既然你只训练所提取的特征简单的分类,训练快。这也是不太可能的微调更深层次的网络层,提高了精确度,因为很少有数据可以借鉴。
如果您的数据是非常相似的原始数据,则更加具体的特征提取的网络中更深的可能是新任务有用。
如果您的数据是从原始数据有很大不同,那么网络中提取出更深的特征可能是你的任务用处不大。试着训练最终分类从早期的网络层中提取更多的一般特征。如果新的数据集很大,那么你也可以尝试从头训练网络。
ResNets往往是很好的特征提取。为说明如何使用用于特征提取一个预训练的网络示例,请参见提取图像功能使用预训练的网络。
您可以通过使用预训练的网络为起点,以新的数据集训练网络微调网络中更深的层次。微调与迁移学习网络往往比建设和培训新的网络更快,更容易。该网络已经学到了丰富的图像特征,但是当你微调它可以学习网络功能具体到新的数据集。如果你有一个非常大的数据集,然后迁移学习可能不会比从头训练速度更快。
微调的网络往往给出最高的精度。对于非常小的数据集(大于大约每20个图像少),尝试特征提取代替。
微调的网络比较慢,而且需要比简单的特征提取更多的努力,但由于网络可以学会提取不同的功能集,最终的网络往往是更准确。微调通常工作比特征提取更好,只要新的数据集不是非常小的,因为那时的网络有数据要借鉴新功能。对于示例来说明如何进行迁移学习,看迁移学习深层网络设计者和火车深学习网络分类新形象。
您可以从TensorFlow导入网络和网络架构®-Keras,来自Caffe和ONNX™(开放式神经网络交换)模型格式。您也可以训练的网络出口到ONNX模型格式。
进口预训练从TensorFlow-Keras网络使用importKerasNetwork
。您可以从同一个HDF5(.h5)文件或独立HDF5和JSON(以.json)文件导入网络和重量两种。欲了解更多信息,请参阅importKerasNetwork
。
从TensorFlow-Keras进口网络架构通过使用importKerasLayers
。您可以导入网络架构,无论有或没有权重。您可以从同一个HDF5(.h5)文件或独立HDF5和JSON(以.json)文件或者导入网络结构和权重。欲了解更多信息,请参阅importKerasLayers
。
进口预训练的网络免受来自Caffe使用importCaffeNetwork
功能。还有的来自Caffe型号动物园提供许多预训练网络[5]。下载所需.prototxt
和.caffemodel
文件和使用importCaffeNetwork
进口预训练的网络到MATLAB®。欲了解更多信息,请参阅importCaffeNetwork
。
您可以导入来自Caffe网络的网络架构。下载所需.prototxt
文件和使用importCaffeLayers
在网络层导入到MATLAB。欲了解更多信息,请参阅importCaffeLayers
。
通过使用ONNX作为中间格式,您可以与其他深度学习框架,互操作支持ONNX模型出口或进口,如TensorFlow,PyTorch,Caffe2,微软金宝app®认知工具包(CNTK),核心ML和Apache MXNet™。
使用导出一个训练有素的深度学习工具箱网络向ONNX模型格式exportONNXNetwork
功能。然后,您可以导入ONNX模式等深学习框架,支持ONXX模型导入。金宝app
采用进口预训练网络从ONNXimportONNXNetwork
和进口网络架构使用或不使用权importONNXLayers
。
[1]ImageNet。http://www.image-net.org
[2] Russakovsky,O.,邓,J.,苏,H。等人。“ImageNet大型视觉识别的挑战。”国际计算机视觉杂志(IJCV)。第115卷,第3期,2015年,第211-252
[3]周,博雷,阿迪亚斯拉,阿形Lapedriza,安东尼奥托拉尔瓦,和奥德奥利瓦。“Places:一个图像数据库进行深场景的理解。”预印本的arXiv的arXiv:1610.02055(2016)。
[4]地方。http://places2.csail.mit.edu/
[5]朱古力型号动物园。http://caffe.berkeleyvision.org/model_zoo.html
深层网络设计师|alexnet
|darknet19
|darknet53
|densenet201
|exportONNXNetwork
|googlenet
|importCaffeLayers
|importCaffeNetwork
|importKerasLayers
|importKerasNetwork
|importONNXLayers
|importONNXNetwork
|inceptionresnetv2
|inceptionv3
|mobilenetv2
|nasnetlarge
|nasnetmobile
|resnet101
|resnet18
|resnet50
|的ShuffleNet
|squeezenet
|vgg16
|vgg19
|xception