Pretrained深层神经网络
你可以乘pretrained图像分类网络,已经学会了从自然图像中提取强大的和翔实的功能和使用它作为一个起点,学习一个新任务。大多数pretrained网络训练ImageNet数据库的一个子集[1],用于ImageNet大规模视觉识别的挑战(ILSVRC)[2]。这些网络一直在训练图像和可以分类图像到1000年超过一百万对象类别,如键盘、咖啡杯、铅笔,和许多动物。使用pretrained网络转移学习通常是快得多,也更容易比从头培训网络。
您可以使用以前训练网络以下任务:
目的 | 描述 |
---|---|
分类 | pretrained网络直接适用于分类问题。分类的新形象,使用 |
特征提取 | 使用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可以给更高的精度。
pretrained信息网络适合音频任务,明白了Pretrained网络音频应用程序。
可视化Pretrained网络
你可以加载和可视化pretrained网络使用深层网络设计师。
deepNetworkDesigner (squeezenet)
查看和编辑图层属性,选择一个层。点击旁边的帮助图标信息层的图层名称属性。
探索其他pretrained网络深陷网络设计师通过点击新。
如果你需要下载一个网络,点击所需的网络和暂停安装打开插件浏览器。
特征提取
特征提取是一种简单、快捷的方法来使用深度学习的力量没有投资时间和精力投入到训练一个完整的网络。因为它只需要一个经过培训的图片,这是特别有用如果你没有一个GPU。你使用pretrained网络提取了图像特征,然后利用这些特征来训练分类器,如支持向量机使用万博1manbetxfitcsvm
(统计和机器学习的工具箱)。
特征提取你的新数据时将非常小。因为你只训练一个简单的分类器对提取的特征,训练是快。它也不太可能微调深层网络提高精度的自学习几乎没有数据。
如果您的数据是非常类似于原始数据,然后更深、更特定的特征提取的网络中可能是有用的新任务。
如果您的数据是非常不同于原始数据,然后更深层次的网络中提取的特征可能对你的任务那么有用。试培训最终的分类器从早期网络层中提取更一般的特性。如果新数据集很大,那么你也可以尝试从头培训网络。
ResNets往往好的特征提取器。为一个例子,演示如何使用pretrained网络特征提取,明白了使用Pretrained网络提取图像特征。
转移学习
您可以通过训练调整网络中深层网络在你的新数据集pretrained网络作为起点。微调网络转移学习往往是更快和更容易比构造和训练一个新的网络。网络已经学会了一组丰富的图像功能,但是当你调整网络可以学习新特性特定于您的数据集。如果你有一个非常大的数据集,然后从头学习可能不会高于训练。
提示
微调网络经常给最高的精度。非常小的数据集(少于20图片每个类),尝试特征提取。
微调网络比简单的特征提取速度较慢,需要更多的努力,但由于网络可以学习中提取一组不同的特性,最后网络往往是更准确的。微调通常比新数据集特征提取,只要不是非常小,因为这样的网络数据学习新特性。的例子显示如何执行转移学习,明白了转移学习与深层网络设计师和火车深入学习网络对新图像进行分类。
进出口网络
可以导入网络和网络体系结构从TensorFlow™-Keras, TensorFlow 2的ONNX™(打开神经网络交换)模型格式,和咖啡。您还可以导出训练网络ONNX模型格式。
导入功能
外部深度学习平台和模型格式 | 导入模型网络 | 导入模型层图 |
---|---|---|
网络在ONNX模型格式 | importONNXNetwork |
importONNXLayers |
TensorFlow网络模型格式保存 | importTensorFlowNetwork |
importTensorFlowLayers |
在HDF5 TensorFlow-Keras网络或JSON格式 | importKerasNetwork |
importKerasLayers |
咖啡网络架构.prototxt 文件和权重.caffemodel 文件 |
importCaffeNetwork |
importCaffeLayers |
的importTensorFlowNetwork
和importTensorFlowLayers
函数是推荐的importKerasNetwork
和importKerasLayers
功能:
的
importTensorFlowNetwork
和importTensorFlowLayers
函数支持Tensor万博1manbetxFlow 2。支持TensorFlow版本的更多信息,请参阅万博1manbetx限制。更多信息的优势从TensorFlow 1迁移到TensorFlow 2,明白了https://www.tensorflow.org/guide/migrate。的
importTensorFlowNetwork
和importTensorFlowLayers
函数支持保存的模型格万博1manbetx式,而importKerasNetwork
和importKerasLayers
万博1manbetx支持HDF5格式。TensorFlow建议保存的模型格式。考虑把你的TensorFlow网络导入之前保存的模型格式网络MATLAB®。的
importTensorFlowNetwork
和importTensorFlowLayers
当你导入自定义功能可以自动生成自定义层TensorFlow层或当软件不能TensorFlow层转化为等价的内置MATLAB层。例如,看到的进口TensorFlow网络自动生成自定义层。
的importONNXNetwork
和importONNXLayers
功能还可以生成自定义层当软件不能ONNX运营商转换成等价的内置MATLAB层。例如,看到的进口ONNX网络自动生成自定义层。在极少数情况下,当importONNXNetwork
和importONNXLayers
不能一个ONNX模型导入到层,您可以使用importONNXFunction
导入模型作为一个函数。为更多的信息关于如何选择一个ONNX导入功能,看看选择要导入的函数ONNX Pretrained网络。
通过使用ONNX作为中间格式,您可以与其他深度学习互操作框架,支持ONNX模型导出或导入,如TensorFlow PyTorch Caffe2,微软万博1manbetx®认知工具包(CNTK),核心毫升,Apache MXNet™。出口一个训练有素的深度学习工具箱网络或网络层的图ONNX模型格式使用exportONNXNetwork
函数。
Pretrained网络音频应用程序
音频工具箱™提供pretrained VGGish、YAMNet OpenL3,绉网络。使用vggish
(音频工具箱),yamnet
(音频工具箱),openl3
(音频工具箱),绉
(音频工具箱)在MATLAB函数VGGish(音频工具箱)和YAMNet(音频工具箱)在仿真软件万博1manbetx®直接与pretrained交互网络。你也可以导入和可视化音频pretrained网络使用深层网络设计师。
下表列出了可用pretrained音频网络和他们的一些属性。
网络 | 深度 | 大小 | 参数(百万) | 输入的大小 |
---|---|---|---|---|
绉 (音频工具箱) |
7 | 89.1 MB |
22.2 | 1024 - 1 - 1 |
openl3 (音频工具箱) |
8 | 18.8 MB |
4.68 | 128 - 199 - 1 |
vggish (音频工具箱) |
9 | 289 MB |
72.1 | 96 - 64 - 1 |
yamnet (音频工具箱) |
28 | 15.5 MB |
3.75 | 96 - 64 - 1 |
使用VGGish和YAMNet执行转移学习和特征提取。提取VGGish或OpenL3功能嵌入的机器学习和深入学习系统的输入。的classifySound
(音频工具箱)函数和声音分类器(音频工具箱)块使用YAMNet定位和听起来成一个521个类别进行分类。的pitchnn
(音频工具箱)执行深度学习音高估计函数使用绉。
示例显示了如何适应pretrained音频网络新任务,明白了学习与Pretrained音频网络传输(音频工具箱)和转移与Pretrained音频网络学习深陷网络设计师。
有关使用深度学习音频应用程序的更多信息,见介绍深学习音频应用程序(音频工具箱)。
Pretrained模型GitHub
找到最新的pretrained模型,明白了MATLAB深学习模型中心。
例如:
对于变压器模型,如GPT-2,伯特,FinBERT,看到MATLAB变压器模型GitHub®存储库。
对于pretrained YOLO-v4 YOLOv4-coco和YOLOv4-tiny-coco等目标检测模型,看到Pretrained YOLO-v4网络对象检测GitHub库。
引用
[1]ImageNet。http://www.image-net.org
[2]Russakovsky, O。邓,J。苏,H。,et al. “ImageNet Large Scale Visual Recognition Challenge.”国际计算机视觉杂志(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
另请参阅
alexnet
|googlenet
|inceptionv3
|densenet201
|darknet19
|darknet53
|resnet18
|resnet50
|resnet101
|vgg16
|vgg19
|shufflenet
|nasnetmobile
|nasnetlarge
|mobilenetv2
|xception
|inceptionresnetv2
|squeezenet
|importCaffeNetwork
|importCaffeLayers
|importKerasLayers
|importKerasNetwork
|exportONNXNetwork
|importONNXLayers
|importONNXNetwork
|深层网络设计师
相关的话题
- 深度学习在MATLAB
- 转移学习与深层网络设计师
- 使用Pretrained网络提取图像特征
- 分类图像使用GoogLeNet
- 火车深入学习网络对新图像进行分类
- 卷积神经网络的可视化特性
- 可视化卷积神经网络的激活
- 深度图像使用GoogLeNet梦想