推荐系统与深度学习(7): [Yahoo] FMFM模型: FM|FwFM|FvFM的统一框架

以下仅仅为个人对文章的阅读记录,如有错误,欢迎指正。如需转载注明来源即可~~

Sun Y, Pan J, Zhang A, et al. FM^ 2: Field-matrixed Factorization Machines for Recommender Systems[J]. arXiv preprint arXiv:2102.12994, 2021.
原文链接:https://arxiv.org/pdf/2102.12994.pdf

一、简介

在过去的几年中,点击预测任务(Click Through Prediction,CTR)吸引了很多研究人员的注意,因为其在推荐系统、在线广告中越来越重要的作用。浅层CTR模型,从简单有效的LR到著名的FM以及之后的FFM,都尽可能地建模特征交互,也取得了越来越好的效果。但是FFM在考虑域信息的时候伴随着大量的参数,而FwFM则提出了一种参数更少的方式,实现了类似的效果。本文的FmFM模型,在FwFM的基础上进一步改进,使用两个特征之间的Field matrix来建模他们之间的交互。FmFM模型实现了更好的效果同时保持了较高的计算效率。
核心贡献:

  • 提出了FmFM框架,可以将FM、FwFM、FvFM都纳入该框架下。
  • 对FwFM模型进行了三个方向的优化:
    ① 通过降维(PCA)方法,使得每个Field的特征维度都不同(都低于固定维度),保证了模型表现的同时叫嚣了模型的参数量。
    ② 虽然FmFM的参数少,但是有很多的矩阵运算,为了减少浮点数运算,可以通过缓存所有中间结果的方式实现。而且这种方式在形式上将FmFM模型转换为FFM。
    ③ 采用FwFM中的方法,优化模型中的线性部分,为每个Field学习一个特定的向量w_{F(i)},通过<v_i, w_{F(i)}>代替权重w_i,可以学到更多的信息。
  • 通过实现证明了在Criteo和Avazu数据集上,FmFM比LR、FM、FwFM等浅层模型取得了更好的效果,同时也超过了大部分的深度学习CTR模型,例如DNN、WDL、DeepFM、AutoInt等。

二、FM等浅层模型发展历程

主要介绍了LR、Poly2、FM、FwFM浅层模型。

1、Logistic Regression (LR)

使用最广泛CTR预测模型,模型十分简单,参数少,计算快。LR通过线性权重实现单个特征的组合:
Logistic Regression

但是LR缺少表示特征交互的能力。有效建模特征交互是目前CTR模型的主要研究方向之一。

2、Degree-2 Polynominal (Poly2)

Poly2 在LR的基础上为每一对特征学习了权重。

Poly2模型

模型的参数量为O(m^2)。但是CTR场景下特征组合很稀疏,而且分布不均衡导致很多参数无法得到有效的学习。

3、Factorization Machines (FM)

FM为每个特征学习一个Embedding vector,使用两个特征向量之间的点积(dot product)建模特征交互,即x_i x_j w_{h(i,j)}。FM可以在特征稀疏的场景下进行高效的特征学习。

FM模型

但是FM忽略了一个事实:当一个特征和其他field的特征进行交互时,表现可能是不同的,因此有人提出了FFM模型。

4、Field-aware Factorization Machines (FFM)

FFM模型为每个field特征学习n-1个field的特征向量,当某个field与不同filed的特征交互时,选择对应的向量。v_{i, F(j)} 表示field i 的特征与field j的特征交互时选择的embedding,v_{j, F(i)}则相反,两者做点积,表示特征交互。

FFM模型

虽然FFM模型的表现很好,但是FFM模型不可接受的一点是参数量巨大,为O(m+m*n*k)

5、Field-weighted Factorization Machines (FwFM)

FwFM是FM的扩展,添加了权重r_{F(i), F(j)},显式地建模了不同特征交互的重要性。

FwFm中特征交互的重要性

FwFM的参数量远小于FFM,但是在效果上足以媲美FFM。
FwFM模型

但是仅仅使用一个标量来表示特征域交互的权重,表达能力不够。

三、FmFM模

1、FmFM模型总览

为了解决FwFM在特征交互权重上表达能力不够的问题,本文提出了通过Field matrix的方式来计算特征交互的重要性,即公式中的红框部分,可以和FwFM模型进行对比,十分简洁易懂。可以看作是weighted out product,作者在后面也有分析。

FmFM模型
模型的计算过程可以分为三步:
① Embedding Lookup: 从Embedding table中找到三个特征的向量v_i,v_j,v_k
② Transformation: v_i和矩阵M_{F(i),F(j)} ,M_{F(i),F(k)}分别计算,获得两组对应的中间向量v_{i,F(j)}v_{i,F(k)}
③ Dot product: 最后通过简单的点积计算获得最后的交互项。

