从系列:深度学习的工程师
一旦你有深层神经网络分类数据,你可以把它设计成一个更大的。这个视频覆盖额外的工作和注意事项,帮助你获得信心,对看不见的数据模型将工作和预期与其他系统交互组件。您还可以将深层神经网络部署到目标设备,这需要一定的性能特征。
上一节,我给我建立了一个高5计数器通过再培训现有的神经网络。我从基本上没有运行在大约2小时,这是相当可怕的!
但是,一个模型,可以简单地将你的数据不是结束的深学习工作流程。一些其他的事情,我们需要考虑,经过训练的网络通常是一个更大系统的一部分,我们希望能够将其融入到设计完成。我们也要有一定的信心,即模型将看不见的数据和工作的预期与其他系统组件进行交互。最后我们想将它部署到一个目标设备需要一定的性能特征。和每一个需要额外的工作和注意事项超出我所做的在过去的视频。这就是我们现在要讨论。我希望你留下来。我是布莱恩和欢迎MATLAB,科技说话。
我们可以总结这个视频有问题。我有一个训练网络,接下来是什么?在我们进入它之前,我想重申一下我的平时的警告,这个视频不是为了掩盖一切。我只是想介绍一些概念和让你思考整体的问题。我离开在描述资源的链接,更深入地讨论。
好了,让我们去得到它。
最后一节,我们只剩下一个GoogleNet模型重新训练来识别两种模式,寻找这些粉红色的火山和他们击掌分类和其他我们通过网络被列为no-high-fives发送。所以,接下来是什么?嗯,我认为这是合理的想知道是否网络作品。现在,我们知道它工作在培训过程中以某种方式,因为它是使用40验证图像来评估模型的准确性,而且它只贴错了标签,一个40。
这是伟大的,但有两件事我想指出。第一,虽然我们有一些信心,该模型适用于40验证图片,我们不一定知道它作用于图像,还没有被发现。如果40验证图像做了伟大的工作覆盖整个解空间,那么我们可以相信网络只会遇到类似的情况,这些图像之一。然而,在这种情况下,40图片足以获得信心的视频我但我不认为这足以涵盖所有可能的手臂运动网络可能会看到在现实生活中,我们要做一些额外的测试如果我们要将这个网络部署到该领域。
第二件事我想指出该模型是我们验证它与量图彼此不相关的图片。我的意思是,每一个来自自己的独立的手臂运动,但这并不是完全的情况如何,我使用这个网络。记住,我想通过在本质上是一个连续的流量图,我想数一数击掌吧在我的数据。这意味着数据划过窗外,我要通过在多个帧相同的高5,我的网络会返回一个高5标签连续几次。和网络中由于错误- 1 40,它会错过一些帧将被标错了。这两个东西会导致我的柜台是如果我假设每个量图标记高5实际上是它自己的独特的运动。
因此,神经网络是整个逻辑的一部分,我需要为我的柜台。这是几乎可以肯定所有深层神经网络解决方案。金宝搏官方网站你要开发一个模型,可以分类数据,显然你想知道作品,但除此之外还有其他逻辑,使网络的实际产品,重要的是整个系统工作。
现在,我的项目是相当简单,风险很低,如果它不正常工作,但让我走过我接近的方式构建其他高5计算逻辑。我建立了一个MATLAB脚本,该脚本将读取加速度数据,保持最新的1.4秒的缓冲中的数据。然后每三样时间,预处理缓冲数据输入量图,确保没有像素值大于1,然后运行它通过训练网络的分类函数。然后我只算一个新的高5如果它已经超过1.4秒自上次高5。这就是我如何保证我只计算每个高5一个时间,因为它将完全离开了缓冲区之前,我寻找一个新的。我在MATLAB,因为我只需要几行代码对于这个项目,但这整件事可能是在仿真软件开发。金宝app
事实上,这里是我高仿真软件版本的五个计数器金宝app。它几乎完全一样。不同之处在于,而不是读加速度计生活,我选择读在一个5秒的加速度资料我之前保存下来。的想法是,我可以收集这些5秒钟的几个片段,我确切地知道有多少的击掌在回归测试数据,然后使用它们每当我更新网络或其他逻辑。
除此之外,其余的逻辑是做同样的事情。我更新加速缓冲,预处理成量图,分类训练网络,然后计数高5的数量。让我们打开范围和运行它,这样你就能看到它。
图是显示在顶部加速度剖面一击掌,正确的开始。柜台只注册一个高5,如预期,即使你可以看到几个量图被贴上的击掌,粉色的火山是裸奔的形象。需要注意的另一点是延迟之间的实际高5和统计的时候。这是由于这样的事实,我的网络是训练识别高5时中间的图片,或者是零点几秒的时间后发生。
仿真软件有什么好,是,我现在可以包这个逻辑到金宝app自己的子系统,可以使用它作为一个更大系统的一部分。比如,该模型显示的实现多环PI控制器作用于一个机械手臂。也许如果我愿意,我可以用我的新子系统来确定这个机械手臂运动,看起来就像一个高5。这个实现,一旦我很高兴,我可以用仿真软件编码器构建嵌入式C代码和部署所有这些逻辑包括我深神经网络部门本身。金宝app
我不是要构建这个任何进一步的因为我只是做一个视频演示几件事,但如果我想继续在这个项目中我的下一个步骤将是系统地尝试所有不同的手臂运动我能想到的,高5和non-high五运动。甚至我可能有其他的人试试,可能高5个不同和文化。和每个实例,用户运动系统更进一步的我将保存数据,并将其添加到我的训练数据集重新培训和完善的网络。
现在这样,我不保证能有一个完美的功能网络,但我越来越多的解决方案空间我相信它将执行。这是一个标准的深层神经网络方法。我们还没有一个好的系统的方式来验证他们,所以我们依靠这些抽样方法像蒙特卡罗方法来获得对网络在整个解空间的信心。这是更有可能的情况下为您的项目,你是否正在寻找材料缺陷,在音频挑选口头命令,或者分类射频调制方案。你要训练神经网络集成到您的完整的系统和测试在各种各样的情况。
但是正如你所看到的,不管我有多少不同的测试运行,总是会有解决方案的部分空间,还没有测试。
所以,这就是合成数据可以如此强大。记得在第二视频,我们合成了射频数据,和他们的想法是,我们将用它来训练一个网络?好,现在我们可以使用它来生成数以百万计的不同的测试用例,并产生一个非常密集的解空间的采样。它会给我们巨大的信心系统——你知道只要合成数据反映现实。现在,我不能做高5个项目,因为我没有很好的理解加速度模式可能与高5,因此不容易合成它。为我的项目更容易身体而不是综合测试数据测试它。
但是不管你能合成测试数据,你要想最终测试系统在现实世界中真实的硬件。这些让我想到了另一件事我想谈谈你的网络和其他代码部署到目标计算机。
部署很重要,因为它并不重要,如果你的代码工作,如果不工作,硬件应该运行在。有很多有用的信息,我在描述与深度学习网络生成优化的代码直接从MATLAB和Simulink嵌入式gpu, cpu和fpga。金宝app所以,我不会经过这里。相反,我想把最后几分钟谈论具体的大小和速度训练网络。
高5计数器会被部署到嵌入式CPU上看,重要的是考虑网络的大小。GoogleNet我开始,如果我打开深层网络设计师,我可以很快了解这个网络的大小。这个神经网络有700万个参数。这是相当庞大的一个简单的高5计算程序。
如果内存空间或执行速度是一个问题,然后我将会找到一种方法,让这个小。有几个选项。首先,我可以从一个较小的pretrained网络——Squeezenet,只有刚刚超过100万参数,然后再使用转移学习再教育的击掌。这个想法是,也许我不需要大GoogleNet提供准确性或特性的细节。在这里,我做了同样的事情转移学习步骤,我们上一节并重新培训Squeezenet。这个网络至少对这些特定的参数是90%准确的。所以,比GoogleNet有点不准确。现在我可以导出培训SqueezeNet工作区和运行在MATLAB仿真软件仿真。金宝app但是看看这个,我们可以看到,这个百万参数网络仍然是大约3 mb。
现在,如果这个尺寸仍然是一个问题,而不是找到一个更小的开门网络,我也可以试试我的网络的大小减少修剪或量化。修剪是删除的一些参数在网络贡献不多分类你的特定数据。和量化手段把单引号或双精度重量和偏见在您的网络和量化他们8位整数数据类型。我们的想法是,我们仍然可以得到相同的性能从网络,而无需使用高精度的数据类型。
只是给你一个合理的减少网络可能看起来像一个实例,让我向你们展示的结果量化我训练网络。我用深层网络量化器应用拉在我的训练模型,并使量子化8位整数。这花了几分钟,我跳过,但重要的指标就是网络压缩75%,没有可衡量的影响其准确性。
所以,它有相同数量的参数,但它是一个季度的内存大小。此外,我也可以尝试修剪网络减少参数的数量,也不影响精度但我要离开这个模型现在。
希望你可以看到pretrained网络,传输学习,修剪,量化可以得到模型足够大小和效率为您的应用程序。
但是如果你不能,那么最后一个选项是从头开始构建自己的网络体系结构。这个选项需要最训练数据和初以来最训练时间网络没有任何的概念,所以它必须学习一切。
另一个缺点是它需要很好地理解不同的从头开始创建一个高效的网络架构。但是,这是权衡可能发生的地方。多少你需要从头开始做与专业发展如何高效、快速你需要你的架构。
我高5计数器可能受益于一个更小的和专门的架构,因为它必须部署嵌入式处理器上看,然而,一个系统,正在寻找材料的缺陷有可能运行在一个专用的GPU的台式电脑。它甚至可能不需要运行实时如果得到瞬时结果不是必要的。
所以我想的事情我希望你带走的是有东西,你需要考虑与深度学习。这些东西是有多深的网络需要为了能找到和分类数据的模式吗?你能使用一个开门网络和传输学习?你打算如何访问标记的训练数据,以及你将如何确保数据覆盖整个解空间?通常你会需要更多的训练数据训练更大的网络,从头和训练网络。和你打算如何获得信心在您的网络和系统作为一个整体?你能合成数据,可以运行模拟,还是该领域的所有测试需要做吗?
对每一个项目没有一个答案,但是希望你能开始看到深度学习的好处和可能性。也许你有一个工程问题你现在工作的解决方案涉及到能够检测和标签数据中复杂的模式。如果是这样,深度学习是一种方法,您可能希望考虑作为贸易研究的一部分。它可能比你想象的更容易。
这就是我要离开现在这个视频。别忘了看看我离开的资源在这个视频的描述。那里有很多好东西。如果你不想错过任何其他科技视频说话,别忘了订阅这个通道。同样,如果你想看看我的通道,控制系统讲座,我控制覆盖更多的话题。谢谢收看,下次再见。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。