DIEN

亮点

    1. 引入辅助 Loss:利用 GRU 的 hidden state 与下一个点击的商品做一个
    1. 一般模型把用户行为直接当成兴趣,dien 认为用户兴趣是隐藏在行为中,需要去挖掘

image.png

  • feature 分成四类:User Profile, User Behavior, Ad and Context
  • [[interest extractor layer]] 作用 → 兴趣抽取层,用 GRU 抽取序列信息
  • [[interest evolving layer]] 作用 → 兴趣进化层,将Target Attention引入GRU,过滤掉与待排序的广告不相关的信息。
  • [[AUGRU]] 计算方法 #card
    • 这里是先用序列中Item的隐状态和待排序的广告Embedding计算一个Attention标量,再将该标量乘以更新门控向量。
    • 最终隐藏状态和候选状态,以及每一个维度的重要性,由当前Item隐状态,待排序广告,前一Item隐状态,当前Item原特征(后两者用于计算更新门)共同决定。

源码阅读

  • train.py 指定模型
  • model 中包含对模型的实现
  • 数据
    • uid_voc.pkl: 用户名对应的id
    • mid_voc.pkl: item对应的id
    • cat_voc.pkl:category对应的id
    • item-info:item对应的category信息
    • reviews-info:用于进行负采样的数据
    • local_train_splitByUser:训练数据,一行格式为:label、用户名、目标item、 目标item类别、历史item、历史item对应类别。
    • local_test_splitByUser:测试数据,格式同训练数据
  • 网络设置
    • embeeding 18
    • hidden size 18*2
    • attention_size 18*2
    • fcn: 200-80-2
    • dice
    • prelu
  • 需要分析代码:
    • aux 网络
    • gru 改造
    • din_fcn_attention

[[Ref]]

网络回响

作者

Ryen Xiang

发布于

2026-02-17

更新于

2026-02-17

许可协议


评论