在过去的十年里,神经网络彻底改变了机器学习,从一个相对鲜为人知的学术研究领域上升为工业支柱,为无数应用提供动力,只要有大量数据可用。雷竞技是骗人的优步将神经网络用于一系列不同的应用,从基于计算机视觉模型构建世界地图,到利用自然语言理解实现更快的客户响应,再到通过建模跨城市的时空乘客需求模式最小化等待时间。
在许多情况下,最成功的神经网络使用大量的参数——从几百万到数亿甚至更多——来达到最佳性能。令人兴奋的消息是,这些庞大的网络通常工作得非常好,无论它们的任务是什么,都能取得令人印象深刻的表现。但这类模型从根本上来说是复杂的系统,不容易理解,因为在没有人为干预的情况下,需要学习大量的参数。尽管如此,理解网络行为的努力仍在继续,因为随着网络对社会的影响越来越大,理解网络的运行变得越来越重要,因为更好地理解网络机制和特性将加快下一代模型的构建。
在我们的论文中,客观景观的内在维度测量,将在ICLR 2018,我们通过开发一种简单的方法来测量一种被称为内在维度.在本文中,我们发展了内在维度作为模型复杂性的量化,以一种与其原始参数计数解耦的方式,并提供了一种使用随机投影测量该维度的简单方法。我们发现许多问题的内在维度比人们想象的要小。通过使用内向维度来比较问题域,我们测量,例如,解决倒立摆问题比从MNIST中分类数字要容易100倍,从像素玩Atari Pong和分类CIFAR-10一样难。
我们的方法和一些有趣的发现总结在视频中,如下:
基本方法
在典型的神经网络训练中,我们随机实例化一个网络的参数,然后优化它们以减少一些损失。我们可以把这种策略看作是在参数空间中选择一个初始点,然后从这个点缓慢地沿着梯度移动到一个损失更小的点。在本文中,我们稍微修改了这个典型的训练过程:我们以同样的方式选择初始点,但不是在全参数空间中进行优化,而是在初始点周围生成一个随机子空间,并允许优化器只在该子空间中移动。我们通过从初始点开始对一组随机方向进行采样来构造随机子空间;这些随机的方向在训练期间会被冻结。优化直接在子空间的坐标系中进行。在计算上,这需要从子空间到原生空间的投影,这种投影可以通过几种不同的方式来实现,一些更简单(通过密集随机矩阵的投影),另一些更复杂但计算效率更高(通过精心构造的随机稀疏矩阵或通过快餐改变).
这种随机投影训练的效果如何?它完全取决于随机子空间的大小。在一个极端情况下,使用一维随机子空间对应于随机方向上的直线搜索,使用这样的搜索可能永远不会得到有效的解决方案。在另一个极端,如果我们使用足够多的随机向量来跨越整个空间,就可以保证原始空间中的任何可用解都是可访问的。本文的关键思想是小心地增加子空间的维数,直到找到第一个解。随着空间的扩大,我们通常会观察到从不能工作的网络到可以工作的网络的过渡,我们把发生这种过渡的维度称为内在维度。
在接下来的章节中,我们使用这种方法来测量用于解决MNIST、随机MNIST变体、CIFAR-10和三个强化学习(RL)任务的网络的内在维度,沿途收集了一些有趣的结论。
使用MNIST测量内禀尺寸
首先,我们训练一个层数为784-200-200-10的三层全连接(FC)网络来对MNIST进行分类。这个网络将具有约200,000维的完整参数空间。如果我们测量它的内在维度(更多细节见论文),我们只能得到750左右。
一个显著的结论是750是相当小的。换句话说,只用750个自由度,或者全参数空间的0.4%,我们就可以得到一个相当好的解。所需的自由度数量(750)比一个10类线性分类器所需要的参数数量(7840)要小得多。事实上,750甚至比输入像素的数量(784)还要小,这对MNIST来说至少有一定的意义,因为对于数据集中的每个示例来说,许多边缘像素都是黑色的。
但让我们仔细想想750这个数字意味着什么。想象一下,在三维空间中,我们选择一条随机的一维直线,并设法遇到一个解。事实证明,在这个例子中,我们遇到的解必须至少有两个维度(更准确地说:解流形)几乎可以肯定至少有两个维度)。
所以,在我们的MNIST网络中,如果在20万维度中我们通过使用750维的子空间遇到了一个解,它告诉我们我们已经找到的这个解的“blob”的维数至少是199,250。换句话说,我们找到的这个解很大——它有很多冗余,或者说它是一个有多个方向的流形,一个人可以沿着多个方向移动,但仍然在解集中。很酷,对吧?
MNIST,更宽或更高
接下来,我们试着让我们的网络更宽一些,比如使用宽度为225而不是200的隐藏层大小。对这个网络的测量揭示了一些令人惊讶的事情:内在维度或多或少是相同的:750(参见论文的精确测量)。事实上,如果我们把层做得更宽,或者增加更多的层,我们仍然能找到750个左右。因此,我们所测量的这个量似乎是一个相当稳定的指标,适用于一系列模型(或者至少适用于这个数据集的这个系列)。
但是这个度规的稳定性告诉我们什么呢?
这是最酷的部分之一:向网络添加更多参数可以揭示目标景观的额外特征。由于内禀维数不变,这意味着我们添加的每一个新参数——我们添加到原生参数空间的每一个额外维数——都直接进入解集。额外的参数仅用于增加一维解集的冗余。
当然,这种现象可能并不总是适用于每一个网络家族和每一个数据集。但对于这个数据集和网络族,我们发现我们处于具有恒定内维的超参数空间的平台上。在本文中,我们证明了这个平台是相当宽的,当层加宽或新层添加时持续存在。
许多研究人雷竞技是骗人的员已经注意到,更大的网络更容易训练,这个结果提出了一个可能的原因:当我们添加参数时,我们增加了解决方案集覆盖的空间。这里肯定有一些微妙之处;所以一定要看看这篇论文的注意事项。
模型压缩
我们也可以从可压缩性的角度来考虑这些结果。为了检查和恢复这些模型中的一个,我们只需要为随机子空间的创建存储一个种子,然后存储750个学习参数。这意味着模型可以被压缩,在本例中,从200000 × 250倍的原始参数空间压缩。这种压缩方法不一定是最有效的,但它相当简单:任何端到端参数化模型都可以在随机子空间中进行端到端训练。
我们也可以把这种方法看作是模型的最小描述长度(MDL)上界的一种方法。如果你熟悉奥卡姆剃刀,它表明最简单的解释通常是最好的,MDL是类似的:所有其他条件都相同,MDL较小的模型是首选。
全连接(FC) vs.卷积神经网络(CNNs)
如果我们使用相同的数据集MNIST,但用卷积网络对其进行建模,我们测量到的内在维数要小得多,只有290(见图1)。使用我们的MDL参数,这个较小的数字表明cnn比FC网络更适合分类MNIST。如果您已经与神经网络打交道了一段时间,那么这个观察结果可能不会让您感到惊讶到放下一切,立即在twitter上发布这篇文章。(但我们凭什么阻止你?)
事实上,每个人都知道cnn是图像分类的好模型。但是它们总是比FC网络更有效吗?如果我们在一个带有打乱输入像素的MNIST版本上进行训练,会怎么样呢Zhang等人(ICLR 2017)?在这种情况下,排列不变的FC网络具有相同的固有维度750,但CNN现在测量为1400 !
因此,在局部结构的假设被打破之前,cnn是更好的,在打破局部结构的假设之后,它们在任务中的表现就明显变差了。这些结论对于经验丰富的从业者来说可能是直观的,但关键是我们能够通过以下方法得到它们测量而不仅仅是凭直觉。在一个我们训练越来越大的模型,由许多子模型组成,并使用许多损耗进行训练的世界中,为子模型设计体系结构可能远不那么明显。在这些情况下,依靠细致的量化而不是过度扩展的直觉的能力可能会被证明非常有用。
随机标签记忆
如果我们测量被训练来记忆随机排列的标签的网络会怎样呢Zhang等人(ICLR 2017)?
事实证明,一个被训练来记忆MNIST输入上5000个随机标签的网络需要90000的内维,这比我们上面观察到的要大得多。这个高得多的值反映了网络需要更大的容量来记忆每个随机标签,在这种情况下,计算出每个记忆标签的18个自由度。
如果我们训练我们的模型去记忆50000个随机标签(10倍多),内在维度就会增长,但实际上不会增长那么多:现在它的测量值是190,000。这个比较大,但也不是很大,每个记忆标签只需要3.8个自由度。
这是一个有趣的结果,通过它我们观察到类似于泛化的效果,但这里它是从一个随机训练集的一部分泛化到另一部分(也是随机的)。因为所有数据子集的标签都是随机的,所以这个结果并没有立即得到预期。看起来,对一些随机标签的训练迫使网络为记忆建立一个基本的基础设施,然后这个基础设施被用来使进一步的记忆更有效。未来对这一现象更深入的研究可能会产生有趣的成果。
CIFAR-10和ImageNet
在我们的论文,我们花了更多的时间在CIFAR-10和ImageNet上,但在这里我们只简单地总结一下结果。
CIFAR-10的难度大约是MNIST的10倍,FC和CNN模型显示的内在维度都是MNIST的10倍。因为CIFAR-10输入维度(3072)只比MNIST(784)大大约4倍,我们可以将这种额外的复杂性归因于数据集本身,例如,飞机图像比数字4显示出更大的可变性。
强化学习
子空间训练方法可以很容易地应用于强化学习场景。事实上,这里的随机子空间方法是由在进化策略(ES)OpenAI的论文:在少量维度上近似梯度是可行的,这暗示了解集比我们想象的要多余。
正如我们在论文中所报告的,我们使用ES和深Q-Networks (DQN)发现人形机器人可以在大约700个维度中学习行走,代理机器人可以从6000个维度的像素中玩Atari Pong。因此,我们可以说,这些任务分别需要分类MNIST和CIFAR-10的复杂度。这些相对较低的维度可能就是原因所在随机搜索和无梯度方法同样有效.
最后,我们在论文中报告的最后一个结果是杆平衡问题.这个问题要求代理通过左右移动底部来平衡极点。虽然这个问题对人类来说可能很有挑战性,因为他们必须做出足够快的反应,以防止杆子倒塌,但对于没有反应速度慢拖累的模拟代理来说,这个问题非常简单。事实上,它可以用一个巨大的内在维度——4来解决。这似乎非常简单(大约比MNIST简单100倍),这种简单是我们研究人员在花时间研究玩具问题时应该记住的。雷竞技是骗人的
下一个步骤
在这篇文章中,我们演示了一种测量内在维度的简单方法,这种属性提供了对神经网络损失景观结构的迫切需要的洞察力,并允许在模型之间进行更仔细、定量的比较。我们期望这种测量方法在几个方面是有用的。首先,它为研究人员提供了对他们所研究的雷竞技是骗人的问题的复杂性的基本的、数量级的理解。其次,研究人员可雷竞技是骗人的以在这项工作的基础上,扩展到非线性和非均匀随机投影的情况,这可能为模型MDL提供更严格的边界。最后,我们希望我们的研究成果能激励其他人找到有助于为他们的研究选择最佳模型或子模型的方法。雷竞技是骗人的如果你对这份工作感兴趣,想了解更多,看看我们的论文,使用我们的代码来测量你自己的网络,如果你想和Uber AI实验室一起应对这类研究挑战,雷竞技是骗人的申请我们团队的一个职位.