2、FmFM可以作为FM家族的联合框架

这一部分说明如何将FM、FwFM,FvFM(本文提出)使用FmFM进行描述。
FM:将FmFM中的特征交互矩阵看作是单位矩阵即可获得FM模型。很明显,向量和单位矩阵相乘等于本身。作者将这种情况下的自由度定义为0。

FwFM:FwFM中的field matrix 是一个常量矩阵。如下图r_{F(i),F(j)}。作者将此时的自由度定义为1。

FvFM:FvFM是一个比FwFM自由度更加高,但是比FmFM自由度低的模型。此时的交互矩阵为每个维度有学一个权重,在我的理解中,有点像weighted inner product。

FmFM: 把交互矩阵进行了扩展,在我的理解中,有点类似weighted outer product。


模型的自由度

和OPNN进行对比: 很明显,两者都是计算weighted outer product的。

文中指出和OPNN的区别:

  • FmFM是浅层模型。没有使用DNN等全连接层。我们可以将FmFM作为一个浅层组件或者深度CTR模型的构建模块。
  • FmFM支持可变Embedding 维度。
    FFM无法归纳到FmFM框架原因:
    因为FFM在查询Feature Embedding的方式和FmFM不同,如下图所示,FFM总是使用Field specific embeddings。因此每个Field总有n-1个embeddings, 对应其他的n-1个field。

    FFM这种学习Embedding的方式给了他很大的灵活性,但是带来了巨大的内存消耗,以及过拟合的风险。
    3、以上模型的复杂度分析
    m是所有特征的数量,n是filed的数量,n << m。K是Embedding的维度。

4、模型的优化
(1)Variable Dimensions in Embeddings(可变嵌入维度)
在以往的模型中特征的维度K都是相同的,这保证了Field-pair可以进行dot product。但是FmFM中使用Field matrix时不需要方阵,如下如所示。这就使我们可以根据Field的特特点设定Field specific length,提供了另一种灵活性。
特征的维度决定了信息的携带量:这个属性允许我们根据field的需要进行调整。


为了优化各个field 的维度,保证不损失模型的表现,本文提出了2阶段的方法。

  • 首先为每个field设置了一个较大的维度16。然后使用FmFM模型训练处一个完整的模型。
  • 从完整的模型中我们可以知道每个field中包含多少信息(方差),然后使用PCA对每个Embedding table 进行降维。从后文的结果表明,95%的原始方差是一个很好的权衡。使用新的维度设置,重新训练模型,我们可以得到第二个模型,而且和完整的模型相比,没有显著的性能损失。、

    下表是使用PCA方法后,Criteo数据集上39个Field选择的维度。维度的平均值只有7.72,远低于完整模型的维度16。这就极大的减少了参数和内存。

(2)过渡向量的缓存以及可变维度
FmFM的复杂度比FFM低很多,但是FmFM需要大量的矩阵计算,如下图。

但是通过缓存FmFM中的向量与各个Field matrix的乘积后,FmFM可以看做是FFM模型。降低了时间复杂度。
同时如果使用可变维度,则可以实现更低的时间复杂度。

(3) Soft Pruning (剪枝)
这一部分,作者指出降维的方法类似于剪枝的作用。
以下两张图展示了Criteo两个Field之间的互信息。第一张图是降维前,第二章是降维后。可以看到两者是非常相关的。这意味着优化后的FmFM模型在重要的Field pair上分配更多的参数和计算量,在低重要性的Field pair上分配更少的参数和计算量。

四、实验分析

1、实验数据集与设置。

数据集划分: Train:Validation: Test = 8:1:1
评价指标: AUC和Logloss

2、性能对比

以下两张图是完整FmFM模型上的效果。
可以看出:(1)FvFM和FmFM的性能都优于LR、FM和FwFM。甚至比FFM的模型更好。(2)和深度DNN模型相比,FmFM模型也有优势。

使用降维之后模型效果:

在降低了Field的维度之后,模型的表现并没有显著的下降。在方差是95%的时候,只有不到1/2的嵌入维度和1/3的计算成本。

计算效率分析:

在差不多AUC的效果下,模型FmFM的计算复杂度是最低的。

五、个人小结

看过FM、FFM、FwFM之后,再看FmFM模型,就会觉得FmFM理所应当被提出来。就像LR到FM再到FFM,一个必然的流程,只是时间问题。本文之后提出的可变嵌入降维以及之后的分析也能让我们学到很多。

其他文章

[WWW'18]认识一下带权重的FFM模型——FwFM

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

推荐阅读更多精彩内容