Deep Hash Embedding for Large-Vocab Categorical Feature Representations
Wang-Cheng Kang, Derek Zhiyuan Cheng, Tiansheng Yao, Xinyang Yi, Ting Chen, Lichan Hong, Ed H. Chi
Google Research
https://arxiv.org/pdf/2010.10784.pdf
大规模类别型特征嵌入学习,比如用户id,商品id,单词等,在深度学习中至关重要,尤其是用于推荐系统和自然语言理解任务中的神经网络模型。
在嵌入学习中,一般而言,模型会创建大型嵌入表,每一行表示一个特征值对应的嵌入向量。实际应用中,为了处理新的特征值,即词汇外特征,同时为了降低存储成本,通常会采用哈希技巧。这种方法将特征值随机映射到少数哈希桶。本质而言,这些嵌入方法可以看作一层one-hot编码的宽神经网络。
这篇文章提出一种嵌入框架,深度哈希嵌入,DHE,利用非one-hot编码和深度神经网络来计算嵌入,并且无需存储。DHE首先利用多个哈希函数将特征值编码到稠密向量,然后利用深度神经网络生成嵌入层。DHE可以避免冲突,因为稠密哈希编码针对词汇内和词汇外特征值都是唯一的。编码模块是确定性的,不可学习的,并且无需存储,嵌入网络在训练时会进行更新,进而可以记住嵌入信息。
实验结果表明,DHE效果优于STOA基于哈希的嵌入学习算法,相对标准的one-hot编码取得的auc相当,但是DHE的模型大小远小于one-hot编码。该工作设计了基于深度神经网络的针对类别特征的嵌入方法,无需嵌入表查询。
下面是这篇文章的主要贡献
下面是符号约定
one-hot编码的缺陷在于
几种嵌入方法对比图示如下
判断一个哈希的好坏可以参考以下四个标准
两种常用的分布有
稠密哈希编码算法伪代码如下
深层嵌入网络简介如下
作者们在优化过程中发现BN和Mish表现较好
one-hot编码跟深度哈希编码的区别在于
实验数据集简介以及分割方法如下
数据集信息统计如下