一种基于Darts的点击率预估模型自动化生成方法与流程

    专利查询2022-07-08  146


    一种基于darts的点击率预估模型自动化生成方法
    技术领域
    1.本发明涉及的是大数据/ai技术领域,具体涉及一种基于darts的点击率预估模型自动化生成方法。


    背景技术:

    2.近年来随着互联网产业和技术的迅猛发展,人类从信息匮乏的时代进入了一个信息高度过载的时代,人们在互联网上也越来越难从近似海量的商品、新闻、短视频等物料中找到自己真正感兴趣的,为了解决物料信息高度过载的问题,推荐系统技术起到了举足轻重的作用,而在推荐系统技术中点击率预估模型又是重中之重。
    3.点击率预估模型的作用是基于用户与物料交互的特征、物料本身的特征、以及用户属性特征来预测用户对某个物料点击的概率。传统构建点击率预估模型的方法是算法工程师根据经验设计一个神经网络架构,同时再设计架构中需要使用的特征交叉算子,从而构建出点击率预估模型。传统的方法存在的不足也很明显,首先人工设计的神经网络架构受限于算法工程师本身的经验,或者通常是行业内常见的几种架构(例如:单塔架构、双塔架构等等),人工设计的架构本身并不一定在当前场景下是最优;再者往往架构使用的特征交叉算子种类相对也较为单一,特征交叉算子是点击率预估模型的核心环节,较单一特征交叉算子会导致点击率预估模型的效果受限。
    4.近年来,神经架构搜索(nas,neural architecture search)技术是人工智能领域热门的研究方向,其核心思想是通过搜索算法来发现用于解决问题所需要的神经网络结构,即给定一个搜索空间,通过用搜索策略和性能评估策略从中搜索出最优网络结构。而在神经架构搜索领域中darts(differentiable architecture search)是一种前沿的可微分的神经架构搜索方法。
    5.本发明针对这一场景,提出了一种新型的基于darts的点击率预估模型自动化生成方法。


    技术实现要素:

    6.针对现有技术上存在的不足,本发明目的是在于提供一种基于darts的点击率预估模型自动化生成方法,基于用户与物料交互的特征、物料本身的特征、以及用户属性特征来预测用户对某个物料点击的概率。
    7.为了实现上述目的,本发明是通过如下的技术方案来实现:一种基于darts的点击率预估模型自动化生成方法,包括以下步骤:
    8.s1:在业务系统中获取用户与物料的交互日志,并结合用户基础属性特征、物料属性特征,生成结构化的特征表a,并为特征表a打上标签,对于物料曝光后的点击记录标注标签为1,对于物料曝光后未点击的记录标注标签为0;将打上标签的特征表a存入服务器内存中;
    9.s2:将特征表a中的每个特征的每个域(field)都映射成m维的特征向量,这样特征
    表a就映射成了特征向量矩阵h;
    10.s3:定义需要被搜索的搜索空间为集合s,s中的元素为特征交叉算子和skip算子;
    11.s4:定义点击率预估模型的目标神经网络架构是一个由六个节点构成的有向无闭环图结构;
    12.s5:采用darts中连续松弛化后可微的思想,引入温度参数t,通过两级优化进行超网搜索;
    13.s6:创新的设计了一种通过弹性阈值g结合知识蒸馏的方式把超网离散化生成子网的方法,从而获得最终的点击率预估模型。
    14.所述的步骤s2中的h的形状为n*m,这里n为所有特征的特征域的总数。将特征向量矩阵h存入服务器内存中。
    15.所述的步骤s3中的定义特征交叉算子有fm算子、mlp算子、self-attention算子、hadamard-product算子等,搜索空间中须加上skip算子其表示不做任何操作直连,同时也支持工程师加入自己设计的交叉算子,即:
    16.s={skip,fm,mlp,self-attention,hadamard-product...}
    17.所有的交叉算子在计算后都通过线性变换映射成k维向量,再通过leaky-relu进行非线性激活,把此系列的操作(交叉操作、线性变换、非线性激活)合并称为交叉算子模块,即搜索空间s中的元素。
    18.所述的步骤s4中的六个节点中0号节点是原始的特征向量,5号节点是汇总输出节点,中间的1-4号节点为经过交叉计算后的特征向量。
    19.所述的步骤s5具体包括:
    20.(1)定义每个节点的特征向量的计算公式为:
    [0021][0022]
    这里x
    (j)
    表示j节点的特征向量,o
    (i,j)
    (
    ·
    )是指从第i节点的特征向量经过某一交叉算子生成第j节点的部分特征向量(即:节点i和节点j之间的一条边),i<j表示在j节点之前的所有节点。
    [0023]
    (2)使用连续松弛化引入系数对操作进行加权求和:这里除了5号节点(输出节点)和0号节点(输入节点)之外,s集合中的所有算子都会作用于每两个节点之间,之后再通过松弛化引入系数对所有操作进行加权求和,具体公式为:
    [0024][0025]
    这里s表示搜索空间集合,这里设计了通过带有温度参数t的softmax函数为每个操作引入结构化加权系数α。
    [0026]
    (3)通过两级优化的方式优化结构参数α和网络参数w,最终完成超网的优化学习,得到优化后的结构化参数α。两级优化的公式如下:
    [0027]
    min
    α
    l
    val
    (w
    *
    (α),α)s.t.w
    *
    (α)=argminwl
    train
    (w,α)
    [0028]
    这里α是两级优化中的上层变量,w是两级优化中的下层变量。
    [0029]
    所述的步骤s6具体操作如下:
    [0030]
    (1)基于弹性阈值进行离散化:弹性阈值g为一个超参数,设置为(0,1)区间中的一个数,对于超网结构中的每一个交叉操作边的系数α,当α>g时这条边(操作)则保留,当α≤g时这条边(操作)则丢弃。这样超网就离散化成了一个子网。
    [0031]
    (2)通过知识蒸馏的方法重新训练子网:这里已训练好的teacher模型选取已搜索训练好的超网模型,而student模型采用上一步离散化之后的子网模型。知识蒸馏训练时采用的损失函数如下:
    [0032]
    loss=ce(p
    t
    ,q
    t
    ) ce(p1,y)
    [0033]
    这里ce表示交叉熵损失,p
    t
    代表的是student模型的输出结果经过带温度t的softmax的输出,q
    t
    代表的是teacher模型的输出结果经过带温度t的softmax的输出,p1代表的是student模型的输出结果经过无温度的softmax的输出,y则表示ground truth。
    [0034]
    通过知识蒸馏方法训练离散化后子网直至收敛,至此训练后得到的子网模型就是最终自动化生成的点击率预估模型。
    [0035]
    本发明的有益效果:本发明的点击率预估模型是推荐系统中的核心技术,其作用是基于用户与物料交互的特征、物料本身的特征、以及用户属性特征来预测用户对某个物料点击的概率。
    [0036]
    本发明能基于给定的特征交叉算子空间自动构建出适合当前场景的优秀神经网络架构,同时架构中使用的特征交叉算子也更为丰富;在搜索出超网离散化过程中本专利创新的提出了一种基于弹性阈值结合知识蒸馏离散化的方法,能使得更好的权衡缩小神经网络架构与子网效果指标变差的矛盾。本专利提出的方法能极大的降低推荐系统中点击率预估模型的开发门槛和时间投入,生成出来的点击率预估模型效果指标更加优秀。
    附图说明
    [0037]
    下面结合附图和具体实施方式来详细说明本发明;
    [0038]
    图1为本发明的映射成特征向量矩阵h示例图;
    [0039]
    图2为本发明交叉算子模块的组成示例图;
    [0040]
    图3为本发明的点击率预估模型目标神经网络架构示例图;
    [0041]
    图4为本发明的节点0和节点1进行连续松弛化后示例图;
    [0042]
    图5为本发明的基于弹性系数g离散化成子网示例;
    [0043]
    图6为本发明的实施流程图。
    具体实施方式
    [0044]
    为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
    [0045]
    参照图1,本具体实施方式采用以下技术方案:一种基于darts的点击率预估模型自动化生成方法,包括以下步骤:
    [0046]
    s1.在业务系统中获取用户与物料的交互日志,并结合用户基础属性特征、物料属性特征,生成结构化的特征表a,并为特征表a打上标签,对于物料曝光后的点击记录标注标
    签为1,对于物料曝光后未点击的记录标注标签为0,将打上标签的特征表a存入服务器内存中。
    [0047]
    s2.将特征表a中的每个特征的每个域(field)都映射成m维的特征向量,这样特征表a就映射成了特征向量矩阵h,h的形状为n*m,这里n为所有特征的特征域的总数。将特征向量矩阵h存入服务器内存中。如图1所示。
    [0048]
    s3.定义需要被搜索的搜索空间为集合s,s中的元素为特征交叉算子,定义特征交叉算子有fm算子、mlp算子、self-attention算子、hadamard-product算子等,搜索空间中须加上skip算子其表示不做任何操作直连,同时也支持工程师加入自己设计的交叉算子,即:
    [0049]
    s={skip,fm,mlp,self-attention,hadamard-product...}
    [0050]
    这里需要注意的是:所有的交叉算子在计算后都通过线性变换映射成k维向量,再通过leaky-relu进行非线性激活,把此系列的操作(交叉操作、线性变换、非线性激活)合并称为交叉算子模块,即搜索空间s中的元素。如图2所示。
    [0051]
    s4.定义点击率预估模型的目标神经网络架构:定义成是一个由六个节点构成的有向无闭环图结构。其中:1)六个节点中0号节点是原始的特征向量,5号节点是汇总输出节点,中间的1-4号节点为经过交叉计算后的特征向量;2)这里图中5号节点的入边为求和汇总操作,0号节点无入边,其余1-4号节点的每个入边代表某个具体的交叉计算操作;3)5号节点与1、2、3、4号每个节点都只有一条汇总操作边相连,0、1、2、3、4号节点中任意两个节点之间有至少1条交叉计算边相连;4)边只能从低数字的节点连向高数字的节点。点击率预估模型目标神经网络架构示例如图3所示。
    [0052]
    s5.采用darts中连续松弛化后可微的思想,并引入温度参数,通过两级优化进行超网搜索:
    [0053]
    1)定义每个节点的特征向量的计算公式为:
    [0054][0055]
    这里x
    (j)
    表示j节点的特征向量,o
    (i,j)
    (
    ·
    )是指从第i节点的特征向量经过某一交叉算子生成第j节点的部分特征向量(即:节点i和节点j之间的一条边),i<j表示在j节点之前的所有节点。
    [0056]
    2)使用连续松弛化引入系数对操作进行加权求和:这里除了5号节点(输出节点)和0号节点(输入节点)之外,s集合中的所有算子都会作用于每两个节点之间,之后再通过松弛化引入系数对所有操作进行加权求和,具体公式为:
    [0057][0058]
    这里s表示搜索空间集合,这里设计了通过带有温度参数t的softmax函数为每个操作引入结构化加权系数α。如图4所示。
    [0059]
    3)通过两级优化的方式优化结构参数α和网络参数w,最终完成超网的优化学习,得到优化后的结构化参数α。两级优化的公式如下:
    [0060]
    min
    α
    l
    val
    (w
    *
    (α),α)s.t.w
    *
    (α)=argminwl
    train
    (w,α)
    [0061]
    这里α是两级优化中的上层变量,w是两级优化中的下层变量。
    [0062]
    s6.创新的设计了一种通过弹性阈值g结合知识蒸馏的方式把超网离散化生成子网的方法,总而获得最终的点击率预估模型。具体操作如下:
    [0063]
    1)基于弹性阈值进行离散化:弹性阈值g为一个超参数,设置为(0,1)区间中的一个数,对于超网结构中的每一个交叉操作边的系数α,当α>g时这条边(操作)则保留,当α≤g时这条边(操作)则丢弃。这样超网就离散化成了一个子网。如图5所示。
    [0064]
    2)通过知识蒸馏的方法重新训练子网:这里已训练好的teacher模型选取已搜索训练好的超网模型,而student模型采用上一步离散化之后的子网模型。知识蒸馏训练时采用的损失函数如下:
    [0065]
    loss=ce(p
    t
    ,q
    t
    ) ce(p1,y)
    [0066]
    这里ce表示交叉熵损失,p
    t
    代表的是student模型的输出结果经过带温度t的softmax的输出,q
    t
    代表的是teacher模型的输出结果经过带温度t的softmax的输出,p1代表的是student模型的输出结果经过无温度的softmax的输出,y则表示ground truth。
    [0067]
    通过知识蒸馏方法训练离散化后子网直至收敛,至此训练后得到的子网模型就是最终自动化生成的点击率预估模型。
    [0068]
    本具体实施方式应用于推荐系统、广告算法、搜索引擎等领域的点击率预估模型构建。能使点击率预估模型构建趋近自动化,极大的降低了开发门槛和时间投入。在推荐系统领域,能更有效提升点击率预估模型的效果,从而提升收益。在广告算法领域,能更好预估用户点击广告的概率,从而使得广告平台增收。在搜索引擎领域,能更好的为用户找到匹配的结果,从而提升用户满意度。
    [0069]
    以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
    转载请注明原文地址:https://tc.8miu.com/read-2649.html

    最新回复(0)