从系列:深度学习与MATLAB
这个演示使用MATLAB®培养一个美国有线电视新闻网从头分类图像的四个不同的动物类型:猫,狗,鹿和青蛙。图像使用CIFAR-10数据集(https://www.cs.toronto.edu/ ~ kriz / cifar.html)。
记录:2017年4月12日
嗨。我叫加布里埃尔哈,我在这里向你们展示如何MATLAB使它简单从头开始创建一个深层神经网络。我们的演示特定application-to-image处理和识别,但是我们觉得图片很容易。这是一个相当著名的神经网络的应用。最重要的是,我们想让每个人都能够理解的深度学习,你就能得到一切,我们告诉你,和构建,并开始自己使用自己的网络。
所以对于那些非常熟悉培训网络,随着技术使他们更准确,MATLAB对你将是伟大的,因为如你所愿,我们为您提供直观的语法和功能将让你轻松实现改进。你们新深度学习领域,想感受这个技术,你可以马上做的程度可能是有限的图像识别,但我相信它会为你提供足够多的资料开始,与神经网络有很多的乐趣。
这就是我们要做的。我们要训练一个网络识别四个不同的动物:猫,狗,青蛙,和鹿。要做到这一点,我们要把每只动物的图片介绍给我们的网络,定义网络的层,然后使用一行代码,告诉MATLAB火车和从头开始创建我们的网络。然后我们会测试我们的网络通过展示新形象,还没有见过并检查其准确性。
设置的东西,我们要进入这个目录和每个动物的画5000张图片到单独的文件夹中。现在,如果你做数学,总数20000张图片。对于那些只是有兴趣尝试一下,你可能会想,“等等,所以你希望我看这个视频,然后牧师20000图片在我甚至可以开始之前?“好吧,你可以如果你想要,或者你能做到我们确实需要利用工作已经完成。
在这种情况下,我们得到了我们所有的图片从公开CIFAR-10数据集,也只需要下载和提取一个ZIP文件。因此,谢天谢地,设置这个演示只是依赖你的网络速度和处理器能力,分别。那就是说,从头开始训练一个网络确实需要相当多的数据,所以总是寻找机会建立在以前的工作演示。
让我们看看所需的核心代码执行我们的培训。你可以看到这一部分,它指定的动物名称,然后这部分,指出MATLAB文件夹包含训练数据。设置而言,就是这样。
所以现在我们要告诉MATLAB如何想要深度网络培训。每个神经网络具有一系列的层次,层次越多,更深层次的网络。现在每一层需要在前一层的数据,将数据转换,然后将其传递。所以第一层需要在原始输入图像,并得到最后一层的时候,希望它会吐出正确的动物在原始图像的名称。
这是我们选择的层来实现对于这个示例。这个领域的全新的,你不会期望能够想出这些层从头开始。另一方面,如果你是一个深度学习专家,我们为您提供精确的工具实现层。
但在这两种情况下,如果你想建立这个例子,只是将训练数据替换为你自己的,如果你觉得调整层你任务,一行代码,MATLAB将给你一个神经网络训练在任何你想要的,不管是动物还是面对你的朋友,这完全不是一个令人毛骨悚然的事情,我在公司的时间。
当然,它会需要一些时间来训练。如果你只是有CPU,它将需要一段时间,但是如果你有一个邪恶的装饰华丽GPU这样的机器,大约需要45秒。一旦完成,我们可以继续测试网络。
让我们开始非常基本的设计。我们有一个测试集的图像包含每个animal-again 1000,方便从CIFAR-10获得。如你所见,这是directory-wise设置相同的方式作为训练集。但最重要的是,网络没有对准这些图像。
我们将显示一个图像与网络认为它是什么。这是一只鹿。正确的。这是一只狗。也是正确的。这是一只青蛙。网络还以为是一只猫。
我敢肯定你现在发生了什么,让我们加速这个过程。我们将MATLAB运行这段代码,测试我们的测试集上的所有图片。然后它会告诉我们,这个网络是怎么做的。和is-drum滚,please-about 75%的准确率。嘿,45秒的训练,这不是太糟糕了。
作为一个警告,您会注意到,CIFAR-10图片很小,和第一层的网络需要32×32×3的图片。虽然我们的代码并调整你的图像,你将不得不决定是否为您的数据有意义。但是如果你有一大堆图片你想用神经网络进行分类,这是如何用MATLAB,你可以马上开始。
点击下面的链接描述得到代码并使用神经网络工具箱检查文档。不要犹豫给我们一个问题或评论。一如既往,谢谢收看。
嘿,看看这个Gabriel创建应用程序。它指向我。
老兄,这是令人毛骨悚然的。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。