一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

面向语言模型的双单元搜索空间的结构搜索方法与流程

2022-02-20 00:45:30 来源:中国专利 TAG:


1.本发明涉及面向语言模型的双单元搜索空间的结构搜索方法,属于人工智能技术领域。


背景技术:

2.搜索空间的设计是神经网络结构搜索研究中的第一步也是极其重要的一步,搜索空间决定了模型性能的上下限。然而,搜索空间的大小和搜索速度及硬件要求之间的对立关系使得其设计处于左右为难的局面。一方面,庞大的搜索空间拥有巨大的网络探索潜能,却需要极高的硬件支撑和时间消耗;另一方面,较小的搜索空间尽管对硬件和时间上较为友好,但在网络潜能的挖掘能力上十分有限。因此,如何定义一个合适的搜索空间,达到最好的搜索效果,成为了目前结构搜索研究中有待解决的问题。
3.神经网络结构搜索的研究还处于初步阶段,但领域专家们已经提出了许多优秀的结构搜索方法,并取得了不错的效果。现在最流行的神经网络结构搜索方法darts,其构造了一个基于循环结构的最简单的单元,单元内部是一个有向无环图,通过梯度优化的方法学习单元内部的结构并将学习到的单元循环连接构成最终的模型。基于循环单元的模型能够处理一定的序列短期依赖问题,但当序列较长时,序列远端的梯度很难反向传播到当前序列,这就产生了梯度消失的问题,导致序列的语义信息中断。针对该问题,本发明在语言模型任务上对结构搜索的搜索空间进行了研究,提出一种基于双单元扩展空间的结构搜索方法。


技术实现要素:

