您可以使用已经学会从自然图像中提取强大和信息性功能的预磨料图像分类网络,并将其作为学习新任务的起点。大多数普试网络都培训了ImageNet数据库的子集[1],用于ImageNet大规模视觉识别挑战(ILSVRC)[2].这些网络已在超过一百万图像上培训,可以将图像分类为1000个对象类别,例如键盘,咖啡杯,铅笔和许多动物。使用带传输学习的预磨平网络通常比从头划伤训练网络更快更容易。
您可以使用先前培训的网络进行以下任务:
目的 | 描述 |
---|---|
分类 | 将净化网络直接应用于分类问题。分类新图像,使用 |
特征提取 | 使用将PrettRINATWERWNETWATIONS作为特征提取器用作特征。您可以使用这些激活作为要训练另一台机器学习模型的功能,例如支持向量机(SVM)。金宝app有关更多信息,请参见特征提取.例如,看到利用预训练网络提取图像特征. |
转移学习 | 从培训的网络中占据在大数据集和新数据集上的微调。有关更多信息,请参见转移学习.对于一个简单的例子,请参阅开始学习.尝试更多备用网络,请参阅培训深度学习网络以分类新图像. |
预磨料网络具有不同的特征,重要的是在选择网络时适用于您的问题。最重要的特征是网络精度,速度和尺寸。选择网络通常是这些特征之间的权衡。使用下面的曲线比较了使用网络预测所需的时间来比较ImageNet验证准确性。
提示
要开始转移学习,请尝试选择一个更快的网络之一,例如挤压罩或googlenet。然后,您可以快速迭代并尝试不同的设置,例如数据预处理步骤和培训选项。一旦您的感觉良好地运行了哪种设置,请尝试更准确的网络,如Inception-V3或Reset,并查看它是否提高了结果。
请注意
上面的图只显示了不同网络的相对速度。准确的预测和训练迭代时间取决于您使用的硬件和小批量大小。
良好的网络精度高,快速。使用现代GPU时,绘图显示分类准确性与预测时间(一个nvidia.®特斯拉®P100)和迷你批量大小为128.预测时间相对于最快的网络测量。每个标记的区域与磁盘上网络的大小成比例。
ImageNet验证集的分类准确性是测量在想象集上培训的网络精度的最常见方法。当您使用传输学习或特征提取将其应用于其他自然图像数据集时,在想象中准确的网络也经常准确。这种概括是可能的,因为网络已经学会了从概括到其他类似数据集的自然图像中提取强大和信息性的功能。但是,在想象中的高精度并不总是直接转移到其他任务,因此尝试多个网络是一个好主意。
如果您希望使用受限的硬件或在Internet上分布网络执行预测,那么还要考虑磁盘和内存中的网络大小。
有多种方法可以在想象集验证集和不同的源使用不同的方法中计算分类准确性。有时,使用多种模型的集合,有时使用多次作物评估每个图像。引用有时前5个准确性而不是标准(Top-1)准确度。由于这些差异,通常不可能直接比较来自不同来源的精度。深度学习工具箱™中预用网络的准确性是使用单一型号和单一中心图像裁剪的标准(Top-1)精度。
加载Screezenet网络,键入挤压
在命令行。
net =挤压;
对于其他网络,请使用如下功能googlenet.
获取链接以从附加资源管理器下载掠夺网络。
下表列出了在Imageenet上培训的可用普试网络和其部分属性。网络深度被定义为从输入层到输出层的路径上的最大数量的顺序卷积或完全连接的图层。所有网络的输入都是RGB图像。
网络 | 深度 | 大小 | 参数(百万) | 图像输入大小 |
---|---|---|---|---|
挤压 |
18 | 5.2 MB. |
1.24 | 227-by-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年 |
Xcepion. |
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-by-256 |
Darknet53. |
53 | 155 MB. | 41.6 | 256-by-256 |
efficientnetb0 |
82. | 20 MB | 5.3 | 224年- 224年 |
alexnet |
8 | 227 MB |
61.0 | 227-by-227 |
vgg16. |
16 | 515 MB. |
138 | 224年- 224年 |
vgg19. |
19 | 535 MB. |
144 | 224年- 224年 |
* NASNet-Mobile和NASNet-Large网络不是由一个线性序列的模块组成。
标准googlenet网络在ImageNet数据集中培训,但您也可以加载在Place365数据集上培训的网络[3][4].在Places365上训练的网络将图像分为365个不同的地方类别,如场地、公园、跑道、大厅。要在Places365数据集上加载经过预先训练的GoogLeNet网络,请使用googlenet('权重','partn365')
.在执行转移学习时执行新任务时,最常见的方法是在想象集上使用预追溯的网络。如果新任务类似于分类场景,则使用在Place365上培训的网络可以提供更高的精度。
您可以使用备用网络加载和可视化掠夺网络深网络设计师.
DeepNetWorkDesigner(挤压)
要查看和编辑图层属性,请选择一个图层。有关图层属性的信息,请单击图层名称旁边的“帮助”图标。
点击探索深网络设计师中的其他预磨损网络新的.
如果您需要下载网络,那么单击安装以打开附加组件资源管理器。
特征提取是一种简单快捷的方法,可以使用深度学习的力量而无需投资时间和努力培训完整的网络。因为它只需要单次通过训练图像,所以如果您没有GPU,则特别有用。您使用佩带的网络提取学习的图像功能,然后使用这些功能培训分类器,例如支持向量机使用金宝appfitcsvm.
(统计学和机器学习工具箱).
当您的新数据集非常小时,尝试特征提取。由于您只在提取的特征上训练一个简单的分类器,因此训练速度很快。对网络的更深层次进行微调也不太可能提高精确度,因为可供学习的数据很少。
如果您的数据与原始数据非常类似,则网络中提取更深的功能可能对新任务很有用。
如果您的数据与原始数据非常不同,那么从网络深处提取的特征可能对您的任务用处不大。尝试用从较早的网络层提取的更一般的特征来训练最终的分类器。如果新数据集很大,那么您也可以尝试从头开始训练网络。
resnet通常是很好的特征提取器。有关如何使用预先训练的网络进行特征提取的示例,请参见利用预训练网络提取图像特征.
您可以通过将网络培训在新数据集中作为起始点进行新数据集的网络中的微调更深层次。微调带传输学习的网络通常比构建和培训新网络更快更容易。网络已经学习了丰富的图像功能,但是当您微调网络时,它可以学习特定于新数据集的功能。如果您有一个非常大的数据集,则转移学习可能不会比从头划痕训练更快。
提示
微调网络通常提供最高精度。对于非常小的数据集(每类少于约20个图像),请尝试尝试提取特征提取。
与简单的特征提取相比,微调网络速度更慢,需要更多的努力,但由于网络可以学习提取一组不同的特征,最终的网络往往更准确。只要新数据集不是很小,微调通常比特征提取工作得更好,因为这样网络就有数据可以学习新特征。有关如何进行迁移学习的示例,请参见用深网络设计师转移学习和培训深度学习网络以分类新图像.
您可以从Tensorflow导入网络和网络架构®-Keras、Caffe和ONNX™(Open Neural Network Exchange)模型格式。您还可以将训练过的网络导出为ONNX模型格式。
使用TensorFlow-Keras导入预先训练好的网络importKerasNetwork
.您可以从相同的HDF5 (.h5)文件或单独的HDF5和JSON (. JSON)文件导入网络和权重。有关更多信息,请参见importKerasNetwork
.
通过使用TensorFlow-Keras导入网络架构importKeraslayers.
.您可以导入网络架构,也可以不导入权重。您可以从相同的HDF5 (.h5)文件或单独的HDF5和JSON (. JSON)文件导入网络架构和权重。有关更多信息,请参见importKeraslayers.
.
通过使用通过Caffe导入净化的网络importCaffeNetwork
函数。Caffe Model动物园有许多掠夺网络[5].下载所需的.prototxt.
和.CaffeModel.
文件和使用importCaffeNetwork
将预先训练好的网络导入MATLAB®.有关更多信息,请参见importCaffeNetwork
.
您可以导入Caffe网络的网络架构。下载所需的.prototxt.
文件,并使用importCaffeLayers
将网络图层导入MATLAB。有关更多信息,请参见importCaffeLayers
.
通过使用ONNX作为中间格式,您可以与其他支持ONNX模型导出或导入的深度学习框架互操作,如TensorFlow, PyTorch,咖啡因2,Microsoft金宝app®认知工具包(CNTK),核心ML和Apache MXNet™。
导出训练的深度学习工具箱网络到ONNX模型格式使用exportONNXNetwork
函数。然后,您可以将ONNX模型导入到其他支持ONXX模型导入的深度学习框架中。金宝app
从ONNX使用导入净化网络importONNXNetwork
以及导入网络架构是否使用权重importonnxLayers.
.
使用Deep Learning Toolbox与Audio Toolbox™一起使用Pretry Networks进行音频和语音处理应用程序。
Audio Toolbox提供了预先训练的VGGish和YAMNet网络。使用vggish
(音频工具箱)和yamnet.
(音频工具箱)功能与磨粉网络直接交互。这classifysound.
(音频工具箱)函数对yamnet进行必需的预处理和后处理,以便您可以将声音定位和分类为521个类别中的一个。您可以使用浏览yamnet本体yamnetgraph..
(音频工具箱)函数。这vggishfeatures.
(音频工具箱)函数执行必要的预处理和后处理,以便VAGA出来,使您可以提取要嵌入的功能嵌入式以输入到机器学习和深度学习系统。有关使用深度学习进行音频应用的更多信息,请参阅音频应用深度学习简介(音频工具箱).
使用VGGish和YAMNet进行迁移学习和特征提取。例如,请参见通过预先训练的音频网络进行迁移学习(音频工具箱).
要查找最新的佩带模型和示例,请参阅MATLAB深度学习(GitHub).
例如:
对于变压器模型,如GPT-2,BERT和FINGERT,请参阅基于MATLAB的变压器模型GitHub.®存储库。
对于紫罗兰yolo-v4对象检测模型,如yolov4-coco和yolov4-tiny-coco,见预训练的YOLO-v4对象检测网络GitHub库。
[1]想象成.http://www.image-net.org.
[2] Russakovsky, O., Deng J., Su H., et al. " ImageNet大规模视觉识别挑战。"国际计算机视觉杂志(IJCV).2015年第3期,第115卷,211-252页
[3] Zhou, Bolei, Aditya Khosla, Agata Lapedriza, Antonio Torralba和Aude Oliva。“地点:用于深度场景理解的图像数据库。”ARXIV预印符号:1610.02055(2016)。
[4]地点.http://places2.csail.mit.edu/
[5]Caffe Model动物园.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
|挤压
|vgg16.
|vgg19.
|Xcepion.