主要内容

学习开始转移

这个例子展示了如何使用转移学习再教育SqueezeNet, pretrained卷积神经网络,对一组新的图像进行分类。尝试这个例子来看看简单的开始深度学习在MATLAB®。

视觉预排的例子,看视频。

deep-network-designer-app.jpg

在深度学习应用程序转移学习是常用的。pretrained网络,可以使用它作为一个起点,学习一个新任务。微调网络转移学习通常比训练一个网络快得多,也更容易与随机初始化权重从零开始。您可以快速学习功能转移到一个新的任务使用较少的训练图像。

提取数据

在工作区中,提取MathWorks营销数据集。这是一个小数据集包含75的图像MathWorks商品,属于五个不同的类(,多维数据集,打牌,螺丝刀,火炬)。

解压缩(“MerchData.zip”);

负载Pretrained网络

打开深层网络设计师。

deepNetworkDesigner

选择SqueezeNet从pretrained网络的列表并点击开放

深层网络设计师的缩放视图显示整个网络。

探索网络图。放大用鼠标,使用Ctrl+滚轮。锅,使用箭头键或按住并拖动鼠标的滚轮。选择一个图层查看其属性。取消选择所有图层来查看网络总结属性窗格。

导入数据

将数据加载到深层网络设计师,在数据选项卡上,单击导入数据>导入图像分类数据

数据源列表中,选择文件夹。点击浏览并选择提取MerchData文件夹。

将数据分为训练数据70%和30%的验证数据。

指定训练图像增强操作执行。数据增加有助于防止网络过度拟合和记忆的训练图像的细节。对于这个示例,应用随机反射轴,一个随机的旋转范围(-90、90)度,和一个随机重新调节范围[1,2]。

点击进口将数据导入到深层网络设计师。

学习编辑网络传输

再培训SqueezeNet分类新的图片,取代过去的二维卷积层和最后的分类层网络。在SqueezeNet,这些层的名字“conv10”“ClassificationLayer_predictions”,分别。

设计师窗格中,拖一个新的convolution2dLayer到画布上。匹配原始卷积层,集FilterSize1,- 1。编辑NumFilters在新数据类的数量,在这个例子中,5

改变利率,这样学习是学习更快的新层的传输层的设置WeightLearnRateFactorBiasLearnRateFactor10

删除最后一个二维卷积层和连接你的新层。

替换输出层。滚动到结束的层的图书馆并拖动一个新的classificationLayer到画布上。删除原来的输出层和连接你的新层。

列车网络的

选择训练选项,选择培训选项卡并单击培训方案。设置初始学习速率减缓学习在一个较小的值传输层。在前面的步骤中,您增加了学习速率因子二维卷积层加快学习在新的最后一层。这种组合的学习速率设置导致快速学习只有在新的层和慢学习其他层。

对于这个示例,集InitialLearnRate0.0001,MaxEpochs8,ValidationFrequency5。有55的观察,集MiniBatchSize11把训练数据均匀,确保整个训练集用于在每个时代。

训练的网络培训指定选项,点击好吧然后点击火车

深层网络设计师允许您可视化和监控培训的进展。然后您可以编辑培训选项和培训网络,如果需要的话。

导出结果,生成MATLAB代码

出口培训的结果,培训选项卡上,选择出口>出口网络和训练的结果。深层网络设计师出口训练网络的变量trainedNetwork_1和培训信息的变量trainInfoStruct_1

你也可以生成MATLAB代码,再现了网络和使用培训选项。在培训选项卡上,选择出口>生成代码的训练。检查MATLAB代码来学习如何编程的数据准备培训,创建网络体系结构,和培训网络。

分类新形象

加载一个新的图像分类使用训练网络。

我= imread (“MerchDataTest.jpg”);

调整测试图像匹配网络输入的大小。

I = imresize(我,(227 227));

分类测试图像使用训练网络。

(YPred,聚合氯化铝)= (trainedNetwork_1, I)进行分类;imshow (I)标签= YPred;标题(string(标签)+”、“+ num2str(100 *马克斯(聚合氯化铝),3)+“%”);

引用

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

[2]Iandola,福勒斯特N。,Song Han, Matthew W. Moskewicz, Khalid Ashraf, William J. Dally, and Kurt Keutzer. "SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5 MB model size." Preprint, submitted November 4, 2016. https://arxiv.org/abs/1602.07360.

[3]Iandola,福勒斯特N。“SqueezeNet。”https://github.com/forresti/SqueezeNet。

另请参阅

|||

相关的话题