DL——PPNet-and-PEPNet


LHUC

  • LHUC(Learning Hidden Unit Contributions),最早应用于语音识别中
  • LHUC的基本思路是在语音识别中,用一个网络建模说话者的特点,这个网络输出用于修改主网络上的隐藏向量,其模型结构见下图(参考自PPNET参考链接:推荐模型简介之快手PPENT - Shard Zhang的文章 - 知乎):

PPNet

  • 快手2019年将LHUC的思想使用到推荐系统中,并将该方法命名为PPNet(Parameter Personalized Net),据说2019年全量后取得了很不错的收益
  • 推荐系统中的一般的LHUC结构图(参考自PPNET参考链接:推荐模型简介之快手PPENT - Shard Zhang的文章 - 知乎):
  • 快手的PPNet结构图如下:

    如上图3所示,PPNet的左侧是目前常见的DNN网络结构,由稀疏特征(sparse features)、嵌入层(embedding layer)、多神经网络层(neural layer)组成
    右侧是PPNet特有的模块,包括Gate NN 和 只给Gate NN作为输入的id特征。其中uid,pid,aid分别表示user id,photo id,author id。即bias embedding
    左侧的所有特征的embedding会同这3个id特征(uid,pid,aid)的embedding拼接到一起作为所有Gate NN的输入。需要注意的是,左侧所有特征的embedding并不接受Gate NN的反传梯度,这样操作的目的是减少Gate NN对现有特征embedding收敛产生的影响。Gate NN的数量同左侧神经网络的层数一致,其输出同每一层神经网络的输入做element-wise product来做用户的个性化偏置
    Gate NN是一个2层神经网络,其中第二层网络的激活函数是 2 * sigmoid,目的是约束其输出的每一项在[0, 2]范围内,并且默认值为1。当Gate NN输出是默认值时,PPNet同左侧部分网络是等价的
    经实验对比,通过Gate NN为神经网络层输入增加个性化偏置项,可以显著提升模型的目标预估能力。PPNet通过Gate NN来支持DNN网络参数的个性化能力,来提升目标的预估能力,理论上来讲,可以用到所有基于DNN模型的预估场景,如个性化推荐,广告,基于DNN的强化学习场景等

  • 快手PPNet实现的几个核心点:

PEPNet

  • PEPNet(Parameter and Embedding Personalized Network),包含EPNet和PPNet两个核心逻辑:
    • EPNet(Embedding Personlized Network):主要用于做不同场景(domain)的个性化
    • PPNet(Parameter Personlized Network):做用户维度的个性化,详情见上文
  • 详细框架图如下:
    • 特点:多场景、多任务、千人千模