从系列中:深度神经网络
我是MathWorks的Joe Hicklin
实验管理器是一款应用程序,用于在各种初始条件下训练、微调和解释深度学习网络。看看如何使用深度学习实验:
你好。我叫乔·希克林。我是MathWorks的高级开发人员。我将向您展示如何使用实验管理器,使您的深度学习项目产生更好的结果,速度更快,工作量更少。
当我试图提出最好的深度学习解决方案时,我会进行大量的实验,看看哪种策略最有效。我会尝试不同的训练数据集或对训练数据的不同处理,我会尝试不同的网络架构或网络中的不同参数,我会尝试不同的训练选项,看看哪种策略会产生最好的结果。
所有这些实验都是我的项目中最耗时的部分,在实验经理出现之前,我做的工作相当混乱。我会写一个像这样的脚本来设置我的训练数据,设置我的网络,设置我的训练选项,最后训练网络。
我会运行它,看看网络的性能如何,然后尝试替代方案。我会编辑脚本,然后再运行一次。我会说,如果我想在这个层中尝试更多的通道,或者如果我想要不同的学习率呢?
我会把所有这些选项进行很多不同的组合来找出哪个网络表现最好。当我全部完成时,我认为我已经覆盖了大部分地区,但我真的不确定。为了验证或恢复之前的结果,我不得不多次重复一些实验。
实验管理器解决了所有这些问题。让我们看看我一直在做的一个实验管理器项目。打开应用程序库,选择实验管理器。当实验管理器出现时,我将打开一个预先存在的项目。就在那儿。
这是我的项目。我的项目有三个实验,一个叫数据集,一个叫网络,一个叫训练选项。我们来看看第一个实验的结果,数据集。
在这个实验中,我试图弄清楚我是否使用了足够的数据。所以我做了四个不同的试验。每一个都使用了不同数量的数据,或者有或没有增强。这些试验已经进行过了,已经结束了。
对于每一个试验,我都可以看到它们花了多长时间,训练精度是多少,验证精度是多少,以及其他一些事情。对于任何我想要的试验,我都可以查看训练图。我们会重现,这是试验的训练图。这是这次试验的训练图。
我还可以看一下每次试验的混淆矩阵。这是一个实验,我做的一个实验的一系列试验。我做了另一个实验。我们将看看这些结果。这是在尝试不同的网络。
我尝试了一个基本的网络。我尝试了MobileNet,两层网络和三层网络。同样,对于每一个,我都可以查看训练网络,可以查看训练图之类的东西。
其中一个网络不起作用。我试过MobileNet,我的机器上没有MobileNet。但这并不能阻止实验经理。它注意到了这个错误,并继续进行这四个实验。
在我的第三个实验中,你可以看到我没有任何结果。我还没有运行这个。我们现在就开始吧。如果我双击Training Options,我将看到我之前写的实验描述。
在这个实验中,我将对四个参数进行详尽的扫描。我在这里给它们命名。每个参数都有它要覆盖的一组值。这意味着它将对这四个参数的每一个值组合运行一次试验。
这将导致,我认为,48种不同的试验。这个量很大,所以我要用并行来运行这些东西。我现在就开始讲。
所以我们在这里看到的是这个表包含了所有48个试验它将在其中运行。它启动了前12个,剩下的还在等待。如果我们看这里,我们可以看到它结束于0。现在有12个。42架飞机在排队,还没有飞机坠毁。哦,总共有54次试验。
这12项试验已经开始。我们可以看着他们前进,也可以看着他们离开。这些试验结束后,就会开始下一个试验。它会慢慢地通过我们需要完成的所有不同的试验。
你可以看到每次试验都使用了哪些特定的参数组合。第一次试验使用了两个史诗的解算器,学习速率和迷你批量大小。当它完成的时候,它将涵盖我要求的所有54种不同的排列。
这需要相当长的时间。所以我们不会坐以待毙。但当它完成后,我们就能把这些都看一遍。所以让我们让时钟走一两分钟。
(时钟的滴答声)
好的。这是完成了。实验经理为我们训练了54个神经网络。在现实生活中,我们可能不得不出去吃午饭,或者晚上回家,第二天再回来。但它已经完成了54个任务。
这些结果是可重复的,因为实验管理器保存了运行所有内容的脚本。它保存了用于每一个试验的参数。它甚至保存了经过训练的网络,您可以将其导出回工作空间以进一步使用这些网络。
如果我们想知道什么是最好的,我们可以根据验证精度来排序,看看上面这个用了这个求解器,这么多史诗,这个学习率,诸如此类的东西。你可以进行比较,看看哪种策略效果最好。
这就是实验管理器可以为你自动化的实验的一个例子。在下一个视频中,我将向你们展示如何让实验经理为我做这件事。
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。