深度学习是一家机器学习的分支,教导计算机做自然对人类的事物:从经验中学习。机器学习算法使用计算方法直接从数据“学习”信息,而不依赖于预定的方程作为模型。深度学习特别适用于图像识别,这对于解决面部识别,运动检测和许多高级驾驶员辅助技术(如自主驾驶,车道检测,行人检测和自主停车)也很重要。
深度学习工具箱™提供简单的MATLAB®用于创建和互连深神经网络层的命令。例子和掠夺网络使Matlab易于用于深入学习,即使没有高级计算机视觉算法或神经网络的知识。
对于自由实践的实践深度学习方法,见深度学习ondramp.。
你想让我做什么? | 学到更多 |
---|---|
执行转移学习以使用数据进行微调网络 |
小费 微调佩带的预售网络来学习新任务通常比培训新网络更快,更容易。 |
使用净化网络对图像进行分类 | 普里德深度神经网络 |
为分类或回归创建一个新的深神经网络 | |
为培训或预测调整大小,旋转或预处理图像 | 深度学习的预处理图像 |
根据文件夹名称或交互式使用应用程序自动标记图像数据 | 图像贴标器(电脑视觉工具箱) |
为序列和时间序列数据创建深度学习网络。 | |
分类图像的每个像素(例如,道路,汽车,行人) | 使用深度学习开始使用语义分割(电脑视觉工具箱) |
检测并识别图像中的对象 | 深度学习,语义分割和检测(电脑视觉工具箱) |
分类文本数据 | 使用深度学习对文本数据进行分类 |
对语音识别进行分类音频数据 | 使用深度学习的言语命令识别 |
可视化网络学习的功能 | |
CPU,GPU,多个GPU,在桌面上并行地或云中的群集,并使用数据集太大而无法适合内存 | 深入学习GPU和并行数据 |
要了解有关深度学习应用领域的更多信息,包括自动驾驶,请参阅深度学习应用。
要选择是否使用备用网络或创建新的深网络,请考虑此表中的方案。
使用佩带的网络进行转移学习 | 创建一个新的深度网络 | |
---|---|---|
培训数据 | 数百到数千个标记的图像(小) | 数百万到数百万标记的图像 |
计算 | 适度计算(GPU可选) | 计算密集型(需要GPU的速度) |
训练时间 | 几秒钟即可分钟 | 几天到几周的真正问题 |
模型准确性 | 好,取决于佩带的模型 | 高,但可以过度使用小数据集 |
有关更多信息,请参阅选择网络架构。
深度学习使用神经网络直接从数据学习功能的有用表示。神经网络结合多个非线性处理层,使用并联操作的简单元件和由生物神经系统的启发。深度学习模型可以在对象分类中实现最先进的准确性,有时会超越人力水平性能。
您使用大量标记的数据和包含许多层的神经网络架构培训模型,通常包括一些卷积层。培训这些模型是计算密集的,您通常可以通过使用高性能GPU加速培训。该图显示了卷积神经网络如何组合自动学习来自许多图像的层的层来对新图像进行分类。
许多深度学习应用程序使用图像文件,以及有时数百万图像文件。要高效地访问深度学习的许多图像文件,Matlab提供了imageageAtastore.
功能。使用此功能:
自动读取批次的图像,以便更快地处理机器学习和计算机视觉应用程序
从图像集合导入数据太大而无法适合内存的数据
根据文件夹名称自动标记图像数据
此示例显示如何使用深度学习,仅使用10行的MATLAB代码识别实时网络摄像机上的对象。尝试实现榜样在Matlab中的深度学习中开始有多简单。
如果需要,运行这些命令以获取下载,连接到网络摄像头,并获取预先磨碎的神经网络。
Camera =网络摄像头;%连接到相机net = alexnet;%加载神经网络
如果您需要安装摄像头
和AlexNet.
加载项,每个函数的消息都会显示一个链接,以帮助您使用附加资源管理器下载免费的附加组件。或者,参见深度学习工具箱模型对于AlexNet网络和马铃薯万博1manbetx支持USB网络摄像头的支持包。
安装深度学习工具箱模型后对于AlexNet网络,您可以使用它来对图像进行分类。AlexNet是一个普拉尔覆盖的卷积神经网络(CNN),它已经在超过一百万图像上培训,并且可以将图像分类为1000个对象类别(例如,键盘,鼠标,咖啡杯,铅笔和许多动物)。
运行以下代码以显示和分类实时图像。在一个对象中指向网络摄像头,神经网络报告它认为网络摄像头显示的对象是显示的。它将继续进行分类图像,直到您按下Ctrl.+C。代码使用的代码大小使用imresize
(图像处理工具箱)。
尽管真正的im =快照(相机);%拍照图像(IM);%显示图片IM = IMResize(IM,[227 227]);%为alexnet调整图片大小标签=分类(网络,IM);%分类图片标题(炭(标签));%显示类标签drawn结尾
在此示例中,网络正确分类了咖啡杯。实验周围环境中的物体,以查看网络的准确性。
要观看这个例子的视频,请参阅在11行Matlab代码中深入学习。
要了解如何扩展此示例并显示类的概率得分,请参阅使用深度学习对网络摄像头图像进行分类。
对于深度学习的下一步,您可以使用预磨损的网络进行其他任务。通过传输学习或特征提取解决图像数据上的新分类问题。对于例子,见使用转移学习开始深入学习和使用从佩带的网络中提取的功能进行火车分类器。要尝试其他预磨普雷网络,请参阅普里德深度神经网络。
转移学习通常用于深入学习应用。您可以拍摄备用网络并将其用作学习新任务的起点。微调带传输学习的网络比从头划痕的训练更快和更容易。您可以快速使网络使用较少数量的培训图像来学习新任务。转移学习的优势在于佩带的网络已经学习了丰富的功能集,可以应用于广泛的其他类似任务。
例如,如果您拍摄了数千个或数百万图像的网络,您可以使用数百图像重新恢复新的对象检测。您可以有效地微调预磨损的网络,而不是原始训练数据的更小的数据集。如果您有一个非常大的数据集,则转移学习可能不会比培训新网络更快。
转移学习使您能够:
将备用网络的学习功能转移到新问题
转移学习比培训新网络更快更容易
减少培训时间和数据集大小
在不需要学习如何创建一个全新网络的情况下进行深度学习
对于互动示例,请参阅用深网络设计师转移学习。
对于程序示例,请参阅培训深度学习网络以分类新图像。
功能提取允许您使用普试网络的电力而无需投入时间和努力培训。特征提取可以是使用深度学习的最快方法。您从佩带的网络中提取学习功能,并使用这些功能培训分类器,例如,支持向量机(SVM - 需要统计和机器学习工具箱™)。万博1manbetx例如,如果使用SVM培训使用AlexNet.
可以在培训和验证集中实现> 90%的准确性,然后通过转移学习进行微调可能值得努力获得一些额外的准确性。如果在小型数据集上执行微调,那么您也有风险过度装备。如果SVM无法为您的申请达到足够的准确性,那么微调值得寻求更高的准确性。
例如,看到使用掠夺网络提取图像特征。
神经网络是固有的平行算法。您可以通过使用并行计算工具箱™来利用这种并行性,以跨多核CPU,图形处理单元(GPU)和具有多个CPU和GPU的计算机集群的培训。
培训深网络是极其计算机密集型,您通常可以使用高性能GPU加速培训。如果您没有合适的GPU,则可以在一个或多个CPU内核上培训。您可以在单个GPU或CPU或多个GPU或CPU内核上培训卷积神经网络,或在群集中并行。使用GPU或并行选项需要并行计算工具箱。
您不需要多台计算机来解决问题的问题,使用数据集太大而无法适合内存。你可以使用imageageAtastore.
使用批量数据的功能而不需要一组机器。但是,如果您有群集可用,则可以帮助您的代码到数据存储库而不是移动大量数据。
要了解有关深度学习硬件和内存设置的更多信息,请参阅深入学习GPU和并行数据。