美文网首页
论文笔记之Deep Learning over Multi-fi

论文笔记之Deep Learning over Multi-fi

作者: 小弦弦喵喵喵 | 来源:发表于2020-05-30 13:20 被阅读0次

    Deep Learning over Multi-field Categorical Data – A Case Study on User

    目标:CTR预估。
    本文提出了FNN(Factorisation Machine supported Neural Network)和SNN(Sampling-based Neural Network)。

    Factorisation-machine supported Neural Networks (FNN)

    可以看到,最底层是field-wise one-hot的。
    文中从上到下对整个模型进行了说明。最上面一层用sigmoid来输出预估的CTR值

    l2的值为

    需要注意的是文中激活函数用的是tanh而不是relu。
    l1的值为

    z为

    w0(1维)是全局bias,对应FM中的w0。n是field的个数。zi(k+1维)是FM中第i个域的参数向量。(zi其实就是特征域i对应的embedding向量加上一个wi)

    x[starti : endi]确定了第i个域中的所有特征。W0((k+1) * (endi-starti+1)维)为特征域i对应的所有权重。
    Wi0由FM中的wi(1维实数,特征域是几维的就有几个)和FM中的vi(k维向量,特征域是几维的就有几个)来初始化。
    通过训练一个FM模型完成了对z的初始化

    FM中的wi是一个数,每个特征xi对应一个wi,用FM中的wi来初始化FNN中特征与w相连的权重。FM中的vi是k维向量,每个特征xi对应一个vi,用FM中的vi(k维)来初始化FNN中特征xi与该特征域中v向量相连的权重。

    同时文中提出,hidden layer的权重可以用对比散度做逐层的RBM pre-training。
    完成pre-training后,用back-pop做fine-tuning,目标函数为

    需要注意的是,SGD的过程中,只有input不为0对应的参数需要更新。

    Sampling-based Neural Networks (SNN)

    SNN和FNN的不同之处在于最底层的结构和训练方法不同。SNN的最底层是全连接的,使用的是sigmoid激活函数。

    初始化最底层的权重,本文采用了RBM和DAE来做预训练。对于每个field,只有1维是1,然后采样m个负单元,图中黑色的单元是没有被采样到的,因此在预训练的过程中将被忽略。
    用对比散度来训练RBM,用SGD来训练DAE,然后将训练好的dense vector作为剩余网络部分的输入。做back-pop来fine-tuning模型。

    Regularisation

    使用L2正则化和dropout。
    以FNN为例,L2正则项为

    相关文章

      网友评论

          本文标题:论文笔记之Deep Learning over Multi-fi

          本文链接:https://www.haomeiwen.com/subject/sliczhtx.html