一种基于可微分架构搜索的自动特征构建方法
文献发布时间:2023-06-19 13:45:04
技术领域
本发明涉及一种自动特征构建方法,具体涉及一种基于可微分架构搜索的自动特征构建方法。
背景技术
自动机器学习旨在基于特征工程、模型选择、超参数优化等关键步骤自动构建一条机器学习流水线,以减少对领域知识的依赖。在学术界,针对流水线中所要自动化的不同步骤,相继出现了自动特征工程、超参数优化神经网络架构搜索等子领域。其中与超参数优化、神经网络架构搜索相关的技术已相对成熟,而自动特征工程一直是未被攻克的难题。特征生成是自动特征工程方法的核心,良好的自动特征工程方法可以生成与预测目标高度相关的新特征。在现有的自动特征工程方法中,基于人为预定义算子的方法将算子应用于原始特征,这类方法大多针对数值型特征;基于深度学习的方法则通过深度神经网络捕获特征间的交互,特征在神经网络中的交互一般是隐式的,这类方法通常面向类别型特征。基于算子的方法依赖于先验知识,虽然具有良好的可解释性,但效率较低;基于深度学习的方法能够应用于以类别型特征为主的推荐系统等领域,端到端的方式保证了其高效性,但隐式的特征交互使其缺乏可解释性。在上述两种方法中,深度学习方法由于其高效性而受到青睐并广泛应用于以类别型特征为主的数据,但是除了可解释性差外,这类方法还存在一个缺点:在大量候选生成特征中,仅有一小部分特征是有效的,因此,简单地罗列特征组合不一定能提升模型性能,同时无关或冗余的生成特征反而会引入噪声,基于深度的方法以牺牲特征选择步骤为代价换取了端到端的性质,但这也使其难以筛除不相关的生成特征,影响了模型的泛化能力。
发明内容
发明目的:本发明的目的在于针对现有特征生成方法无法处理无关或冗余生成特征的问题,提出一种基于可微分架构搜索的自动特征构建方法(Automatic Featuregeneration based on Differentiable Architecture Search,AFDAS),使用离散的结构参数反映特征是否参与交互过程,并借鉴可微分架构搜索中混合权重算子的思想保证训练模型端到端的性质。此外,AFDAS通过跳跃连接等多个交互算子丰富了特征嵌入的表示能力,接着分别引入Gumbel Softmax、交互算子的合作模式,以解决网络迁移时的性能崩溃问题。
技术方案:为达到上述目的,本发明的一种基于可微分架构搜索的自动特征构建方法,依次包括以下顺序执行的步骤:
步骤1.输入层:根据输入的数据对其进行预处理,包括对缺失值处理以及独热编码,在经过缺失值处理和独热编码后得到高维稀疏的样本x;
步骤2.嵌入层:根据步骤1得到的高维稀疏数据,通过嵌入矩阵将高维稀疏的样本x映射为特征嵌入表示E;
步骤3.特征交互层:根据步骤2得到的特征嵌入表示,使用可微分架构搜索方法为每个特征搜索合适的交互对象以及交互方式,加入基于合作模式的交互算子,引入跳跃连接、低阶特征交互、高阶特征交互这三个算子以丰富特征嵌入表示,更改算子之间的竞争模式为合作模式,以解决搜索网络迁移至目标网络时的性能崩溃问题;
步骤4.输出层:搜索网络与目标网络最终均输出一组特征向量,其中目标网络的输出将作为整个模型的最终输出,由特征交互层输出的一组特征向量将会作为下游任务的输入,可依据不同的下游任务选择不同的模型。
进一步地,步骤1具体为:令原数据中类别型特征数量为M,对每个特征进行独热编码得到新的二值化向量,记原样本第i个特征经过编码后的向量表示为x
x=[x
其中x
进一步地,步骤2具体为:每个特征域i对应一个嵌入矩阵
其中,||·||
E=[e
进一步地,步骤3具体为:
步骤31.首先定义结构参数β,并通过该结构参数反映特征在交互过程中的去留:记初始特征嵌入在经过l次交互后的对应特征为
步骤32.在结构参数的基础上定义不同的交互算子:
跳跃连接将当前特征包含的信息直接传递到下一层中,假设对
其中,
高阶特征交互是指第l+1层的特征由若干第l层的特征交互得到,实现方式如式(5)所示:
其中,f(·,·)表示交互函数,c
其中,ψ(·,·)是计算特征嵌入表示的相似度函数,使用内积实现方式,即
低阶特征交互的方式是由
步骤33.引入合作模式以及GumbelSoftmax以解决搜索网络迁移至目标网络时出现的性能崩溃问题,合作模式下特征可以同时选择若干个交互算子,对算子的选择如下式(7)所示:
其中,k∈{0,1},即
其中π
有益效果:
本发明提供一种基于可微分架构搜索的自动特征构建方法,借助于可微分架构搜索方法中将离散的搜索空间松弛化并采用梯度下降的方式更新参数的思想,将特征选择问题转换为结构优化问题。模型首先定义离散的结构参数,通过该参数反映特征在交互过程中的去留,并基于松弛化离散空间的思想对结构参数进行优化;另外,通过引入跳跃连接等多个交互算子以改善特征嵌入的表示性能,接着分别引入GumbelSoftmax方法、交互算子的合作模式,解决了搜索网络向目标网络迁移时的性能崩溃问题。其包含以下优点:
(1)一种新颖的基于可微分架构搜索的自动特征构建模型AFDAS,在保证端到端性质的同时,有效避免了无用特征的生成;
(2)通过引入多种交互算子和GumbelSoftmax,避免了现有的可微分架构搜索方法中搜索网络向目标网络迁移时性能崩溃的缺点。在特征生成过程中,单个特征可以采用若干不同的交互算子,丰富了特征的表示能力。
附图说明
图1本发明中AFDAS模型的整体框架图;
图2为输入层与嵌入层示意图;
图3为特征交互层基础结构示意图;
图4为结构参数有效性验证图;
图5为Gumbel Softmax有效性验证图;
图6为交互算子有效性验证图;
图7为合作模式的有效性验证实验示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合具体实施例和说明附图对本发明作进一步说明,应当理解,此处所描述的优先实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明的一种基于可微分架构搜索的自动特征构建方法,依次包括以下顺序执行的步骤:1.输入层与嵌入层
给定类别型特征集,AFDAS的输入层将原本离散的特征值编码为连续的数值型表示,而嵌入层则针对数值型编码的高维稀疏问题,将其进一步映射为低维稠密的特征嵌入表示。若原数据中类别型特征数量为M,对每个特征进行独热编码得到新的二值化向量。记原样本第i个特征经过编码后的向量表示为x
x=[x
其中x
每个特征域i对应一个嵌入矩阵
其中,||·||
E=[e
2.特征交互层
在得到初始特征表示后,特征会在特征交互层进行交互并生成新的特征表示。特征交互部分主要进行特征生成与特征选择,基于可微分架构搜索的核心思想,特征交互模块涉及到结构参数定义、交互算子设计以及交互算子间的协作模式。
首先定义结构参数β,并通过该参数反映特征在交互过程中的去留。记初始特征嵌入在经过l次交互后的对应特征为
然后在结构参数的基础上定义不同的交互算子:跳跃连接已被证明可以减缓网络过深时的梯度消失问题,且从特征生成的角度来看,跳跃连接能够保留有效的低阶特征信息,该算子将当前特征包含的信息直接传递到下一层中,假设对
其中,
其中,f(·,·)表示交互函数,c
其中,ψ(·,·)是计算特征嵌入表示的相似度函数,常使用内积、拼接函数、神经网络等实现方式,本文采用内积,即
其中,k∈{0,1},即
其中π
3.输出层
整个模型分为搜索网络与目标网络,两者有相同的输入层与嵌入层,但在特征交互层不相同:搜索网络在交互层具有可学习的结构参数,而在目标网络的交互层中,其结构参数是搜索网络中结构参数值离散化的结果,且不可学习。记原特征i经过嵌入层的初始嵌入表示为
其中
模型总体上分为搜索网络与目标网络,由于两个网络在交互层的设计上有所不同,因而输出的特征向量也有一定的差异。搜索网络的主要目的是根据目标函数找到最优结构参数β
采用交叉熵损失作为损失函数,其中D
采取一阶优化方式,这里使用验证集D
实验:
为了验证模型自动特征生成模型的有效性,本文在四个公开数据集上共分类任务实验,除此之外,还进行了参数学习和消融分析进一步验证模型的有效性,本文使用的数据集的如表1所示。
表1 实验数据集
MovieLens-1M数据集主要包含用户对电影的评分等信息,评分大于3的样本为正样本,评分等于3的样本被移出数据集,剩余的样本作为负样本;Avazu描述用户在移动端的点击行为,例如用户是否点击了在移动端显示的广告;Criteo数据集常用于一般点击率预估(Click-throughRate,CTR)模型的验证,该数据集包含上千万条用户的点击记录;KDD12数据集由KDDCup 2012发布,原用于预测用户的点击数量,这里将用户点击数大于1的样本作为正样本,否则为负样本。分类任务为二分类,所有数据均为表格式数据。
图4展示了,具有结构参数的模型和无结构参数的模型之间性能的比较。从图中可以观察到,具有结构参数的模型即AFDAS在AUC上的评估值较高,相较于结构参数均为1的情况下,AFDAS学习结构参数且有选择性地忽略部分特征的做法更有效。
图5展示了,当τ趋近于0时,搜索网络和目标网络间的差异减小,此时特征选择交互算子的概率逼近范畴分布,离散化前后的结构参数值几乎一致,由此表明了GumbelSoftmax的有效性。
图6展示了,从三个交互算子中删去跳跃连接操作后,模型性能的下降幅度最大,在MovieLens-1M上下降0.6%,而在Avazu数据集上下降约0.3%,跳跃连接在模型中起到了重要作用。在分别删去另外两个算子后,模型的性能也有了一定程度的降低,在MovieLens-1M中删去高阶特征交互算子比删去低阶交互算子造成的影响要大,而在Avazu数据集中则相反,说明在Avazu中低阶生成特征更加有效。
图7展示了,一方面,竞争模式下的模型性能不如合作模式下的模型性能;另一方面,在竞争模式下发生了搜索网络迁移至目标网络的性能崩溃问题,前后两个网络的性能差异较大,而合作模式下差异则较小,这是由于竞争模式下跳跃连接富集引起的。(c)和(d)分别描述了在网络训练过程中各个算子的数量变化,其中(c)反映竞争模式下被选中交互算子个数的变化,被选中算子的数量总和在各epoch下是一定的。由图可观察出在网络训练初期跳跃连接算子的个数就已接近算子数量总和的50%,即跳跃连接富集。而(d)则反映合作模式下交互算子数量的变化,其中算子的总和不定,因而跳跃连接数量的增长不会抑制其余算子的数量。由此说明合作模式一定程度上缓解了跳跃连接富集问题。
- 一种基于可微分架构搜索的自动特征构建方法
- 一种动态可微分的空间架构搜索方法与系统