多任务建模之PPNet

PPNet的网络结构由基础的DNN结构和Gate NN结构组层。两种结构的融合方式是LHUC(Learning Hidden Unit Contributions)结构。像快手、字节等公司的推荐模型都是用了该结构。

所以,学习PPNet之前,必须先清楚LHUC结构。简单讲,就是将重要的一些bias特征embedding,作为其他所有特征的"gate"——即特征的重要性embedding,和特征原始embedding 做hadamard 积,生成加权后的embedding,后面就是mlp层。详细可以看下大佬的这篇文章先入为主:将先验知识注入推荐模型 - 知乎,写得非常清楚。



 了解LHUC结构后,就比较容易能理解PPNet(Parameter Personalized Net)结构。将LHUC的结构应用到每一层网络结构(embedding层和mlp层)。其中Gate NN 是一层relu,一层sigmoid(为什么是sigmoid,因为是当作特征重要性是用)。所有层的Gate NN的输入都是bias embedding和其他所有特征的embedding。不同的是,因为需要做hadamard 积,所以,每一层Gate NN的输出维度是和左侧对应层的维度一致。具体的训练过程,以下几点需要注意:

  • 除bias embedding外,其他所有embedding特征,即绿色框的embedding,其梯度更新不受Gate NN的反转梯度更新。其参数只会受左侧塔(橘色的)的反向梯度更新。
  • Gate NN是一个2层神经网络,其中第二层网络的激活函数是2 * sigmoid,目的是约束其输出的每一项在[0, 2]范围内,并且默认值为1。当Gate NN输出是默认值时,PPNet同左侧部分网络是等价的。
  • 左侧塔是辅助网络,个人理解主要是学习embedding,右侧塔是最终上线serving的塔。

 技术日新月异,欢迎大佬多多点评沟通。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值