深宽模型
今天来讲讲深宽模型哈。今天这篇文章的目的是让大家通俗易懂地了解深宽模型,下面不会涉及一条公式,小白可读。主要有以下几个大方向讲起:
深宽模型的介绍
深宽模型的由来与发展
深宽模型的优缺点
深宽模型的运用
结论
1、深宽模型的介绍
深宽模型,又称Wide & Deep 模型。深宽模型是一个结合了传统线性模型和深度模型的工程创新。
宽度模型:宽度模型具有较强的“记忆能力”(Memorization)。记忆能力”可以被理解为模型直接学习并利用历史数据中物品或者特征的“共现频率”的能力。一般来说,协同过滤、逻辑回归等简单模型有较强的“记忆能力”。(即从历史数据中发现item或者特征之间的相关性。)简单来说,我认为就是一个记录现象的过程。
深度模型:深度模型让模型具有“泛化能力”(Generalization)。“泛化能力”可以被理解为模型传递特征的相关性,以及发掘稀疏甚至从未出现过的稀有特征与最终标签相关性的能力。深度神经网络通过特征的多次自动组合,可以深度发掘数据中潜在的模式,即使是非常稀疏的特征向量输入,也能得到较稳定平滑的推荐概率,这就是简单模型所缺乏的“泛化能力”。(即相关性的传递,发现在历史数据中很少或者没有出现的新的特征组合。)简单来说,我认为就是通过现象寻找规律的过程。
打个比喻哦,在人类的认知学习过程中演化过程中,人类的大脑很复杂,它可以记忆(memorize)下每天发生的事情(麻雀可以飞,鸽子可以飞)然后泛化(generalize)这些知识到之前没有看到过的东西(有翅膀的动物都能飞)。
ps:泛化能力(generalization ability)是指机器学习算法对新鲜样本的适应能力。
2、深宽模型的由来与发展
2.1 深宽模型的由来
宽度模型:
- 有些简单的模型, 比如协同过滤, LR等,能够从历史数据中学习到高频共现的特征组合能力。
- 不足:但是于对未曾出现过的特征组合,权重系数为0,无法进行泛化,就会导致泛化能力不足
深度模型:
- 像矩阵分解, embedding再加上深度学习网络, 能够利用相关性的传递去探索历史数据中未出现的特征组合, 挖掘数据潜在的关联模式。
- 不足:虽然可以学习到训练集中未出现的组合特征,但是对于某些特定的场景(数据分布长尾, 共现矩阵稀疏高秩)很难有效学习低纬度的表示, 造成推荐的过度泛化。
大家有没有发现,其实宽度模型以及深度模型的优缺点很互补? 既然这两种模型的优缺点都这么的互补, 为什么不组合一下呢?
2016年,Google提出Wide&Deep模型,将线性模型与DNN很好的结合起来,在提高模型泛化能力的同时,兼顾模型的记忆性。Wide&Deep这种线性模型与DNN的并行连接模式,后来成为推荐领域的经典模式, 奠定了后面深度学习模型的基础。
2.2 深宽模型的发展
深度学习阶段的推荐模型从多层感知机MLP出发,通过改变神经网络的结构,演变为各种各样的深度学习推荐模型。总结起来,有七个演变方向,如下图
深宽模型为其中一个组合模型的演变方向。今天我们重点讲深宽模型,其他的不讲哈。主要看下面这张图。
下面重点讲了4个典型的深宽模型的改进。
Deep & Cross Network:作者用一个Cross Network替换掉了Wide部分,来自动进行特征之间的交叉,并且网络的时间和空间复杂度都是线性的。
-
DeepFM模型:使用FM替换Wide&Deep的Wide部分,加强浅层网络组合特征的能力。不同点主要有以下两点:
a). wide模型部分由LR替换为FM。FM模型具有自动学习交叉特征的能力,避免了原始Wide & Deep模型中浅层部分人工特征工程的工作。
b).共享原始输入特征。DeepFM模型的原始特征将作为FM和Deep模型部分的共同输入,保证模型特征的准确与一致。
AFM:基于FM模型进行改进,主要通过引入attention网络来学习交互特征的重要性,以此提高了模型的表达能力和可解释性。
NFM:NFM使用交叉池化层(Bi-interaction Pooling layer)来对二阶交叉信息进行处理,使交叉特征的信息能更好的被DNN结构学习,降低DNN学习更高阶交叉特征信息的难度。减轻DNN的负担,意味着不再需要更深的网络结构,从而模型参数量也减少了,模型训练更便捷。
3、深宽模型的优缺点
缺点是什么?怎么改进?
(1)LR需要做好特征工程。特别是LR在工业场景中,特征的数量会很多,可能达到成千上万,甚至数十万,这时特征工程就很难做,还不一定能取得更好的效果 (2)LR没有考虑到交叉特征。 PS:目前DCN和Deep FM对以上两点进行了优化
优点是什么?
深宽模型实现了对memorization和generalization的统一建模。能同时学习低阶和高阶组合特征,兼具了逻辑回归和深度神经网络的优点-----能够快速处理并记忆大量历史行为特征,并且具有强大的表达能力
4、深宽模型的应用
Wide & Deep Model适用于输入高维稀疏的大规模分类或回归问题。比如推荐系统、search、ranking问题。
在推荐系统上,可以结合更多的宽度+深度模型。可以在wide和deep典型的四个发展方向继续往深的发展。
5、结论
深宽模型的想法就是结合模型的记忆能力以及泛化能力,在一定程度上取得了很大的成功。开启了模型组合思路的先河, 从这之后, 越来越多的组合模型架构加入到了推荐模型的行列,这两个模型的思想其实比较简单,但取得了非常大的成功, 主要是因为有两大特色:
1、抓住了业务问题的本质特点,融合了传统模型的记忆能力和深度学习模型的泛化能力
2、模型结构简单,比较容易工程实现、训练和上线。
6、小问题
看完问自己几个问题,看看你今天学会了吗?
(1) 什么是WIde&Deep?
记忆能力+泛化能力的结合
(2) LR的优缺点是什么?
优点:能够从历史数据中学习到高频共现的特征组合能力
缺点:无法学习到训练集中未出现的组合特征,泛化能力不足。
(3) DNN的优缺点?
优点:可以学习到训练集中未出现的组合特征
缺点:对于某些特定的场景(数据分布长尾, 共现矩阵稀疏高秩)很难有效学习低纬度的表示, 造成推荐的过度泛化
(4) DNN为什么会导致过度泛化?
基于Embedding的方式可能因为数据长尾分布,导致长尾的一些特征值无法被充分学习,其对应的Embedding vector是不准确的,这便会造成模型泛化过度。
小聊天
如果各位同学对这方面很感兴趣的话可以读一下王喆老师的《深度学习推荐系统》,这里面深度剖析了深度学习推荐模型的结构以及细节算法。
(34条消息) AI上推荐 之 Wide&Deep与Deep&Cross模型(记忆与泛化并存的华丽转身)_Miracle8070-CSDN博客
(34条消息) AI上推荐 之 FNN、DeepFM与NFM(FM在深度学习中的身影重现)_Miracle8070-CSDN博客