《Neural Input Search for Large Scale Recommendation Models》笔记
一、综述:
在推荐场景中,在嵌入维度过高以及参数数量庞大的情况下(或环境下),由于导致了存储资源的过度消耗(或浪费),feature embedding的每一维无法有效地进行训练。
在推荐系统中(Recall/Rank指标)的应用场景下,输入特征通过嵌入层生成了大量可训练的参数。然而,在不同特性和同一特性的不同取值之间(由于它们覆盖的数据集存在差异),这些参数获得训练的机会也有所区别。对于高频特性和高频率取值,则建议采用较高的嵌入维度以更好地捕捉信息表达;而单一嵌入维度则难以充分展现模型对数据处理的能力
Neural Input Search(NIS)文章专注于探索分类特征下的词表大小与嵌入维度的自适应优化问题。研究中涉及的嵌入维度优化方法主要包括两类:一类是固定维度策略(即不同特征值共享相同的嵌入维度),另一类则是可变维度策略(即不同值对应不同的嵌入维度)。

二、解决的问题
文章主要解决两类问题
我们需要通过实验研究来确定最合适的词汇量大小与嵌入维度之间的平衡关系。
同时,内存大小做为搜寻最优解时的一个限制因素
对于 Multi-size Embedding(MSE),如何确定各个values各自的对应的dimension
Feature头部的特征采用具有更大的embedding dimension使其表征更加充分;长尾特征值可以通过较少数量的训练数据获得低维度的嵌入
为了使MSE能够得到有效的优化结果,在构建模型时必须引入一个可训练的线性映射矩阵,并将其转换为与嵌入层相同的空间维度
三、如何解决
将一个embedding矩阵split成多个S * T个子块,
设计一个基于NN的controller使用softmax probilities
在SE中选择一个嵌入块(s,t),并在训练过程中将其纳入整体训练体系中。
(2)对于MSE则选择一串embedding block 并加到这一步的训练过程
主模型(Recall/Rank)在受Controller采样结果影响下被训练;同时,在召回与排序方面分别设置了Recall@1和AUC作为训练目标
B)Reward根据主模型在验证集上的结果做为反馈
C)baseline和controller拥有相似的架构,在基于验证集进行训练后,能够将预测奖励分配给controller。
其中Controller扮演的是Actor角色,在基准模型中采用了Critic组件的情况下,在这篇文章中讨论了采用A3C算法来进行训练的情况。类似于将其整合到multi-thread环境中进行学习过程的情况。
四.结论
在推荐场景下Recall@1和AUC分别提升6.8% 1.8%
