神经结构搜索在机器翻译中的应用

神经结构搜索在机器翻译中的应用

作者 | 张裕浩

单位 | 东北大学

张裕浩,东北大学自然语言处理实验室 2018 级研究生,研究方向包括神经网络结构搜索、机器翻译。    

东北大学自然语言处理实验室由姚天顺教授创建于 1980 年,现由朱靖波教授、肖桐博士领导,长期从事计算语言学的相关研究工作,主要包括机器翻译、语言分析、文本挖掘等。团队研发的支持140种语言互译的小牛翻译系统已经得到广泛应用。

今天和大家介绍谷歌将结构搜索应用到机器翻译的一项工作—The evolved transformer(ET)[1]。The evolved transformer 这项工作的出发点是将结构搜索应用到机器翻译中,基于Transformer结构选出更好的候选。于是这篇工作选取了进化算法中的锦标赛选择方法,将Transformer结构作为种子结构作为热启动,之后变异出更优秀的结构,由于进化算法比较耗时,设计了递增式动态阈值算法加快搜索速度。

1、背景

近年来,深度学习在图像和语言处理领域应用得越来越广泛,但是性能优异的网络都是人为根据大量的经验去精心设计的,于是基于机器自己设计的神经结构搜索成了最近热门的一个研究课题。

神经结构搜索(Neural architecture search,NAS)主要是利用机器,在设定好的搜索空间中按照给定的搜索策略,利用评价标准得到最优的模型[2]。目前结构搜索按策略分主要为三种,1)强化学习,2)进化算法,3)梯度计算。

虽然在图像领域,利用结构搜索将一个基础模型进行放大的EfficientNet在图像分类任务上达到了SOTA,但是在自然处理领域特别是机器翻译,结构搜索并没有广泛应用。

相较于图像识别任务,机器翻译任务目前最先进基于注意力机制的模型结构更复杂,单个模型训练的时间更长,比如相同设备下,在英德14任务上训练一个搜索出的模型需要10个小时,但是对于图像分类CIFAR-10任务使用代理技术只需要两个小时[3]。因此在搜索空间和搜索的策略上都与图像分类领域有着较大差异。

2、搜索空间

神经结构搜索第一步是定义好搜索空间,搜索空间对于结构搜索是非常重要的[4],这篇工作认为使用热启动——即初始的种子结构是一个标准的Transformer结构[5]–能搜索出更好的结构。所以在空间设计上需要包含Transformer结构。如图1,

神经结构搜索在机器翻译中的应用

图1 每个块中的搜索空间

整个是一个块的搜索空间,左分支和右分支的搜索空间是一致的。分支的输入会从之前所有的结构块中选择输入索引,比如现在是第i层,则搜索空间为[0,i);对于正则操作只选择是否进行操作;对于函数层则会选择不同种类的卷积函数、门控单元、自注意力、编码解码注意力(仅对解码端搜索可见)、没有操作、剪掉分支;对于激活函数,搜索空间由SWISH,RELU, LEAKY RELU,NONE组成,融合函数的搜索空间为加法,联接,乘法,最后组成一个隐藏层输出,若输入的维度不同,则左对齐之后如果是加法补0,乘法补1将输入补齐成同一纬度。之后编码端由6个块组成一个单元,对于解码端是8个块组成,最后多个单元组成模型。设计的搜索空间可达7.3*10155个模型,同时这种空间设计成功地将Transformer容纳进搜索空间,如图2所示,

神经结构搜索在机器翻译中的应用

图2 用ET搜索空间表示标准Transformer结构中编码端

展示了如何利用设计的搜索空间表示标准Transformer编码端结构。

这种空间的设计整体上也是模仿图像领域,将搜索出的单元结构进行堆叠,但是也有人指出,这样做其实破坏了结构的多样性[6],没有能够将结构搜索的能力完全发挥出来,同时作者在搜索的时候也将每个单元结构中的块数量进行固定,但是没有进行深入的实验,只是根据Transformer结构进行经验性设置,所以对于增加块和删除块放缩操作并没有涉及到,未来也可以从这个角度搜索出可伸缩的结构。

3、搜索策略

对于搜索策略,由于已有一个不错的结构Transformer,所有没有采用强化学习的方法,转而采用进化算法中的锦标赛选择算法[7],主要的过程如算法1,

神经结构搜索在机器翻译中的应用

图3 锦标赛选择算法

首先通过一致的模型作为种子结构,初始化第一代的结构种群,之后对拥有最高准确率的结构进行突变生成后代,训练和评价后代,将后代加入到种群中,移除掉种群中不符合条件的结构,开始下一轮迭代。

为了大幅减少负面的搜索空间,同时为了给变异的后代一个好的初始点,文中采取了热启动的方式,将Transformer作为种子结构。为了防止没有潜力的模型消耗过多的训练资源,文中提出了递增式动态阈值算法(PDH)。

该方法在搜索开始时和锦标赛选择算法方法一致,在训练当前子代模型相对小的步数之后,评价适应度,然后根据现有的适应度选出合适的阈值,文中选取的是平均值,达到了阈值的子代会额外获得一定的训练步数,而没达到阈值的子代会被直接淘汰。

重复这个过程一直到训练到了最大的训练步数。能使用这种方法是因为作者假设了生成的模型都是没有过拟合的,所以适应度是会随着训练步数增加而增加,作者也在实验中证明了这一点。

