DCN V2 & DCN 模型结构

目录

DCN结构

cross网络的设计初衷

模型参数量说明?

为什么还需要Deep侧?

比较全面的介绍文章:

DCN代码实现

stack or parallel:

性能优化:

如何评估特征交叉之间的函数关系是如何学习的、复杂度跟什么有关系?

思考优化变种

论文里面其他有用的观点:​​​​​​​


DCN结构

核心部分:显式地构造特征交叉,

- 每层的神经元个数都相同,都等于输入 x0 的维度 d,也即每层的输入输出维度都是相等的

- residual 的思路被引入,可以有效避免梯度消失的问题,帮助构建更深的网络,增强网络的表达能力

- 特征交叉的阶数随着网络的深度增加而增加,比如a层交叉网络,最高的特征交叉阶数为a+1

DCN V2 & DCN 模型结构_第1张图片

DCN V2——最大的区别是讲一维向量w1改变成了二维矩阵W

DCN V2 & DCN 模型结构_第2张图片 

 

cross网络的设计初衷

DCN V2 & DCN 模型结构_第3张图片

推荐系统 - DCN模型 - 简书

模型参数量说明?

DCN模型详解Deep&Cross Network for Ad Click Predictions - 知乎

DCN V2 & DCN 模型结构_第4张图片

为什么还需要Deep侧?

交叉网络的参数数目少,从而限制了模型的能力(capacity)。为了捕获高阶非线性交叉,我们平行引入了一个深度网络。

泛化性!

特征交叉方面的挑战是什么?

  • 类别型数据,特征空间上非常稀疏、空间庞大
  • 人工特征工程、穷举式的搜索,非常耗时耗力
  • 传统的MLP/FC/NN结构,是通用/常用的函数拟合方式,但是对于二阶/三阶等特征交叉学习能力就不够

DCN代码实现

Deep Cross Network (深度交叉网络, DCN) 介绍与代码分析_51CTO博客_deep and cross network

距离玩转企业级DCN(Deep & Cross Network)模型,你只差一步 | 小毛驴

推荐系统(六)Deep & Cross Network(DCN)_天泽28的博客-CSDN博客_dcn推荐系统

PaddleRec/net.py at master · PaddlePaddle/PaddleRec · GitHub

DCN 代码实现

recommenders/dcn.py at v0.5.1 · tensorflow/recommenders · GitHub

tensorflow2.0实现Deep & Cross Network(DCN)_zhong_ddbb的博客-CSDN博客_dcn tensorflow

https://www.tensorflow.org/recommenders/examples/dcn

stack or parallel:

哪种特征组合方式好,取决于数据本身情况

性能优化:

1、低秩计算:W换成两个更小的多的矩阵

DCN V2 & DCN 模型结构_第5张图片

 

如何评估特征交叉之间的函数关系是如何学习的、复杂度跟什么有关系?

1、稀疏度,即交叉的个数、

2、交叉项之间的相似度,可以用方差来衡量

DCN V2 & DCN 模型结构_第6张图片

思考优化变种

  1. parallel模式里面:把Deep侧改成fwffm
  2. DCN V2可以作为一个building block模块,很方便地应用于深度学习结构中搭模块;用途除了作为底层的embedding,也可以在上层网络上使用~

论文里面其他有用的观点:​​​​​​​

万字详述推荐系统经典模型DCN,DCN_v2,PNN_starry0001的博客-CSDN博客_dcn模型

  1. 推荐系统论文精读 —— Deep & Cross Network v2 (DCNv2)_哔哩哔哩_bilibili

参考文档:

  1. 距离玩转企业级DCN(Deep & Cross Network)模型,你只差一步 | 小毛驴

比较全面的介绍文章:

推荐系统(六)Deep & Cross Network(DCN)_天泽28的博客-CSDN博客_dcn推荐系统

万字详述推荐系统经典模型DCN,DCN_v2,PNN_starry0001的博客-CSDN博客_dcn模型

你可能感兴趣的:(推荐系统,算法工程师,人工智能)