P-DARTS发表在ICCV2019,提出一种渐进式可微分结构搜索方法。
P-DARTS解读
渐进式可微分结构搜索,减小搜索和评估之间的深度差距,这篇文章的工作其实就是来解决DARTS中存在的一个主要问题,那么首先我们看一下本文作者发现了什么样的问题
P-DARTS解读
作者发现在评估搜索阶段得到的最优结构时,准确率经常不稳定。作者认为这是由于搜索阶段的父网络深度和实际应用中评估网络深度不匹配造成的,在本文中将该问题称为depth gap,也就是说,在训练阶段使用浅的网络结构来搜索最佳的cell,但在验证阶段,将cell结构堆叠成一个更深的网络进行评估,这样一来,之前在浅网络中搜索得到最优的cell在深网络中可能就不是最优的。
P-DARTS解读
更具体的,在DARTS的工作中,搜索阶段堆叠一个包含8个cell结构的父网络,在这个浅网络中搜索最优的cell, 当搜索完成后,保存最优的结构,然后将搜索到的最优cell堆叠20个构成一个更深的网络评估。到这里大家可能会有疑问,为什么不在搜索阶段就构造一个包含20个cell的父网络?这是因为基于DARTS的可微分结构搜索在搜索阶段每次迭代都需要计算所有的候选操作,这就需要将候选操作集中所有选择都放入GPU内存中,受限于GPU内存以及搜索时间限制,直接在一个较深的网络中搜索是不太现实的。于是本文的研究者提出了渐进式的搜索,将搜索过程分成多个阶段,搜索过程中逐渐增加结构深度,在搜索结束时,网络结构可以足够接近验证时的网络结构。注意,这里是逐渐增加而不是直接增加,这是为了在浅层结构搜索时可以逐步简化搜索空间;当网络结构加深时可以降低搜索的复杂度。该方法可以解决depth gap带来的问题,但有了这种渐进式搜索的思想后,还会出现两个新的问题
P-DARTS解读
第一个问题仍是搜索开销的问题,这也是NAS领域都在关注的重要挑战,因为除了像Goole这样的大厂有充足的计算资源外,大多数的研究机构在资源有限时还是需要考虑计算开销的。在该工作中,如果只是渐进式的增加搜索网络深度,而搜索空间保持不变,那么随着深度增加 时间和内存成本依然巨大。
第二个问题是搜索稳定性欠佳。当在一个更深的结构中搜索时,可微分的方法往往偏向于跳跃连接等无参操作,因为这些操作能够加速前向和反向传播,但是无参操作对视觉表征的学习却不足。
接下来,我们看作者又是如何解决自己方法中存在的两个问题,第一个搜索时间和内存开销问题。
P-DARTS解读
作者提出搜索空间近似来解决前面提到的第一个问题。在这个图中a,b,c分别表示搜索的三个阶段。每个搜索阶段训练结束后cell中各节点间会根据操作评分进行排序,每个操作的分数其实就是对应该阶段学得的权重,权重越大说明该操作在学得的cell中越重要,贡献度越高。在进行下一阶段的搜索之前会删除掉排序靠后的操作,减小搜索空间的操作数量。虽然图中只给出了5条线,但实际上是有8个操作。这样一来,实现了搜索深度的渐进式增加,搜索空间中操作数量的渐进式减少,一赠一减保证了渐进式神经结构搜索的时间和计算开销不会指数级增加。
近似的准则是丢弃一些不重要的操作,这些不重要的操作在前一个阶段都有一个小的权重。
P-DARTS解读
搜索空间正则化增强了结构搜索的稳定性,不至于在搜索过程中过度偏好跳跃连接。
至此,作者通过搜索空间近似和搜索空间正则化解决了自己提出的渐进式搜索中存在的问题。
P-DARTS解读
P-DARTS解读
P-DARTS解读
P-DARTS解读

相关文章: