共享Embedding还是独占Embedding
(一)共享Embedding
1、定义
在共享embedding的情况下,多个特征(如用户ID和物料ID)会使用同一个embedding矩阵。
2、共享Embedding的好处
- 内存节省:因为用户ID和物料ID共享相同的embedding矩阵,参数量大大减少。
- 计算效率高:适合大规模用户与物料的场景,训练速度快。
3、FM的共享Embedding
①FM的定义
因子分解机( FM)是一种强大的机器学习模型,特别适合处理高维稀疏数据。FM能够有效地捕捉特征之间的交互关系,并通过共享Embedding实现特征交叉的高效表示。
②FM的核心思想
FM的核心思想是将特征之间的交互用向量内积的形式表示,从而有效地捕捉高维稀疏数据中潜在的特征交互。
③FM的特点
在FM中,共享embedding的特征交叉是通过从同一个embedding矩阵中提取特征向量来实现的。
④FM的优缺点
优点:能够提高计算效率,减少内存使用。
缺点:在于无法区分特征之间的领域差异,可能影响模型对特征交互的表达能力。
(二)独占Embedding
1、独占Embedding避免干扰
①推荐系统中的独占Embedding
比如用户行为序列由一个个的ItemID组成 ,而不同类型的行为(比如点赞、收藏等)对Item ID embedding所表达的语义有不同的要求。为了避免互相干扰,同一个物料可以在不同的行为序列中使用不同的ItemID embedding。
再比如刻画用户画像的Item ID Embeddig和被用于物料特征的Item ID Embeddig完全独立,互补共享。
②多目标的推荐系统
多目标的推荐系统,比如要同时优化点击率、购买率等,一些重要特征在参与不同目标建模时,也是用不同的embedding。
2、独占Embedding便于特征交叉
①共享Embedding在特征交叉时的弊端
以FM举例,公式如下所示:
在不同特征交叉时使用同一个Embedding矩阵,可能存在干扰,比如要调整vi将wij学习好,可能就会影响另外一对交叉特征的系数。
②FFM:FM的改进
- FFM核心思想:同一个特征在与不同特征域的特征进行交互时,使用不同的embedding表示,从而更好地捕捉特征交互时的领域差异。
- FFM的缺点:参数爆炸,总特征数n,embedding维数k,特征域个数f,参数总量达到nfk。
③CAN:解决参数爆炸问题的独占Embedding
(1)核心思想
阿里巴巴的CAN(Co-Action Net)将待交互的特征(例如用户侧和商品侧特征)分别作为深度神经网络(DNN)的输入和权重,然后使用DNN的输出作为特征交互的结果。
(2)优点
- 解决了FFM参数爆炸的问题。
- 允许模型将不同特征的交互细化为网络中每个神经元的权重变化,从而比传统的内积或加权平均方法更好地捕捉复杂的交互关系。
- 通过输入特征动态调节DNN中的权重,可以使模型适应不同的特征交叉组合,提升推荐系统的个性化能力。
(3)实现
以用户特征和物料特诊之间的交叉举例,将物料特征embedding作为DNN的权重,用户特征embedding作为DNN的输入。
将物料特征的embedding矩阵展平成一维向量,再划分成若干段,将每段再重塑成一个小矩阵,每个重塑后的小矩阵作为DNN的权重。
(4)与FFM相比的优势
FFM为了区分不同特征域交互的面临参数爆炸问题,这是因为每个特征与不同特征域中的特征进行交叉时使用不同的embedding。