Categories
程式開發

Uber提出生成式教学网络GTN,9倍加速神经网络架构搜索


近期,Uber的研究人员在一篇名为《Neural Architecture Search by Learning》的论文中提出了一种专用GAN——Generative Teaching Network (GTN) ,它可以生成数据和训练环境,让模型在接受目标任务测试之前先进行一些SGD步骤训练,而使用GTN再合成数据训练的神经网络比利用真实数据训练得更快。论文还表示,在利用GTN-NAS搜索新的神经网络架构时,速度比使用实际数据快9倍,而且使用的计算量比典型NAS方法少几个数量级

生成对抗网络(英语:Generative Adversarial Network,简称GAN)是非监督式学习的一种方法,通过让两个神经网络相互博弈的方式进行学习。

GTN,一种深度学习网络

Generative Teaching Network,生成式教学网络,简称GTN,是Uber在近期的一篇论文中提出的深度神经网络,它可以自动生成综合训练数据,较一般利用真实数据训练的方法,能够实现9倍加速的神经体系结构搜索。在理论上,GTN可以生成任何类型的数据或训练环境,并用于监督学习、无监督学习和强化学习,这是一种通用方法。

GTN就像生成对抗网络(GAN)中的生成器一样,它生成完全人工的数据,供少数学习步骤使用。之后,GTN会通过识别经典MNIST数据集中手写图像的方式对初始化神经网络进行评估,从而提供正在优化的元损失目标。然后,通过元梯度在整个学习过程中进行区分更新GTN参数以提高目标任务的性能。

Uber提出生成式教学网络GTN,9倍加速神经网络架构搜索 1

GTN可以自由创建不真实的数据,从而可以比真实数据更快地学习。例如,GTN可以将有关许多不同类型对象的信息组合在一起,或者主要将训练重点放在最难的示例上。

为验证GTN,Uber 的研究人员还利用GTN合成的数据在神经网络架构搜索(NAS)中进行实验,并在CIFAR-10数据集中进行了测试,结果显示GTN对NAS所产生的最佳架构有显著改进。

神经网络架构指的某些设计的选择,例如神经网络应具有的层数,每层应有多少个神经元,哪些层应连接到哪一层等。

GTN-NAS,将GTN合成数据用于NAS

为了搜索神经网络架构,Uber研究人员采用了许多论文 的思想,寻找一个小的神经网络模块,然后通过预设的蓝图将其重复组合,以创建各种大小的神经网络架构。一旦发现了高质量的模块,就可以使用它创建一个更大的网络,然后对它进行训练并与实际数据融合,以实现目标任务的收敛。

在GTN-NAS中,最终目标是找到一种性能最佳的神经网络架构。而通过实验,Uber研究人员发现GTN生成的数据可以预测出神经网络架构的真实性能(对于GTN估计的前50%神经网络架构,其Spearman等级相关系数为0.56)。例如,根据GTN的快速估算,排名前10%的神经网络架构都具有较高的性能(见下图蓝色方块)。这就意味着研究人员可以使用GTN生成的数据,快速评估多种神经网络架构,进而识别出一些优质的架构,将其放在真实数据集上训练之后,就能够较为容易的找出在目标任务上具有高性能的神经网络。

另外,在整个实验过程中,Uber的研究人员还发现如果想要得到与GTN生成数据执行128个SGD步骤相同的结果,则需要对真实数据执行1200个SGD步骤,换句话说,使用GTN生成的数据比使用真实数据进行神经网络架构搜索快9倍

NAS 需要大量的计算资源,它在完整的数据集上训练,直到所产生神经网络的性能不再提高,再选出性能最佳的神经网络,但这种重复执行的过程往往非常昂贵和缓慢。

Uber提出生成式教学网络GTN,9倍加速神经网络架构搜索 2

写在后面

在机器学习中,标记数据的重要性不言而喻,但生成此类数据既耗时又昂贵。Uber的GTN提供了一种新的选项,它可以学习自动生成数据,使新的神经网络快速学习任务;而且通过GTN,研究人员不仅能够快速评估新神经网络架构的学习潜力,还能很好地探索新的、性能更佳的神经网络架构。