近期,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 参数以提高目标任务的性能。
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 提供了一种新的选项,它可以学习自动生成数据,使新的神经网络快速学习任务;而且通过 GTN,研究人员不仅能够快速评估新神经网络架构的学习潜力,还能很好地探索新的、性能更佳的神经网络架构。
评论