4.本发明提供了面向语言模型的双单元搜索空间的结构搜索方法,用以解决当序列较长时,序列远端的梯度很难反向传播到当前序列,产生了梯度消失,导致序列的语义信息中断的问题。
5.本发明的技术方案是:面向语言模型的双单元搜索空间的结构搜索方法,首先,构建双单元搜索空间;
6.其次,在ptb数据集上进行搜索,选择搜索过程中在验证集上损失最小的结构作为待选单元结构;
7.最后,进入评估阶段,在语言模型任务上对搜索阶段得到的待选单元结构进行短时间评估,得到最优单元结构。
8.作为本发明的进一步方案,所述基于双单元搜索空间的结构搜索方法的具体实现步骤如下:
9.step1、针对语言模型任务提出了双单元搜索空间,设置一个搜索单元,通过单元的连接来构成最终的循环神经网络,进而构建出搜索空间;
10.step2、整个搜索阶段在ptb上建立,输入参数,共持续50个一代训练epoch,得到若干个不同的初始待选单元结构;选择搜索过程中在验证集上损失最小的若干个结构作为待
选单元结构;
11.step3、在语言模型任务上对搜索阶段得到的若干个待选单元结构进行短时间评估,得到最优单元结构。
12.作为本发明的进一步方案,step1中提出的双单元搜索空间是将整个搜索空间的大框架延续了darts中的设置,即搜索一个单元,然后通过单元的连接来构成最终的循环神经网络,与darts不同的是,在每个单元内部设置了两个子单元:信息储存单元cellc
t
以及信息处理单元cellh
t
;每个单元都是一个包含若干节点的有向无环图;信息储存单元的输入为序列前若干个时刻的输入,以便对序列的前端信息进行有效的保存。
13.作为本发明的进一步方案,step2中进行搜索阶段的实验参数大多数遵循darts中的设置,不同的参数在于:循环神经网络层数定为一层,词嵌入大小和隐藏层的大小均为300,批次大小为256;每个单元内部设置信息储存单元cellc
t
和信息处理单元cellh
t
,信息储存单元内部包含3个节点,信息处理单元内部包含8个节点。
14.作为本发明的进一步方案,节点与节点之间的边采取如下四种操作函数进行操作,四种操作函数分别为tanh、relu、sigmoid和identity。
15.作为本发明的进一步方案,step2的搜索阶段中对于两个优化阶段分别使用不同的算法进行优化,网络权重w使用随机梯度下降sgd算法进行优化,学习率为20,权重衰减为5e-7;结构权重α利用adam算法进行优化,初始学习率为3e-3,权重衰减为1e-3。
16.作为本发明的进一步方案,step3中,评估阶段的参数设置,将模型的词嵌入大小和隐藏层大小扩大到850,批次大小为64,权重的优化方法使用平均随机梯度下降asgd算法,初始学习率为20,权重衰减大小为8e-7。
17.作为本发明的进一步方案,step3中对搜索阶段得到若干个待选单元结构进行短时间评估,得到最优单元结构,得到最优单元结构之后,将这个单元再次随机初始化网络权重,并在训练集进行更长时间的训练,直到其收敛。
18.验证本发明所搜索到的单元结构的可迁移性时,将ptb数据集上所搜索到的最优单元结构直接迁移到wt2数据集上进行评估。
19.本发明的有益效果是:
20.1、本发明提出的面向语言模型的双单元搜索空间的结构搜索方法,在语言模型任务上对已有搜索策略的搜索空间提出了改进,构造了更加适合语言模型任务的搜索空间。通过在循环神经网络单元内部增加信息储存单元来对序列前端信息进行有效的保存,这样的搜索空间与语言模型任务更加匹配,且增加的单元能够缓解常规循环神经网络单元结构存在的无法解决长序列依赖的问题,增加序列语义信息的连续性。同时由于单元的增加直接扩大了搜索空间,也提高了搜索到更好的网络结构的概率。
21.2、本发明对darts的搜索单元框架进行了改进,提出双单元框架。在每个单元内部设置了两个子单元,每个单元都是一个包含若干节点的有向无环图。信息储存单元的增加还直接扩大了搜索空间,提升了本发明搜索到优秀网络结构的概率。在penn treebank(ptb,10000词)数据集和wikitext-2(wt2,33000词)数据集上的实验表明,在ptb数据集上,困惑度相对于基线方法降低了0.4个点,取得了更好的效果。本发明的可迁移性也在wt2数据集上得到了验证,对比基线方法,在测试集上困惑度降低了0.2个点。
附图说明
22.图1为本发明提出的面向语言模型的双单元搜索空间的结构搜索方法的模型图;
23.图2为本发明显示的五个待选结构的困惑度示意图;
24.图3为本发明困惑度对应的ptb数据集上搜索到的信息储存单元结构示意图;
25.图4为本发明困惑度对应的ptb数据集上搜索到的信息处理单元结构示意图;
26.图5为本发明与darts方法比较的困惑度性能示意图。
具体实施方式
27.实施例1:如图1-图5所示,面向语言模型的双单元搜索空间的结构搜索方法,包括:首先,构建双单元搜索空间;其次,在ptb数据集上进行搜索,选择搜索过程中在验证集上损失最小的结构作为待选单元结构;最后,进入评估阶段,在语言模型任务上对搜索阶段得到的待选单元结构进行短时间评估,得到最优单元结构
28.所述基于双单元搜索空间的结构搜索方法的具体实现步骤如下:
29.step1、针对语言模型任务提出了双单元搜索空间,设置一个搜索单元,通过单元的连接来构成最终的循环神经网络,进而构建出搜索空间;
30.step1中提出的双单元搜索空间是将整个搜索空间的大框架延续了darts中的设置,即搜索一个单元,然后通过单元的连接来构成最终的循环神经网络,与darts不同的是,在循环神经网络每一时刻的单元中设置了两个子单元:信息储存单元cellc
t
以及信息处理单元cellh
t
,如图1所示,每个单元都是一个包含若干节点的有向无环图;信息储存单元的输入为序列前五个时刻的输入x
t-1
,x
t-2
,x
t-3
,x
t-4
,x
t-5
,以便对序列的前端信息进行有效的保存。将五个输入进行线性变换并相加,然后通过激活函数tanh,得到cellct单元内第一个节点的输入,单元的输出为所有中间节点输出相加取平均值。信息储存单元的增加还直接扩大了搜索空间,提升了本发明搜索到优秀网络结构的概率。信息处理单元的输入为序列当前时刻的输入x
t
,上一时刻的隐状态h
t-1
和信息储存单元的输出c
t
。单元内第一个节点的输入和单元的输出处理方式与信息储存单元的处理方式相同。
31.step2、整个搜索阶段在ptb上建立,输入参数,共持续50个一代训练epoch,得到若干个不同的初始待选单元结构;选择搜索过程中在验证集上损失最小的若干个结构作为待选单元结构;
32.step2中进行搜索阶段的实验参数大多数遵循darts中的设置,因为强化学习和进化算法都需要足够大的gpu群才能进行搜索,而darts在硬件方面的要求比前两种方法要低得多,搜索速度上也更加高效,所以darts成为了首要选择。不同的参数在于:循环神经网络层数定为一层,词嵌入大小和隐藏层的大小均为300,批次大小为256;每个单元内部设置信息储存单元cellc
t
和信息处理单元cellh
t
,信息储存单元内部包含3个节点,信息处理单元内部包含8个节点。节点与节点之间的边采取如下四种操作函数进行操作,四种操作函数分别为tanh、relu、sigmoid和identity。
33.step2的搜索阶段中对于两个优化阶段分别使用不同的算法进行优化,网络权重w使用随机梯度下降sgd算法进行优化,学习率为20,权重衰减为5e-7;结构权重α利用adam算法进行优化,初始学习率为3e-3,权重衰减为1e-3。
34.搜索算法的流程主要有四步:
35.1)构造一个包含若干接点的有向无环图,设一组有序节点node
(1)
,node
(1)


