尽管深度学习技术相比传统方法带来了很大的性能提升,但是深度网络的网络结构是一个很重要的环节。只有网络结构具有合理的设计,才能带来较好的性能,避免无法收敛、参数或计算量冗余等问题。可微分的网络结构搜索通过基于梯度训练的方式同时优化网络和结构参数,从而完成结构搜索,并且相比增强学习、进化算法具有很大的计算优势。但目前这种方式用来搜索的网络包含所有备选连接,会使搜索阶段的训练很低效;其次,现有方法普遍通过剪枝得到子结构,使得稠密的用于搜索的网络和稀疏的剪枝后的结构之间具有较低的相关性,不能保证搜到的结构的性能。针对这些问题,机器学习中心林宙辰课题组提出基于稀疏编码的更加高效和一致的可微分网络结构搜索方法,相关工作被NeurIPS 2020接收。
该工作指出,现有方法缺乏高效性和一致性的原因在于搜索阶段未能考虑目标结构具有稀疏性这一约束条件,而是在搜索后,再投影到这一约束条件形成的可行域内。考虑到高维的具有稀疏约束的结构变量可以被低维空间较好的表达,该工作将结构变量投影映射到低维空间上,并构建一个等价的搜索过程,和原始空间的搜索保持相同的前馈传播。这样可以在低维空间进行基于梯度的搜索,再通过稀疏恢复,将低维空间的解恢复为原始空间的稀疏解。基于梯度的搜索和稀疏恢复两个过程交替进行,从而使得每一次迭代的结构都满足稀疏性约束,不需要后处理的剪枝过程,从而提高搜索和测试之间的一致性;利用其稀疏性,可以使得搜索网络前馈时只保留支撑集内的连接,从而降低计算和显存代价,提高搜索效率。
进一步,该工作通过改进对BN层的处理,在搜索时即采用测试阶段的设置,包括深度、宽度、训练批量等参数,从而支持一阶段的搜索。该方法通过运行一次算法,即可完成结构的搜索以及对搜到结构的参数优化,从而进一步提高搜索和测试之间的一致性,消除深度、宽度等因素造成的偏差。
参考文献:
Yibo Yang, Hongyang Li, Shan You, Fei Wang, Chen Qian, and Zhouchen Lin. Ista-nas: Efficient and consistent neural architecture search by sparse coding. Thirty-fourth Conference on Neural Information Processing Systems (NeurIPS 2020).