深度学习是机器学习,教计算机做什么顺其自然人类的一个分支:从经验中学习。机器学习算法使用的计算方法直接从数据“学习”的信息,而不依赖于预定方程模型。深度学习特别适合于图像识别,这是解决问题,如面部识别,运动检测,以及许多先进的驾驶辅助技术,如自动驾驶,车道检测,行人检测,并自主停车重要。
深度学习工具箱™提供了简单的MATLAB®用于创建和深神经网络的各层互连命令。实例和预训练的网络可以很容易地使用MATLAB深学习,即使没有先进的计算机视觉算法或神经网络知识。
对于免提上介绍实用深的学习方法,请参阅深度学习匝道。
你想让我做什么? | 学到更多 |
---|---|
与您的数据传输进行学习,以微调网络 |
小费微调预训练网络来学习新的任务通常要比培养一个新的网络更快,更容易。 |
分类图像与网络预先训练 | 预训练深层神经网络 |
创建分类或回归新的深层神经网络 | |
缩放,旋转,或培训或预测预处理图像 | 深学习预处理图像 |
自动标签图像数据根据文件夹名称,或交互使用的应用程序 | |
创建序列和时间序列数据的深度学习网络。 | |
分类的图像的每一个像素(例如,道路,汽车,行人) | 入门语义分割使用Deep学习(计算机视觉工具箱) |
检测和识别图像中的物体 | 深度学习,语义分割,并检测(计算机视觉工具箱) |
分类文本数据 | 分类文本数据使用Deep学习 |
语音识别分类的音频数据 | 语音命令识别使用Deep学习 |
可视化什么特色网络已经学会 | |
火车上的CPU,GPU,多GPU,在桌面上或在云团平行,并与工作数据集太大,无法在内存 | 深度学习与大数据在GPU和并行 |
要了解更多关于深学习应用领域,包括自动驾驶,见深学习中的应用。
要选择是否使用预训练的网络或创建新的网络深,考虑场景在此表中。
使用预训练网络的迁移学习 | 创建一个新的深网 | |
---|---|---|
训练数据 | 成百上千个标记的图像(小) | 数千到数百万标记的图像 |
计算 | 中等计算(GPU可选) | 计算密集型(需要GPU速度) |
训练时间 | 数秒到数分钟 | 几天到几周的实际问题 |
模型的准确性 | 好,取决于预训练模式 | 高,但可以对过度拟合小数据集 |
欲了解更多信息,请参阅选择网络架构。
深度学习使用神经网络直接从数据学习的功能,用的表现。神经网络将多个非线性处理层,使用并行地操作和通过生物神经系统的启发简单元素。深度学习模型可以实现国家的最先进的准确性,对象分类,有时甚至超过人类水平的性能。
您可以使用一大组标签的数据,并包含许多层,通常包括一些卷积层神经网络结构的训练模式。培训这些模型是计算密集型的,你通常可以使用高性能GPU加速的培训。此图显示了卷积神经网络相结合,可自动学习到许多图像功能,新的图像进行分类层。
许多深度学习应用程序使用的图像文件,有时数以百万计的图像文件。要为深度学习有效地访问多个图像文件,MATLAB提供imageDatastore
功能。使用此功能:
自动读取批量图像更快的机器学习和计算机视觉应用中处理
从图像集是太大,无法在内存中的数据导入
根据文件夹名称自动标签图像数据
这个例子说明了如何使用深度学习,以确定只使用10的MATLAB代码行对现场摄像头的对象。尝试的例子,看看它是多么简单上手与MATLAB深度学习。
运行这些命令得到,如果需要的下载,连接到网络摄像头,并获得预训练神经网络。
相机=摄像头;%连接到相机净= alexnet;%负载的神经网络
如果您需要安装摄像头
和alexnet
从每个功能似乎插件,邮件的链接,以帮助您下载免费的附加组件使用的Add-On资源管理器。另外,看深度学习工具箱模型对于AlexNet网络和MATLAB万博1manbetxSupport Package的USB摄像头。
您安装后深学习工具箱型号对于AlexNet网络,你可以用它来进行分类的图像。AlexNet是预训练卷积神经网络(CNN)已经培训了超过一百万的图像,并可以分类图像转换成1000点对象的类别(例如,键盘,鼠标,咖啡杯,铅笔,和许多动物)。
运行下面的代码来显示和分类实时图像。指向对象的网络摄像头和神经网络报告它在想什么类对象的摄像头显示。它会一直保持到您按分类图片按Ctrl+C。该代码使用调整图像大小为网络imresize
。
而真IM =快照(照相机);%拍照图像(IM);%显示图片IM = imresize(1M,[227 227]);%调整图片的alexnet标记=分类(净,IM);%分类图片标题(炭(标签));%显示类标签的DrawNow结束
在这个例子中,网络正确分类咖啡杯。实验在你周围的物体,看看网络如何准确的。
要观看这个例子中的视频,请参阅深学习的Matlab代码的11条线路。
要了解如何扩展这个例子,并显示类的概率得分,见使用Deep学习分类网络摄像头图像。
对于深度学习接下来的步骤,您可以使用其他任务预训练网络。解决与转让的学习或者特征提取图像数据的新的分类问题。举例来说,看到开始深度学习更快的使用迁移学习和火车量词使用功能提取从预训练网络。尝试其他预训练网络,看预训练深层神经网络。
迁移学习在深学习应用中常用的。你可以采取预训练网络,并以此为起点,学习新的任务。微调与迁移学习网络是不是从头开始培训更快,更容易。您可以快速使网络学习使用训练图像的数少的新任务。迁移学习的优点是预训练的网络已经学到了丰富的可应用于范围广泛的其他类似任务的功能。
例如,如果你把培训了数千或数百万图像的网络,你能锻炼仅使用数百幅图像的新对象检测。可以有效地微调预训练网络小得多的数据集比原来的训练数据。如果你有一个非常大的数据集,然后迁移学习可能不会比培养一个新的网络速度更快。
迁移学习,您可以:
转移预训练网络的学习功能,一个新的问题
迁移学习比培养一个新的网络更快,更容易
缩短培训时间和数据集大小
而无需学习如何创建一个全新的网络进行深度学习
对于交互式示例,请参见迁移学习深层网络设计者。
对于一个编程示例,请参见火车深学习网络分类新形象。
特征提取允许您使用预训练网络的力量,无需投入时间和精力投入到训练。特征提取可以使用深度学习的最快方式。您提取了解到特征从预训练网络,并使用这些功能来训练一个分类,例如,支持向量机(SVM - 需要统计和机器学习工具箱™)。万博1manbetx例如,如果一个SVM使用训练alexnet
可以实现>你的训练和验证集90%的准确率,然后微调与迁移学习可能不值得获得一些额外的准确性的努力。如果你在一个小数据集进行微调,那么你也冒险过度拟合。如果SVM不能为您的应用程序达到足够好的准确性,然后微调是值得的努力以寻求更高的精度。
对于一个示例,请参见提取图像功能使用预训练的网络。
神经网络是本质为并行的算法。您可以通过使用并行计算工具箱™分布跨越多核CPU,图形处理单元(GPU),并与多个CPU和GPU的计算机集群培训采取这种并行的优势。
深培训网络是极其计算密集和你通常可以通过使用高性能GPU加速的培训。如果你没有合适的GPU,可以在一个或多个CPU内核,而不是训练。可以在单个GPU或CPU训练卷积神经网络,或多个GPU或CPU核心,或在集群上平行。使用GPU或并行选项需要并行计算工具箱。
你并不需要多台计算机来解决使用的数据集太大,无法在内存问题。您可以使用imageDatastore
功能与数据的批量工作,而不需要机器集群。不过,如果你有一个可用的集群,它可以帮助把你的代码对数据储存库,而不是到处移动大量的数据。
要了解更多关于深度学习硬件和内存设置,请参阅深度学习与大数据在GPU和并行。