主要内容

深度学习在MATLAB

深度学习是什么?

深度学习是机器学习的一个分支,教计算机做什么是自然对人类:从经验中学习。机器学习算法使用计算方法来“学习”信息直接从数据模型不依赖一个预先确定的方程。深度学习尤其适合图像识别,人脸识别等解决问题很重要,运动检测,和许多高级驾驶员辅助技术,如自动驾驶、车道检测、行人检测和自动停车。

深度学习MATLAB工具箱™提供简单®命令用于创建和连接的层深的神经网络。例子和pretrained网络使它容易使用MATLAB进行深度学习,即使没有先进的计算机视觉算法或神经网络的知识。

自由实践介绍实际深度学习方法,明白了深度学习斜坡弯道

你想做什么? 了解更多
执行转移学习调整网络与您的数据

开始使用转移学习深度学习更快

提示

微调pretrained网络学习新任务通常是快得多,也更容易比训练一个新的网络。

与pretrained网络分类图像 Pretrained深层神经网络
创建一个新的深层神经网络分类或回归

创建简单的深度学习网络分类

火车卷积神经网络回归

调整大小、旋转或预处理图像训练和预测 预处理图像深度学习
标签你的图像数据自动基于文件夹的名称,或使用一个应用程序交互

列车网络的图像分类

图片标志(计算机视觉工具箱)

创建序列和时间序列数据的深度学习网络。

使用深度学习序列分类

使用深度学习时间序列预测

图像的每个像素进行分类(例如,道路,汽车,行人) 开始使用语义分割使用深度学习(计算机视觉工具箱)
检测和识别图像中的对象 深度学习、语义分割和检测(计算机视觉工具箱)
文本数据分类 使用深度学习分类文本数据
语音识别的音频数据进行分类 语音命令识别使用深度学习
可视化功能网络已经学到了什么

深度图像使用GoogLeNet梦想

可视化卷积神经网络的激活

火车在CPU、GPU多个GPU,并行地在桌面上或集群的云,和处理数据集太大适合在内存中 深度学习与大数据在gpu和并行执行

了解更多关于深度学习应用领域,包括自动驾驶,明白了深度学习的应用

选择是否使用pretrained网络或创建一个新的网络,考虑在这个表的场景。

学习使用Pretrained网络传输 创建一个新的网络
训练数据 到成千上万的标记图像(小) 数以千计数以百万计的标记图像
计算 中计算(GPU可选) 计算密集型(需要GPU速度)
培训时间 秒到几分钟 几天到几周的实际问题
模型的准确性 好,取决于pretrained模型 高,但可以overfit较小的数据集

有关更多信息,请参见选择网络体系结构

深度学习使用神经网络来学习有用的功能直接从数据表示。神经网络结合多个非线性处理层,使用简单的元素和灵感来自生物神经系统并行操作。深度学习模型可以实现先进的对象分类的准确性,有时超过人类层面的表现。

你火车模型使用大量的标记数据和神经网络架构,包含很多层,通常包括一些回旋的层。训练这些模型是计算密集型的,你通常可以通过使用高性能GPU加速训练。这个图表显示了卷积神经网络结合层自动学习功能许多图像分类的新图像。

许多深度学习应用程序使用图像文件,有时数以百万计的图像文件。为深度学习有效地访问许多图像文件,MATLAB提供的imageDatastore函数。使用这个函数:

  • 自动读取批更快的处理图像的机器学习和计算机视觉应用

  • 导入数据从图像集合,装入内存太大

  • 标签你的图像数据自动基于文件夹的名字

深度学习的10行MATLAB代码

