看完这篇你就懂了深度学习的具体流程和代码该怎么写了!(Deep Learning Onramp)

什么是深度学习

在这里插入图片描述
深度学习是一种使用深度神经网络的机器学习技术。它使用多层网络来进行预测。深度学习开始火热是源于它在图片识别上的高准确性。
在这里插入图片描述
如果使用传统的机器学习方法去识别手写数字,首先需要找出一些度量标准或图像特征用来区分每个数字。针对于我的图像集计算这些特征,然后使用这些特征来训练分类器。

之后,当你要使用这个训练好的分类器对新的图像进行分类时,首先需要计算图像的特征,然后将这些特种传递给分类器。

深度学习的目标是进行端到端的学习,图像本身就是输入,省去了特征寻找的步骤,由深度神经网络自行在图像中学习。

使用预训练网络

将图像导入MATLAB中

在本节课程中,您将学习如何使用预先构建的深度神经网络对下面 12 个图像的内容进行分类。理想的分类应为 ‘beach’、‘cat’、‘cupcakes’、‘lake’、‘fish’ 等。

在此交互练习中,您会将其中部分图像文件导入到 MATLAB 中并查看它们。
在这里插入图片描述
可以使用 imread 函数来导入大多数标准文件格式(GIF、JPEG、PNG 等)的图像。
使用 imshow 函数来显示存储在 MATLAB 变量中的图像。

img1 = imread('file01.jpg')
imshow(img1)

img2 = imread('file02.jpg');
imshow(img2)

img3 = imread('file03.jpg');
imshow(img3)

在这里插入图片描述

执行预测

下面的程序将使用AlexNet网络,该网络是由一个深度学习研究团队,在2012年设计和训练的。
在这里插入图片描述

他们使用1000个类别中的100万个图像,对AlexNet进行了为期一周的训练。下面将学习如何把AlexNet加载到MATLAB中。然后使用AlexNet对图像进行分类。

可以使用 alexnet 函数在 MATLAB 工作区中创建预定义的深度网络“AlexNet”的副本。使用 classify 函数对图像进行预测。

deepnet = alexnet
img1 = imread('file01.jpg');
imshow(img1)

pred1 = classify(deepnet,img1)

在这里插入图片描述

通过附加功能管理器来安装预训练网络的支持包。
在这里插入图片描述

CNN架构

CNN中的层

预训练网络AlexNet是一个卷积神经网络(Convolutional Neural Network, CNN)。CNN是一种常用的神经网络,它适用于其输入本身具有二维结构(如图像)的应用。

像所有神经网络一样,CNN由多个层组成,信息在这些层之间传递。
在这里插入图片描述
对于分类问题,输出层会返回网络对每个可能的类的预测强度。CNN包含由丰富多样的层,但一般来说,其中大部分的层是将输入图像转换维一组特征,最后几层用于执行分类。
在这里插入图片描述
网络是如何做到这一点的呢?

网络的架构,即层的类型、大小、顺序,由架构师选择。这些层本身有许多参数称为权重,权重决定数据在通过层时,各层的行为。这些权重的值是基于已知数据对网络进行训练来确定的。通过这种方式,网络可以从这些数据中学习到其行为。两个网络可以有相同的架构,但如果使用不同数据集进行训练,这两个网络的行为会有所不同。

查看网络层

像任何 CNN 一样,AlexNet 在 MATLAB 中表示为一个层数组。需要特别关注此数组的第一个和最后一个元素,它们分别代表输入层和输出层。
在这里插入图片描述
下面练习中,您将查看这些层的属性,以确定 AlexNet 接受什么形式的图像作为输入,以及它可以返回哪些类作为输出。

deepnet = alexnet;
ly = deepnet.Layers

% 变量 ly 是由网络层构成的数组
% 通过使用常规的 MATLAB 数组索引对 ly 进行索引来查看单个层
inlayer = ly(1)

在这里插入图片描述

% 网络的每个层都有与其类型相关的属性
% 输入层的一个重要属性是 InputSize,它是网络要求的输入图像大小(维度)
insz = inlayer.InputSize

在这里插入图片描述
灰度图像在 MATLAB 中表示为 m×n 数组,每个元素的值代表对应图像像素的强度。彩色图像表示为 m×n×3 数组,三个 m×n 平面分别表示红色、绿色和蓝色强度。

% 输出层的 Classes 属性给出了训练的网络可预测的类别名称。
outlayer = ly(end)
categorynames = outlayer.Classes

  • 3
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值