RecSys - DHE (Deep Hash Embedding)

论文:Learning to Embed Categorical Features without Embedding Tables for Recommendation

1. Introduction

  embedding learning 很重要,是模型的奠基石。本文面向类别特征(如id类)。但在RecSys中面临很多挑战:
   - huge vocabulary size:RecSys 中类别特征高基数维(翻译无能,原文high-cardinality)
   - Dynamic nature of input:user 和 item 对应词表实时变化,新出现老消失
  - Highly-skewed data distribution: 高倾向度的分布,对于长尾表现欠佳

  one-hot编码再查找embedding矩阵是常规操作,但词表巨大且难适应表外词,而hash会导致碰撞。而Deep Hash Embedding = multi-hash + dense抽取网络,contribution:
  - 多头hash获得编码向量取代one-hot
   - dense抽取取代embedding矩阵查找,更参数有效,且解决了可训练和表达性问题。
  - 通过在编码中集成side feature,来泛化特征值
在这里插入图片描述

2. one-hot编码演进

  类别特征的编码通用框架: e → = T ( v ) = F ∘ E ( v ) \overrightarrow{e} = \mathscr{T}(v) = F\circ E(v) e =T(v)=FE(v),其中,E将特征值映射到某特定空间中,F解码生成embedding向量 e → \overrightarrow{e} e

  演化:
   1. one-hot编码 + lookup:矩阵随vocabulary线性增长;新词问题
   2. hash降维 + one-hot + lookup:冲突问题
  3. multi-hash(一般k=2) + one-hot + lookup

  本质上都是基于one-hot编码和浅层神经网络(lookup <=> 1 layer)

3. DHE

3.1 Encoding Design

  需要满足以下条件:
   - 独一性:不冲突
   - 同等相似性:尤其对于id类特征,必须保证相似程度是同等的;如8二进制编码 100 0 ( 2 ) 1000_{(2)} 1000(2)与9的 100 1 ( 2 ) 1001_{(2)} 1001(2)比与7的 011 1 ( 2 ) 0111_{(2)} 0111(2)看起来更等价,容易误导后续解码阶段
  - 高维:高维空间更易划分,便于后续解码
   - 高Shannon信息熵:简单来说每一维都要有用

3.2 Dense Hash Encoding

  1. 用多个hash func 讲特征值s转为k维向量 E ( s ) = [ H ( 1 ) ( s ) , H ( 2 ) ( s ) . . . , H ( k ) ( s ) ] E(s) = [H^{(1)}(s), H^{(2)}(s)..., H^{(k)}(s)] E(s)=[H(1)(s),H(2)(s)...,H(k)(s)],每个 H ( i ) H^{(i)} H(i)将s映射到{1,2…,m}
  2. 为了numeric stability,神经网络input必须是典型的实值和归一化的。因此受GANs引入随机噪声生成图片启发,找到合适的转化:Uniform Distribution 和 Gaussian Distribution
  3. k取很大保证高维性。计算可即时并行完成,不需要存储

3.3 Deep Embedding Network

  用神经网络来拟合框架中F的映射过程,存储在隐层参数中。不同与deep network易过拟合,deep embedding network欠拟合:
   - ReLU激活函数是分段线性的,表达不足,更换为Mish (𝑓 (𝑥)=𝑥 · tanh(ln(1 + 𝑒𝑥 )))
   - BN使训练更稳定表现更好,但dropout等正则化无效

3.4 Side Features Enhanced Encodings for Generalization

  类别特征不同值潜在特征表示不包含任何内在的相似性,因此很难扩展到其余值

  one-hot编码形式对于各特征表示的更新是独立的,视为分散结构;而DHE任何特征值表示权重更新都会影响其与特征值表示,这种集中结构能泛化的可能性更大。因此,引入side features(如泛化特征)组合起来作为模型input
(如对于每个电影,引入其影片分类,评分等)

3.5 Summary

  DHN = dense hash encoding + deep embedding network
   - dense hash encoding:完全确定的,不可学习,实时计算,不许存储
   - deep embedding network:用NN代替词表查找,缺陷在于计算。而由于网络的可变,DHE还能很好适应于online learning场景和power-law distributions (越流行模型记忆越深刻)

4. Experiment

4.1 评估

对于每种embedding分别用浅层网络GMF(Generalized Matrix Function)和MLP作为推荐模型,接受embedding作为输入,进行CTR预测。

4.2 baseline

model说明
Full Embedding
The Hashing Trickhash降维
Bloom Embeddingmulti-hash 生称二进制编码 + 1 linear layer
Hash Embedding (HashEmb)multi-hash + weight sum(权重学习获得)
Hybrid Hashing常见特征值用one-hot编码,其余的用double hash
CompositionalEmbedding两种互补的hash来避免冲突

5. Conclusion

  future work:
  - 处理multivalent特征,如词袋
   - 用DHE联合建模多个特征
   - 词表和NN结合平衡效率和表现

  • 13
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值