,node
(n)

36.2)在每两个节点之间放置所有可以采取的操作,从而将离散的网络结构变得连续。其中,o
(i,j)
(i《j)节点i到节点j所采取的操作,节点j的输入是由所有小于j的节点经过操作后得到的,具体公式如下:
[0037][0038]
操作o
(i,j)
通常是从一组备选的操作中选择,例如循环神经网络中是一些激活函数。
[0039]
3)结构权重α与网络权重w的联合优化过程,找到最大的权重α所对应的操作。对于每一组操作o
(i,j)
,本发明都定义一组系数α={α
(i,j)
}。在搜索的训练过程中,实际上本发明使用的是混合操作,也就是用softmax作为激活,将所有的操作加权取平均,公式如下:
[0040][0041]
4)由于整个循环神经网络有两组参数需要训练,一组是网络的结构参数α,另一组是网络的权重参数w。两组参数是一个交替优化的过程。首先本发明随机初始化结构参数α,得到初始化网络,然后在训练集上对网络权重w进行训练,通过降低训练集上的损失l
train
对网络权重w进行更新,网络结构参数α则是根据验证集上的损失l
val
进行更新。通过这样的一个交替优化,得到最优的网络结构,那么nas的搜索阶段结束。根据搜索阶段得到的结构参数α固定网络结构,并将网络的权重w全部随机初始化,再次在训练集上进行训练,以此得到最终的网络。
[0042]
step3、在评估阶段,评估阶段的参数设置,本发明将模型的词嵌入大小和隐藏层大小扩大到850,批次大小为64,权重w的优化方法使用平均随机梯度下降(asgd)算法,初始学习率为20,权重衰减大小为8e-7。本发明在语言模型任务上对搜索阶段得到的五个待选单元结构进行短时间评估,得到最优单元结构。将每个待选单元结构的权重w随机初始化并在训练集上训练300个epoch,选出此时验证困惑度最低的单元结构作为最优结构,图2显示了五个待选结构分别训练300个epoch时的困惑度大小,最低的困惑度为61.79,虚线为darts搜索到的最有结构训练300个epoch时在验证集上的困惑度,且困惑度越低越好。该困惑度对应的单元结构如图3,4所示。其中图3为ptb数据集上搜索到的信息储存单元cellct,图4为ptb数据集上搜索到的信息处理单元cellht,得到最优单元结构之后,将这个单元再次随机初始化网络权重w,并在训练集进行更长时间的训练,直到其收敛,表1显示了本发明搜索到的最优单元结构充分训练后的困惑度与基线方法和其他方法的比较。
[0043]
表1:本发明与其他方法在ptb数据集上的困惑度对比
[0044][0045]
表1所示,第二行为手工设计的网络结果,第三行为其他nas方法的结果,第四行为基线模型与本发明的结果。相较于基线模型,本发明在验证集上困惑度降低了0.6个点,在测试集上困惑度降低了0.4个点,达到了更好的性能。
[0046]
step4、为了验证本发明所搜索到的单元结构的可迁移性,本发明将ptb数据集上所搜索到的最优单元结构直接迁移到wt2数据集上进行评估。嵌入层和隐藏层的大小均设置为700,权重衰减为5e-7。表2为迁移到wt2数据集并进行充分训练后在测试集上的困惑度结果。
[0047]
表2:ptb数据集上搜索到的结构直接迁移到wt2数据集上的结果
[0048][0049]
表2所示,第二行为手工设计的网络结果,第三行为其他nas方法在ptb数据集上搜索的网络结构迁移到wt2数据集上的结果,最后一行为基线方法和本发明在ptb数据集上搜索的网络结构迁移到wt2数据集上的结果。相较于基线模型,本发明有更好的效果,在测试集上的困惑度降低了0.2个点。
[0050]
step5、对所建立的双单元搜索空间的匹配度验证,通过验证不同长度句子的复杂性,本发明分析了现构造的搜索空间与任务之间的匹配度。具体来说,对测试集进行统计和分组,如表3所示:
[0051]
表3:ptb测试集大小及分组
[0052][0053]
表3所示,测试集共有3761个句子,句子最短的单词数为1,最长的单词数为77。本发明根据单词数将测试集分为八组,并在这八组数据下测试模型的性能。结果如图5所示,图5中,横坐标是不同的序列长度,纵坐标是困惑度。图5分组实验通过与darts方法的比较,验证本发明方法对长序列的建模能力更好,加强模型对长序列的建模能力。
[0054]
上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献