这个例子展示了如何使用深度学习识别对象在一个摄像头只使用MATLAB的10行代码。试着看看简单的例子是在MATLAB开始深度学习。

  1. 运行这些命令如果需要下载,连接摄像头,pretrained神经网络。

    相机=摄像头;%连接到相机网= alexnet;%加载神经网络

    如果你需要安装网络摄像头alexnet附件,出现一个消息从每个函数的链接帮助你下载免费插件使用附加的探险家。另外,看到深度学习工具箱模型AlexNet网络MATLAB万博1manbetx支持USB摄像头的包

    在您安装深度学习工具箱模型AlexNet网络,你可以使用它对图像进行分类。AlexNet是pretrained卷积神经网络(CNN)一直在训练超过一百万张图片,可以分类图像到1000年对象类别(例如,键盘、鼠标、咖啡杯、铅笔,和许多动物)。

  2. 运行以下代码来显示和现场图像进行分类。的摄像头指向一个对象和神经网络报告类的对象认为摄像头显示。它将继续直到你按分类图像Ctrl+C。网络使用的代码调整图像的大小imresize(图像处理工具箱)

    真正的im =快照(相机);%拍照图像(im);%显示图片我= imresize (im (227 227));%调整alexnet的照片标签=分类(净,im);%分类图片标题(char(标签));%显示类的标签drawnow结束

    在这个例子中,网络正确分类一个咖啡杯。实验对象在你的周围,看看准确的网络。

    观看视频的这个例子中,看到的深度学习在11行MATLAB代码

    学习如何扩展这个示例显示类的概率得分,明白了使用深度学习摄像头图像进行分类

    下一步的深入学习,您可以使用pretrained网络其他任务。解决新分类问题在你的图像数据传输学习或特征提取。有关示例,请参见开始使用转移学习深度学习更快火车从Pretrained网络分类器使用的特性。尝试其他pretrained网络,看到的Pretrained深层神经网络

开始使用转移学习深度学习更快

在深度学习应用程序转移学习是常用的。pretrained网络,可以使用它作为一个起点,学习一个新任务。微调和转移网络学习是快得多,也更容易比从头开始训练。您可以快速使网络学习新的任务使用较少的训练图像。转移的优势学习是pretrained网络已经学会了一组丰富的特性,可以应用于广泛的其他类似的任务。

例如,如果你把一个网络训练成千上万的图像,你可以再培训对新对象检测只使用成百上千的图片。可以有效地调整pretrained网络比原来的更小的数据集训练数据。如果你有一个非常大的数据集,然后学习可能不会比训练一个新的网络。

转移学习使您能够:

  • pretrained网络的学习特性转移到一个新问题

  • 转移学习比训练一个新的网络更快和更容易

  • 减少训练时间和数据集的大小

  • 执行深度学习,而不需要学习如何创建一个全新的网络

一个交互式的例子,请参阅转移学习与深层网络设计师

一个编程的例子,看到火车深入学习网络对新图像进行分类

火车从Pretrained网络分类器使用的特性

特征提取允许您使用pretrained网络的力量没有投资时间和精力投入到训练。特征提取可以使用深度学习的最快途径。你提取从pretrained网络学习特性,利用这些特性来训练一个分类器,例如,一个支持向量机(SVM -需要统计和机器学习的工具箱™)。万博1manbetx例如,如果一个SVM训练使用alexnet可以达到准确率> 90%在你的训练和验证集,然后微调转移学习可能不值得付出努力获得一些额外的准确性。如果你对小数据集进行微调,那么你也可能造成过度拟合。如果支持向量机不能达到足够精度对于您的应用程序,然后微调值得努力寻求更高的精度。

例如,看到的使用Pretrained网络提取图像特征

深度学习与大数据在cpu、gpu并行,在云上

神经网络固有的并行算法。你可以利用这个并行性,利用并行计算工具箱™分发培训在多核cpu,图形处理单元(gpu),并与多个cpu和gpu集群的计算机。

训练深度网络极其计算密集型和你通常可以通过使用高性能GPU加速训练。如果你没有合适的GPU,你可以训练在一个或多个CPU核心。你可以训练一个卷积神经网络在一个GPU和CPU、或在多个GPU和CPU核心,或并行集群上。使用GPU或平行的选项需要并行计算工具。

你不需要多台计算机解决问题使用数据集太大装入内存。您可以使用imageDatastore函数来处理批次的数据不需要集群的机器。然而,如果你有一个集群可用,它可以帮助您的代码的数据存储库,而不是移动大量数据。

更多地了解深度学习硬件和内存设置,明白了深度学习与大数据在gpu和并行执行

相关的话题