本篇文章5273字,读完约13分钟
机器心专栏
作者:李垠桥
本文提出了来自东北大学自然语言解决实验室和小牛技术创新中心的研究者扩大搜索空间的网络结构搜索方法。 该方法可以学习元结构内部和元结构之间的连接,在语言模型的任务中得到了明显的性能提高。 另外,研究者发现,将在大规模数据上搜索到的模型结构转移到其他任务时也能得到一定程度的性能改善。 本文入选了acl。
网络结构搜索技术近年来受到广泛关注,其搜索空间多局限于元结构内部(循环单元、卷积单元等),缺乏模型整体架构的学习。
对此,来自东北大学自然语言解决实验室和小牛技术创新中心的研究者提出了能够探索元结构内及元结构间连接的方法( ess ),得到了适合现在任务的模型结构。 本文的目的是扩大网络结构检索的检索空间。
实验部以循环神经网络为例,在语言模型的ptb、wikitext-103集合中取得了优异的成绩,其中ptb数据取得了当今行业最好的结果。
另外,研究者通过将在语言模型任务中搜索到的模型结构转移到ner和chunking等任务中也同样获得了优异的性能,可以大规模事前搜索互联网结构。
论文链接: arxiv/pdf/2005.02593.pdf
网络结构搜索( neural architecture search )
机器学习( machine learning )是基于统计的学习方法( statistical learning )后,在图像、语音、信号解决等行业取得了非常好的成绩。 同样,关于自然语言解决( natural language processing )任务,机器学习的方法也被广泛认可,其中特别是人工神经网络( artificial neural network )这一技术是自然语言
对于目前基于神经网络技术的各项任务来说,第一个过程是研究者手动搜索新的互联网结构,比如我们常见的RNN ( RNN )、CNN ( convolutional ) 但是,这样做实际上是偏向结构工程学的方法,我们约束研究者不断地去“设计”更好的结构,模型的好与坏首先取决于人对指定任务的理解和想象力,整个过程也非常耗时。 在这一点上,研究者开始考虑神经网络是否能像学习参数一样自动学习模型结构,因此有这种机器学习的分支,网络结构搜索( neural architecture search:nas )。
机器学习,自然语言解决与网络结构检索的关系。
那么,互联网结构检索是如何学习适合现在任务的结构的呢? 假设世界上所有潜在的神经网络结构组成的集合是互联网结构空间( architecture space ),最理想的搜索方法是在该空间中找到最适合当前任务的模型结构。 但是,由于神经网络中的节点数、节点间的连接方法的不可枚举性,所以没有任何限制地进行模型结构的搜索几乎是不可能的任务。
这是因为在实际的互联网结构搜索过程中,研究者一般裁剪结构空间,根据先验知识在结构空间内人为划定搜索空间( search space ),这是神经网络结构空间整体的子集,节点
然后,根据指定的搜索策略( search strategy ),如增强学习( reinforcement learning )、遗传算法( genetic algorithm )和基于梯度的方法( genetic algorithm ) 搜索战略的核心目标是提供一种可以根据目前找到的模型结构决定下一个最有潜力的模型结构的形式。
另外,一般在找到结构时进行性能评价( evaluation criteria ),明确在现在的状态下找到的模型结构的性能是怎么样的。 但是,由于在进行结构搜索的过程中产生了庞大的中间结构,因此该系统无法在对各中间结构进行完全参数训练后进行判断,时间成本巨大,因此如何迅速知道现在状态下的模型性能的优劣,是互联网结构搜索任务
然后,系统重复进行结构搜索和性能判断两个过程,当模型的性能不再提高时停止搜索。 这是整个nas的过程。 下图所示。
网络结构检索的整体过程。
面向自然语言解决任务的网络结构检索
如上所述,在自然语言解决任务中,近年来,想用网络结构搜索的方法搜索模型结构的研究者也很多,现在很多研究是基于循环神经网络的框架来搜索的,最近,循环单元,即下图所示的领域
循环神经网络中的元结构内连接。
这种方式确实可以在朴素的循环神经网络框架下找到更好的元结构。 但是,各个元结构之间的联系被限制为只接受前一时刻的元结构的输出和当前时刻的输入,大幅度限制了结构搜索的显示空间,最适合当前任务的模型结构有可能无法纳入我们的搜索空间内,最优的搜索
因为该研究者在本论文中扩大了结构搜索的空间,如下图所示,元结构间的连接方法也想纳入搜索过程。
循环神经网络中元结构之间的连接。
基于extended search space的互联网结构搜索
整体框架
关于搜索元结构内和元结构间的连接,研究者被称为基于扩展搜索空间的扩展搜索空间: ess的互联网结构搜索( extended search space:ess ),该扩展
为了使系统在搜索中能够兼顾两个部分的结构,这里提出了合作训练的方法。 这个方法思路简单,把整体结构的探索分解为两个阶段的训练问题。 具体而言,在模型结构搜索的过程中,系统交替搜索元结构内部和元结构间的连接,在任一个结构相邻而多次不变化的情况下停止该方的训练,直到另一方收敛为止继续训练。 整个过程如下图所示。
联合探索元结构内及元结构间的连接方法。
搜索空间和策略
那么接下来的问题是如何学习这两个部分的结构,因为循环神经网络是按时间顺序展开的网络结构,所以在结构探索的过程中重点介绍其中的某一时刻。
循环神经网络结构搜索中各部分结构的输入输出。
关于元结构内部的结构探索,其输入沿袭了以前的元结构学习的方法进行,输入有2个,分别是隐藏层状态。
和输入向量
对应于上图的紫色四边形部分,如下所示。
其中结构搜索过程中需要学习的部分是函数
我是。
关于元构造之间的连接方法,从上图可以看出,存在输入和隐藏层状态两者,与图中的粉红色的圆部分相对应。 理论上,这两个部分可以接收的输入是当前状态下可以获得的所有消息。 关于隐藏层状态,可以取得到目前为止的所有隐藏层状态和输入,输入方向也一样,两者的计算方法如下。
在结构搜索过程中需要学习的是函数
和
我是。 但是,在实际采用中,过早时刻的显示新闻实际上对当前时刻的作用相对较小,在考虑计算能力的情况下,在前一时刻的新闻中设置窗口,其大小是超参数。
下一个问题是元结构内部(
和元结构(
和
之间的结构进行搜索,这里研究者沿袭了基于梯度的搜索战略( darts ),可以在连接元结构之间的任务上进行搜索。
具体而言,基于梯度的结构搜索方法将搜索到的互联网结构看作定向图( directed acyclic graph:dag ),在结构搜索的过程中在预先定义的超互联网上搜索结构,各个中间节点在所有的前面
,非线性变换(
框中,选择“默认值”。 具体操作如下。
在其中
每个通过互联网结构检索学习的操作(非线性转换)
列表框中的所有数据库字段。 最终结构的输出是所有中间节点输出的平均值。
对于元结构间的联系学习来说,其输入新闻对元结构内部的学习更为多样,没有指导就不能期待有效地解决丰富的输入新闻的系统。 这是为了重构需要检索的结构显示,根据输入新闻的来源分为两个部分,分别独立进行结构检索(如上所述)。 两种配置的最终输出(
和
研究者用比特乘法的方法得到结构的最终输出,具体如下。
在其中
和
由于根据新闻来源对输入向量进行分组,因此整体结构如下图所示。
重建后的结构搜索形象。
对于不同位置的搜索,研究者使用不同的分类方法,如下表所示。
针对不同位置结构检索输入新闻的分类策略。
在元结构之间搜索(
和
元结构中的连接搜索(
)也同样可以看作是上述做法的特例。
循环神经网络中元结构内部及元结构间结构搜索的模式。
具体地说,关于元体系结构内部的连接学习、初始节点
综合隐藏层新闻和输入新闻。 整合的过程如下。
之后,研究者设定元结构的内部结构中有多少节点,如前所述,对于各节点可以接受到之前所有节点的输出。 例如,图中设置了三个节点
然后单击,
和
我是。 最后对各中间节点的输出进行平均,得到最终的输出。
在基于梯度的搜索策略中,搜索的整体结构实际上是基于先验知识固定的,但我们学习的实际上是节点间的连接方法,即图中的黑色虚线箭头和红色箭头部分。 具体的方法是从sigmoid、relu、tanh等操作的候选池中选择最适合当前位置的操作,研究者对各自的操作进行加权,在训练中通过该权重的学习来获得两个节点之间的连接。
另外,元构造间的连接方法与元构造内连接的学习方法类似,这里以输入方向的元构造学习为例进行介绍,即我们学习函数。
的结构。
为了减轻搜索的压力,这里简化了搜索的结构,输入新闻只接受当前时刻的输入,即
然后单击。 在隐藏层的状态下,将打开尺寸为3的窗口。 也就是说,可以接受。
然后单击,
还有
我是。 因为这个整体结构只是部分搜索,所以最终结构的输出如下。
的双曲馀切值
有些内部节点
则接收。
然后单击,
还有
的输出,但最终输出的节点也是所有中间节点输出的平均值。
实验
面向语言模型任务的结构检索
研究者在多语言模型的任务中进行结构的探索,实验结果如下。
通过语言模型任务( ptb和wikitext-103 )上的ess方法搜索得到的结构与其他结构的性能相对应。
可以看出,与人工定义的互联网结构相比,与其他结构搜索方法相比,通过扩大搜索空间进行的结构搜索可以得到明显的性能提高。 ptb集合中提出的做法( ess ),相对于以往性能最好的模型( mogrifier lstm ),大致可以用困惑度( perplexity )指标再降低4分左右(越低越好)。 关于wikitext-103(wt-103 )的数据,基于扩大搜索空间的方法对基于循环神经网络的结构( qrnn及hebbian+cache )也得到一定程度的提高。
另外,可知只搜索元结构彼此的连接在性能上比只搜索元结构内部的连接更有特征( ptb数据集darts和ess-inter-cell的比较),这也表明元结构彼此的连接在结构搜索过程中更重要
另外从上表可以看出,扩大搜索空间的方法与其他循环神经网络模型相比有了显着的提高,但与transformer的模型相比,性能依然存在很大的不足,这个问题主要是基础设施的问题,t 可以更好地解决语言建模任务的中远距离依赖,循环神经网络,但是,通过扩大本文提出的搜索空间进行的结构搜索本身并不限定于循环神经网络的框架,而是基于transformer的结构
性能提高分解
另外,还提到了将元结构间的连接方法引入搜索空间给语言建模任务带来的实质性支持。
引入元结构间搜索后,验证集中不同词的损失值的一些变化。
上表的左侧表示有检查集中性能最高的词语,可以看到提高较多的部分集中在稀有词语上。 可以看出,在右侧栏中研究者按词数顺序排列,在高频词中模型性能没有提高。 由此可见,搜索元结构内部连接和元结构间连接的方法对复制中的稀有词的建模越来越有用。
模型结构迁移
另外,研究者将在wikitext-103数据集中搜索到的模型结构移植到其他自然语言解决任务中,包括ner、chunking等任务,性能都在不同程度上提高,如下表( conll-2003 ner task )所示
conll-2003命名实体标识任务的性能。
这个发现暗示了即使是对稀有资源的任务,也可以利用在财富资源任务上搜索到的模型进行移植,可以使用大规模的数据进行网络结构的事前搜索。
结构的可视化
另外,研究者如下图所示,还提到了元结构之间连接学习和不需要时搜索到的模型结构的差异。
可视化在语言模型任务中搜索得到的模型结构。
从整体上看,我们进行元结构间链路的搜索时,得到的元结构内部链路更浅,因为元结构间链路实际上缓解了内部结构的压力,不需要太深的互联网的他模型化了。
作者和团队介绍
论文的第一作者李垠桥是东北大学自然语言解决实验室级的博士生,其研究方向包括神经网络结构的检索、机器翻译、模型的加速等,在acl、ijcai、nlpcc、中文新闻学报等会议、杂志上发表学术论文
研究小组是小牛翻译,核心成员来自东北大学自然语言解决实验室,姚天顺教授创立于1980年,现由朱靖波教授、肖桐博士领导,长期从事计算语言学相关研究,主要包括机器翻译、语言分解、文案发掘等。 团队开发的小牛翻译系统已经广泛应用,目前支持187种语言对译,通过小牛翻译云平台( niutrans.vip )为全球企业提供机器翻译技术。
本文是机器的中心专栏,转载请联系本公众号获得许可。
原标题:在做acl |互联网结构搜索吗? 我们需要更大的搜索空间”
阅读原文。