在进入深度学习时代后,FM的演化过程并没有停止,本节将介绍始FNN、DeepFM及NFM模型,使用不同的方式应用或改进了FM模型,并融合进深度学习模型中,持续发挥着其在特征组合上的优势。
FNN
FNN由伦敦大学学院的研究人员于2016年提出,其模型的结构初步看是一个类似Deep Crossing模型的经典深度神经网络,从稀疏输入向量到稠密向量的转换过程也是经典的Embedding层的结构。 FNN的改进在于Embedding层。在神经网络的参数初始化过程中, 往往采用随机初始化这种不包含任何先验信息的初始化方法。由于Embedding层的输入极端稀疏化,导致Embedding层的收敛速度非常缓慢。再加上Embedding层的参数数量往往占整个神经网络参数数量的大半以上,因此模型的收敛速度往往受限于Embedding层。 针对Embedding层收敛速度的难题,FNN模型的解决思路是用FM模型训练好的各特征隐向量初始化Embedding层的参数,相当于在初始化神经网络参数时,已经引入了有价值的先验信息。也就是说,神经网络训练的起点更接近目标最优点,自然加速了整个神经网络的收敛过程。 这里再回顾一下FM的数学形式,如下所示。 下面用图示的方法显示FM各参数和FNN中Embedding层各参数的对应关系 需要注意的是,图中虽然把FM中的参数指向了 Embedding层各神经元,但其具体意义是初始化Embedding神经元与输入神经元之间的连接权重。假设FM隐向量的维度为m,第i个特征域的第k维特征的隐向量是Vi,k=(Vik1,Vik2,…,Vikm) 那么隐向量的第l维就会成为连接输入神经元k和Embedding神经元I之间连接权重的初始值。 需要说明的是,在训练FM的过程中,并没有对特征域进行区分,但在FNN模型中,特征被分成了不同特征域,因此每个特征域具有对应的Embedding层, 并且每个特征域Embedding的维度都应与FM隐向量维度保持一致。 FNN模型除了可以使用FM参数初始化Embedding层权重,也为另一种 Embedding层的处理方式 Embedding预训练提供了借鉴思路。
DeepFM
FNN把FM的训练结果作为初始化权重,并没有对神经网络的结构进行调整, 而2017年由哈尔滨工业大学和华为公司联合提出的DeepFM则将FM的模型结构与Wide&Deep模型进行了整合,其模型结构图如图所示。
在Wide&Deep模型之后,诸多模型延续了双模型组合的结构,DeepFM就是其中之一。DeepFM对Wide&Deep模型的改进之处在于,它用FM替换了原来的Wide部分,加强了浅层网络部分特征组合的能力。如图所示,左边的FM部分与右边的深度神经网络部分共享相同的Embedding层。左侧的FM部分对不同的特征域的Embedding进行了两两交叉,也就是将Embedding向量当作原FM中的特征隐向量。最后将FM的输出与Deep部分的输出一同输入最后的输出层,参与最后的目标拟合。 与Wide&Deep模型相比,DeepFM模型的改进主要是针对Wide&Deep模型的Wide部分不具备自动的特征组合能力的缺陷进行的。这里的改进动机与Deep&Cross模型的完全一致,唯一的不同就在于Deep&Cross模型利用多层Cross网络进行特征组合,而DeepFM模型利用FM进行特征组合。当然,具体的应用效果还需要通过实验进行比较。
NFM
无论是FM,还是其改进模型 FFM,归根结底是一个二阶特征交叉的模型。受组合爆炸问题的困扰,FM几乎不可能扩展到三阶以上,这就不可避免地限制了FM模型的表达能力。那么,有没有可能利用深度神经网络更强的表达能力改进FM模型呢? 2017年,新加坡国立大学的研究人员进行了这方面的尝试,提出了 NFM模型。 在数学形式上,NFM模型的主要思路是用一个表达能力更强的函数替代原FM中二阶隐向量内积的部分。 如果用传统机器学习的思路来设计NFM模型中的函数f(X),那么势必会通过一系列的数学推导构造一个表达能力更强的函数。但进入深度学习时代后,由于深度学习网络理论上有拟合任何复杂函数的能力,f(X)的构造工作可以交由某个深度学习网络来完成,并通过梯度反向传播来学习。在NFM模型中,用以替代FM二阶部分的神经网络结构如图所示。 NFM网络架构的特点非常明显,就是在Embedding层和多层神经网络之间加入特征交叉池化层。假设Vr是所有特征域的Embedding集合,那么特征交叉池化层的具体操作如下所示。 其中,0代表两个向量的元素积操作,即两个长度相同的向量对应维相乘得到元素积向量,其中第k维的操作如下所示。 在进行两两Embedding向量的元素积操作后,对交叉特征向量取和,得到池化层的输出向量。再把该向量输入上层的多层全连接神经网络,进行进一步的交叉。 如果把NFM的一阶部分视为一个线性模型,那么NFM的架构也可以视为Wide&Deep模型的进化。相比原始的Wide&Deep模型,NFM模型对其Deep部分加人了特征交叉池化层,加强了特征交叉。这是理解NFM模型的另一个角度。
基于FM的深度学~模型的优点和局限性
本节介绍了 FNN、DeepFM、NFM三个结合FM思路的深度学习模型。它们的特点都是在经典多层神经网络的基础上加人有针对性的特征交叉操作,让模型具备更强的非线性表达能力。 沿着特征工程自动化的思路,深度学习模型从PNN 一路走来,经过了 Wide&Deep、Deep&Cross. FNN、DeepFM. NFM 等模型,进行了大量的、基于不同特征互操作思路的尝试。但特征工程的思路走到这里几乎已经穷尽了可能的 尝试,模型进一步提升的空间非常小,这也是这类模型的局限性所在。从这之后,越来越多的深度学习推荐模型开始探索更多“结构”上的尝试, 诸如注意力机制、序列模型、强化学习等在其他领域大放异彩的模型结构也逐渐进入推荐系统领域,并且在推荐模型的效果提升上成果显著。
|