对于三种主要的搜索方法,本文中主要选择的是进化算法,因为在搜索受限的情况下,使用进化算法的搜索效率是高于基于强化学习方法的,同时本文也已经有一个非常好的初始点,故没有选择强化学习的方法。

同时还有基于梯度的方法,目前比较流行的one-shot方法[8],由于显存等限制,很难应用于搜索机器翻译复杂模型,但是其搜索出的结构通常都非常丰富,网络表示能力也很强,one-shot方法如何应用到机器翻译中,是否能得到更高表示能力的结构,也是一个值得研究的问题。

4、实验

文中展示了搜索出编码端和解码端的结构,如图4和图5,

神经结构搜索在机器翻译中的应用

图4 ET解码端结构

神经结构搜索在机器翻译中的应用

图5 ET编码端结构

整体来说变化不大,编码端对前馈网络进行了变化,将第一个注意力操作变成了线性门控操作,解码端也在同样位置发生了更多的变化。这也证明了之前基于设计经验进行热启动是合理的。

之后文中对比了是否使用热启动搜索和PDH搜索方法,如表1所示,

神经结构搜索在机器翻译中的应用

表1 各种搜索设置得到的模型在校验集上的困惑度

对比第一行和第二行,可以看到使用热启动能极大的搜索出模型的性能,对比第一行和第三行,能看出利用PDH算法即使不利用非常多的模型也能搜索得到最好的性能。最后三行从经验上证明PDH方法是在没有过拟合的训练步数基础上实施的。

之后文中从性能上在不同任务不同参数情况下和标准的Transformer结构进行了比较,如表2中所示,

神经结构搜索在机器翻译中的应用

表2 比较Transformer和ET在各种翻译任务验证集上的困惑度和测试集上的BLEU

可以看到ET的参数量会稍大与标准的Transformer,这是因为结构中出现了分支的情况,但是在性能上,PPL和BLEU两个指标在各个任务上也是优于标准结构,最有趣的地方在于,基于一种不确定性的搜索算法,在进行多次实验之后其波动依然不大,文中认为是热启动带来的好处,基于一个好的结构,能让最后搜索出的结果更加稳定。

最后作者将参数和性能同标准的Transformer结构进行了一个比较,如图6,

神经结构搜索在机器翻译中的应用

图6 ET与Transformer性能和模型参数量比较

可以发现,在相同参数下,ET能有更好的性能,在相同性能下,ET只需要更小的参数量。

值得注意的是,在分支进行合并的时候,都进行了正则化操作,说明了正则操作对于这种多分支的结构是比较重要的,但是从训练的角度来说,由于每个模型都是用了同样的训练参数以及优化器,也可能不用正则操作导致了训练过程中数值不稳定。

还有一个有趣的地方在于,无论是编码端还是解码端的结构,上层的结构没有变化,下层的结构更加的多样性,这就说明了优化的空间都在下层,这也引申出了一个问题,是否在现有模型中有一些比较重要的部分是不需要进行搜索的,或者说只要模型有这一部分结构就能达到不错的性能了,剩下的部分只需要随机搜索一下就能达到原来的性能?从这个角度出发,如果能找出最关键的结构,便可以缩小搜索空间,直接去搜索其他位置的结构。

5、总结

这项工作成功的实现了结构搜索在机器翻译的应用,利用进化算法,将标准的Transformer结构作为搜索的初始节点以保证子代的性能,同时为了更快的淘汰掉子代,采用了递增式动态阈值算法。

虽然最后得到的结构在性能上的确是优于标准的Transformer,不过在搜索的过程中还是使用了大量的计算资源——超过200块TPU,如何更加高效的搜索出优秀的模型,依然是亟待解决的问题,同时这项工作在搜索空间的设计上也是离散的,搜索的空间还是很有限,实际上只是在Transformer结构上进行了一个微调。不过这也证明了神经结构搜索能够运用在机器翻译领域,未来也是一个有潜力的方向。

参考文献:

[1] So, David R., Chen Liang, and Quoc V. Le."The evolved transformer." arXiv preprint arXiv:1901.11117 (2019).

[2] Elsken, Thomas, Jan Hendrik Metzen, andFrank Hutter. "Neural architecture search: A survey." arXivpreprint arXiv:1808.05377 (2018).

[3] Deng, Jia, et al. "Imagenet: Alarge-scale hierarchical image database." 2009 IEEE conference oncomputer vision and pattern recognition. Ieee, 2009.

[4] Zoph, Barret, et al. "Learningtransferable architectures for scalable image recognition." Proceedingsof the IEEE conference on computer vision and pattern recognition. 2018.

[5] Vaswani, Ashish, et al. "Attention isall you need." Advances in neural information processing systems.2017.

[6] Tan, Mingxing, et al. "Mnasnet:Platform-aware neural architecture search for mobile." Proceedings ofthe IEEE Conference on Computer Vision and Pattern Recognition. 2019.

[7] Real, Esteban, et al. "Regularizedevolution for image classifier architecture search." Proceedings ofthe AAAI Conference on Artificial Intelligence. Vol. 33. 2019.

[8] Bender, Gabriel, et al. "Understandingand simplifying one-shot architecture search." InternationalConference on Machine Learning. 2018.

雷锋网(公众号:雷锋网)编辑

雷锋网特约稿件,未经授权禁止转载。详情见。


神经结构搜索在机器翻译中的应用

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/137328.html

(0)
上一篇 2021年9月2日
下一篇 2021年9月2日

相关推荐

发表回复

登录后才能评论