深度学习

理解和使用深度学习网络

跳进深渊

您好,欢迎来深学习新的MATLAB中心博客!在我的MATLAB和工具箱的开发和设计的24年,我很高兴能来解决这个新项目。

深度学习指的机器学习技术的集合,是基于对具有大量的层(因此“深”)神经网络。通过训练上标记的数据集这些网络中,它们可使用图像,文本和声音作为输入实现上分类任务状态的最先进的精度。

由于我的图像处理中的背景,我已经遵循了过去几年的深入学习的快速进展,非常兴趣。我想和你分享关于该地区的探索和与Matlab的深入学习思想的探索。为此,在我们探索时,若干开发商已经自愿借用主题和代码和技术指导。他们正在建立深入的学习能力,尽可能快地在产品中如:下载188bet金宝搏

  • 神经网络工具箱
  • 并行计算工具箱
  • 图像处理工具箱
  • 计算机视觉系统工具箱
  • 自动驾驶系统工具箱
  • GPU编码器

我会向他们介绍你随着我们与MATLAB深度学习的细节。

如果你跟着我的图像处理博客帖子,您可以在此期间期待类似的风格。主题将是一个概念教程,例子和案例研究,特征探索和提示的混合。我想我们会讨论表演,GPU硬件和在线数据集。也许我们会为有趣的东西做一些事情,就像上个月由一个Mathworks开发人员建造的LSTM网络一样,这些网络是Spouts Shakespeare的诗歌。

如需订阅,或者使用电子邮件或RSS,点击“订阅”链接页面的顶部。

我将离开你基于AlexNet有点挑逗。我只是插入一个摄像头,在MATLAB连接到它。

C =摄像头
C =摄像头与属性:名称: '微软LifeCam的电影(TM)' 分辨率: '640×480' AvailableResolutions:{1×11细胞} ExposureMode: '自动' Wh金宝搏官方网站iteBalanceMode: '自动' 焦点:33 BacklightCompensation:5个锐度:25放大:0 FocusMode: '自动' 倾斜:0亮度:143潘:0光圈:4500饱和度:83曝光:-6对比:5

接下来,我加载了一个已用百万图像预先预先磨削的AlexNet网络。网络可以将图像分类为1,000个不同的对象类别。

nnet = alexnet.
nnet = seriesnetwork with属性:图层:[25×1 nnet.cnn.layer.layer]

您也可以尝试其他网络。例如,在您升级到R2017B之后,您可以通过使用来试验Googlenet净= googlenet

这25个网络层是什么样的?

nnet.layers.
ANS = 25×层阵列层:1 '数据' 图像输入227x227x3图像与 'zerocenter' 正常化2 'CONV1' 卷积96个11x11x3卷积与步幅[4 4]和填充[0 0 0 0] 3 'relu1' RELU RELU 4“NORM1”跨渠道正常化交叉通道,每个元件5个频道5“POOL1”最大池3x3的最大蓄留与步幅[2 2]和填充[0 0 0 0]正常化6“CONV2”卷积256个5x5x48卷积步幅[1 1]和填补[2 2 2 2] 7 'relu2' RELU RELU 8 'NORM2' 跨渠道正常化交叉通道,每个元件5个通道9 'POOL2' 最大池3x3的最大蓄留与步幅[2 2]和填充正常化[0 00 0] 10 'conv3' 卷积384个3x3x256卷积步幅[1 1]和填充[1 1 1 1] 11 'relu3' RELU RELU 12 'CONV4' 卷积384个3x3x192卷积步幅[1 1]和填充[1 11 1] 13 'relu4' RELU RELU 14 'conv5' 卷积256个3x3x192卷积步幅[1 1]和填充[1 1 1 1] 15 'relu5' RELU RELU 16 'pool5'最大池3x3的最大蓄留与步幅[2 2]和填充[0 0 0 0] 17 'FC6' 完全连接4096完全连接层18 'relu6' RELU RELU 19 'drop6' 降50%漏失20 'FC7' 完全连接4096完全连接层21“relu7” RELU RELU 22“drop7”降50%漏失23“FC8”完全连接1000完全连接层24“的概率”使用SoftMax SOFTMAX 25“输出”分类输出crossentropyex与“丁鲷”,“金鱼”,和998其他类

我碰巧知道'咖啡杯'是其中一个类别。网络将如何与23岁的Matlab“图片电源”杯子从我的书架中进行?

下面是使用我带着我的摄像头快照pic =快照(c)

imshow(pic)

第一层接受输入。它会告诉我们网络接受的图像大小。

nnet.layers(1)
ANS = ImageInputLayer具有属性:名称:'Data'InputSize:[227 227 3] HyperParameters DataAugmentation:'无'标准化:'Zerocenter'

所以我需要在向网络喂它之前调整快照到227x227。

pic2 = imresize(pic,[227 227]);imshow(pic2)

现在,我可以尝试归类。

标签=分类(NNET,PIC2)
标签=分类咖啡杯

好的!但我不知道还有什么网络认为这可能是什么?这预测函数可以返回分数的所有类别。

p =预测(nnet,pic2);情节(P)

有几个值得注意的预测峰。我会用这件事Maxk.函数(R2017B中的新功能)找到它们的位置,然后我将在网络的最后一层中的类别标签列表中查找这些位置。

[P3,I3] = maxk(P,3);
P3
P3 = 1×3单排矢量0.2469 0.1446 0.1377
I3
I3 = 505 733 623
nnet.layers(结束)
ANS =具有属性的ClassificationOutputLayer:名称:'输出'ClassNames:{1000×1个单元格}输出:1000 HyperParameters Lock功能:'Crossentropyex'
nnet.Layers(端).ClassNames(I3)
ans = 3×1个单元阵列{'咖啡mug'} {'宝丽来相机'} {'镜头帽'}

唔。我很高兴咖啡杯在上面出来。我不能将咖啡倒入相机或镜头上限!

请记住,有关此新博客的选项,请单击页面顶部的“订阅”链接。

最后,为我的笔记图像处理博客读者:别担心,我也会继续为那个博客写作。




发布时间与MATLAB®R2017b

|
  • 打印
  • 发电子邮件

注释

要发表评论,请点击这里登录您的MathWorks帐户或创建新的。