推荐系统 - xDeepFM架构

说明

1.xdeepFM并不是由deepFM延伸而来的,而是通过deep & cross延伸过来的,其继承了deep & cross 可以控制高阶特征交互的特点。

2.感觉xdeeoFM最难理解的是CIN的架构,从形式上来看 确实是一种 RNN 与 CNN相互结合的方式, 很精妙。

架构

1.先看下整体的xDeepFM的架构吧。首先从大致的体系来看, 包括五大部分(可参照deepFM):

               *对原始 特征的Field形式包装,把 特征one-hot形式 包装进同一field来克服 稀疏性, 这里就对应包括构建特征字典 和 特征索引矩阵、特征值矩阵分解的问题。

               *在embeding层对 样本做embeding转换,embeding其实相当于是 全连接层,进行embedding 按照 deepFM相似的形式 来获取每个样本长度为  field_size的  embedding表示,这样embedding后的样本矩阵应该为(field_size,embedding_size)

               *简单的一阶计算部分,这部分并没有使用到 特征embedding的结果,而是w*x那种类似LR的一阶计算。

               *CIN模型(压缩交互网络)架构进行可控的 自动学习显式的高阶特征交互,这里说显式是因为其 传递了 deep &  cross 思想 可以通过层数控制 进行学习的最高阶数,这种可控的能表示成 wij * (xi * xj)形式的就成为显式。 同时也是可以特征向量级的交互,对于  向量级 和 显式的理解可参看 注1.  关于CIN的结构接下来会详细的介绍,其是一种非常巧妙的结合 CNN+RNN思想的架构。

                *最后是很常见的 DNN部分的结构,会对经过embedding转换后的 样本特征进行 隐式的高阶 特征交互,这算是经常用到的模型结构,类同于deepFM、wide&deep中的使用。

                                          

2.现在来详细看下 CIN交互网络的结构,同样我们对CIN进行观察时,也从大到小进行观察,首先整体的CIN架构如下,其是一种类 CNN+RNN的形式,首先我们是有卷积和不断对 Hi-1 和 Xo来计算出新的特征图,通知 也是一种不断从左到右构建的过程,类似RNN的时序,这里是不断加深对特征的高阶操作(但是不同于deep&cross的高阶操作,这里在L层时,CIN只包含L+1层阶的组合特征, 而在cross中,在第L层,包含了1阶-L+1阶的所有组合特征)。

                                                     

      其整体生成每个后一层K层 特征图的 公式表达如下,其中前一层  隐层的状态图是,初始的状态图是,这里的k是层索引,h表示的是神经元向量的条数。

                                                          

通过对以上公式的观察,我们可以发现其可以分成两步:

          (1)第一步是内部的计算,其相当于是RNN的过程吧,把上一层隐层的输出结果和 原始的x0进行组合,组合的方式是一种内积的形式,其中内积的计算可以表示为如下的图形,是一种向量级的计算。 黄点位置是对应的一次内积计算(3点 内积 4点  得到12点的图),可以通过单向量 与 单向量的计算得到二维的结果,通过多次乘积就得到内积的结果,也就是上面的 三维的矩阵,点乘的计算过程可以近似为右面的式子,是两两对应的乘积,经过计算可以得到上面厚度为D的三维矩阵。

                       

          (2)接下来是对应公式中的卷积核 和  第一步结果的计算, 其中w是一个卷积核,使用Hk个尺寸为的卷积核对 第一步结果进行卷积计算得到新的特征图结果(这里看左边的图就明白了,m*Hk是原特征图的维度,因为要对应卷积,所以卷积核的大小也是这样,这样每次卷积实际上是生成 D*1个数值的,因为D是厚度, 一次相当于生成一个向量,这样使用Hk个卷积核相当于 生成  的特征图为 Hk*D大小的)。  对应的计算可以理解为下面的图,是一种卷积核下的卷积计算, 这里卷积计算不同于卷积神经网络中卷积核计算的地方,在于每次卷积计算都会针对整个特征图进行卷积计算,一次卷积计算的结果是 生成特征图上的一个D*1的向量(D是原特征图的厚度),使用Hk个卷积核就可以获取到 左图上方 Hk*D大小新的特征图了。

                                                                                                                           

       至此,我们已经完成对 CIN   过程完全的介绍了,为了便于理解,下图是对整体过程的形象化的描述。  首先是两部分的内积计算  。

                      

                                                                                                                    

备注

注1. 对 特征向量级  和  元素向量级、   显式 和隐式的解释。

                             

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值