推荐系统实战(三)推荐系统中的embedding(中)

共享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矩阵的双塔模型

(二)独占Embedding

1、独占Embedding避免干扰

①推荐系统中的独占Embedding

比如用户行为序列由一个个的ItemID组成 ,而不同类型的行为(比如点赞、收藏等)对Item ID embedding所表达的语义有不同的要求。为了避免互相干扰,同一个物料可以在不同的行为序列中使用不同的ItemID embedding。

再比如刻画用户画像的Item ID Embeddig和被用于物料特征的Item ID Embeddig完全独立,互补共享。

②多目标的推荐系统

多目标的推荐系统,比如要同时优化点击率、购买率等,一些重要特征在参与不同目标建模时,也是用不同的embedding。

2、独占Embedding便于特征交叉

①共享Embedding在特征交叉时的弊端

以FM举例,公式如下所示:

\hat{y}(\mathbf{x})=b_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^n\sum_{j=i+1}^n\langle\mathbf{v}_i,\mathbf{v}_j\rangle x_ix_j

\hat{y}=b_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^n\sum_{j=i+1}^nw_{i,j}x_ix_j

不同特征交叉时使用同一个Embedding矩阵,可能存在干扰,比如要调整vi将wij学习好,可能就会影响另外一对交叉特征的系数。

②FFM:FM的改进 

  • FFM核心思想:同一个特征在与不同特征域的特征进行交互时,使用不同的embedding表示,从而更好地捕捉特征交互时的领域差异。
  • FFM的缺点:参数爆炸,总特征数n,embedding维数k,特征域个数f,参数总量达到nfk。

\hat{y}(x)=b_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^n\sum_{j=i+1}^n\langle\mathbf{v}_{i,f_j},\mathbf{v}_{j,f_i}\rangle x_ix_j

w_{i,j}=\langle\mathbf{v}_{i,f_j},\mathbf{v}_{j,f_i}\rangle

③CAN:解决参数爆炸问题的独占Embedding

(1)核心思想

阿里巴巴的CAN(Co-Action Net)将待交互的特征(例如用户侧和商品侧特征)分别作为深度神经网络(DNN)的输入和权重,然后使用DNN的输出作为特征交互的结果。

(2)优点
  • 解决了FFM参数爆炸的问题。
  • 允许模型将不同特征的交互细化为网络中每个神经元的权重变化,从而比传统的内积或加权平均方法更好地捕捉复杂的交互关系。
  • 通过输入特征动态调节DNN中的权重,可以使模型适应不同的特征交叉组合,提升推荐系统的个性化能力。
(3)实现

以用户特征和物料特诊之间的交叉举例,将物料特征embedding作为DNN的权重,用户特征embedding作为DNN的输入。

将物料特征的embedding矩阵展平成一维向量,再划分成若干段,将每段再重塑成一个小矩阵,每个重塑后的小矩阵作为DNN的权重。

E_{item}=Concat({Flatten(W_i)|i=0,...K-1})

(4)与FFM相比的优势

FFM为了区分不同特征域交互的面临参数爆炸问题,这是因为每个特征与不同特征域中的特征进行交叉时使用不同的embedding。

CAN中特征交叉的结构示意

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值