论文阅读“Learning to Embed Categorical Features without Embedding Tables for Recommendation”

Kang W C, Cheng D Z, Yao T, et al. Learning to Embed Categorical Features without Embedding Tables for Recommendation[C]//Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery & Data Mining. 2021: 840-850.

摘要翻译

类别特征(例如用户/项目id)的嵌入学习是各种推荐模型的核心,包括矩阵分解和神经协同过滤。传统的标准方法创建了一个嵌入表,其中每一行表示每个唯一特征值的专用嵌入向量。然而,该方法不能有效地处理在现实世界的推荐系统中普遍存在的高基数特征和不可见的特征值(例如新的视频ID)。在本文中,作者提出了一种替代的嵌入框架深度哈希嵌入(DHE),用一个深度嵌入网络代替嵌入表来实时计算嵌入。DHE首先将特征值编码为一个具有多个哈希函数和转换的唯一标识符向量,然后应用一个DNN将该标识符向量转换为嵌入式。实验结果表明,DHE在模型尺寸较小的情况下,其AUC与标准的one-hot方法相当。编码模块具有确定性、不可学习性、无存储性,嵌入网络在训练期间进行更新,学习嵌入生成。该工作阐明了设计基于DNN的替代嵌入方案,而不使用嵌入表查找。


the comparison between the standard one-hot based embedding and DHE
模型浅析

基于编码解码嵌入框架(T=𝐹◦𝐸),作者提出了设计良好编码的特性,然后介绍了DHE中的编码函数𝐸和解码函数𝐹,然后进行侧特征增强(side-feature-enhanced)编码设计以实现泛化。

Encoding Design

作者首先给出了设计良好编码需要满足的特性:

  • Uniqueness(唯一性):对每个特性值的编码都应该是唯一的。这也是全嵌入和多重哈希方法的目标。否则,就会有一些特性值必须共享相同的编码。碰撞的编码使后续的解码功能无法区分不同的特征值,这通常会损害模型的性能。
  • Equal Similarity(等相似性):当然光有独特性是不够的。以二进制编码为例,它使用二进制表示作为整数(例如id)的编码:例如𝐻(9)=[1,0,0,1]。我们可以看到,与𝐻(7)=[0,1,1,1]相比,𝐻(8)=[1,0,0,0]更类似于𝐻(9)。作者认为这引入了一个错误的归纳偏差(ID8和ID9更相似),这可能会误导后续的解码功能。双哈希也有一个类似的问题:在一个哈希函数中碰撞的两个特征值的编码比在两个哈希函数中没有碰撞的两个值的编码更相似。作者认为由于我们事先不知道分类特征之间的语义相似性,所以我们应该使任何两个编码同样相似,而不引入任何归纳偏差。
  • High dimensionality(高维性):我们希望编码易于后续解码函数区分不同的属性特征。高维空间通常被认为是更可分离的(e.g. kernel methods),我们认为编码维度也应该相对较高。例如,one-hot编码具有一个非常大的维数(𝑛用于全嵌入,𝑚用于哈希嵌入)
  • High Shannon Entropy(高香农熵):香农熵(以“比特”为单位)测量某个维度中携带的信息量。从高熵的要求出发,从信息理论的角度来防止冗余维度。例如,一个编码方案可以满足上述三个属性,但在某些维度上,所有特征值的编码值都是相同的。因此,我们希望通过最大化每个维的熵来有效地利用所有维。例如,one-hot编码在每个维度上都有一个非常低的熵,因为在任何维度上的编码对于大多数特征值都为0。因此,one-hot编码需要极高的维度(即𝑛)。

    对于编码需要满足的四个特性,作者在一张表中对现有的编码方式进行了总结。

    可以看出,虽然Binary编码和Identity编码没有使用嵌入表,但并没有满足相同的相似性和高维的可区分性。
Dense Hash Encoding

为了满足以上的编码特性,作者提出了DHE。
在不丧失一般性的情况下,我们假设特征值是整数,因为我们可以将字符串值映射到具有字符串哈希的整数。
Encoding function E: N -> R^k使用𝑘个通用哈希函数将特征值映射到𝑘维稠密且实值的编码。具体来说,我们有E'(s)= [𝐻^1(s), 𝐻^2(s), ..., 𝐻^k(s)] ,其中H^(i):N→{1,2,...𝑚}。这里设置的𝑚与嵌入表无关,我们只需要将其设置为一个相对较大的数字。作者这里说universal hashing是一种很好的方法,因为该方法的哈希值可以均匀的分布在{1,2,..,m}上。对于神经网络来说,其输入是实值的,因此作者采用了一种适当的变换将上述哈希的整数值转换为实值编码。在转换函数的选择上作者给出了两种选择:

与现有的哈希方法仅限于少数哈列函数的哈希方法不同,作者选择了一个相对较大的𝑘来满足高维特性(在实验中是𝑘=1024,尽管它比𝑛小得多)。整体的编码流程如下:
Deep Embedding Network

该部分的Decoding Function 𝐹 : R^𝑘 → R^𝑑 是将k维的编码向量转换为d维的嵌入表示特征。然而,所要学习的映射过程非常类似于一个高度非线性的特征变换,其中输入特征是固定的和不可学习的。
由于DNN所具有的通用函数逼近特性,作者在这一部分选择使用DNN来学习映射。并且深度网络可以使用更少的参数来近似函数。具体来说,作者使用前馈网络作为DHE的解码函数。通过具有𝑑_{NN}(由自身实验条件所决定)节点的隐藏层来转换前序的k维编码。在输出层(𝑑个节点)将最后一个隐藏层转换为𝑑维特征值嵌入。
整个学习过程独立于n和m。因此DHE的一个独特的特性是,它不使用任何嵌入表查找,而纯粹依赖于隐藏层来动态地记忆和计算嵌入。然而,由于嵌入生成任务需要从哈希编码到嵌入的高度非线性转换,因此当前的嵌入网络是欠拟合的。

Side Features Enhanced Encodings for Generalization

DHE的一个有趣的扩展利用侧特性来学习更好的编码。这有助于将结构注入到我们的编码中,并实现特征值和新值之间更好的泛化。实现泛化的一种典型方法是使用为泛化提供其潜在相似性的侧边特征(稠密的特征信息以及词袋模型特征)。

基于one-hot的完全嵌入保留了类别特征的属性,并独立地生成嵌入(即任意两个id的嵌入都是独立的)。one-hot的嵌入方式是去中心化的结构,利于保存但很难实现生成。相比之下,DHE方案是一个中心化的解决方案:嵌入网络中的任何权值变化都会影响所有特征值的嵌入。由于DHE的解码功能是一个神经网络,我们有很大的灵活性来修改输入,比如合并侧特征。因此作者提出了DHE的侧特征增强编码,希望这能提高特征值之间的泛化性,并得到新的值。增强编码的一种直接方法是直接将可推广的特性和哈希编码连接起来。然后将增强的编码输入深度嵌入网络进行嵌入生成。认为哈希编码为记忆提供了一个唯一的标识符,而其他特征则支持泛化能力。


现在包括sklearn中的hash降维表示的学习都是基于特征所在位置i下标进行哈希,从而得到当前位置i对应的哈希值h(i),然后将原始表示中特征所在位置i的特征值\phi(i)加到哈希位置h(i)中。
而对于推荐系统,作者却选择了非常取巧的方式,对当前的item的id进行k次哈希,得到k个值并进行实值转换。从而与传统bow表示进行拼接使用DNN学习并降维。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容