-->

深度学习推荐系统实战_21_16_深度学习革命深度学习推荐模型发展的整体脉络是怎样的

你好,我是王哲啊,今天我们要进入激动人心的深度推荐模型部分了。

那在开始模型细节的学习前,我想先跟你聊一聊深度学习,推荐模型发展的整体脉络。

那当下几乎所有的互联网巨头的推荐业务中都有对深度学习推荐模型的落地和应用。

那比如说从早期微软的deep crossing啊,谷歌的white and deep阿里的MLR,到现在影响力非常大的模型,DINDIEN youtube的深度推荐模型等等。

那因此对于我们算法工程师来说,紧跟业界的脚步去了解和掌握深度学习推荐模型是非常有必要的那你可能想问了,深度学习推荐模型这么多,发展这么快,也没有一个统一的模板,我们该学哪个?怎么学呢?那我想说的是,算法工程师的工作是一个持续优化和迭代的过程。

如果想要追求更好的推进效果,我们的思路不应该只局限于某一个被成功应用的模型,而是应该把眼光放的更高、更宽去思考这些成功的模型。

在业界下一步的发展方向应该是什么?有没有其他可以用的模型结构可以借鉴?那这些整体上的知识结构才是你在这个岗位上取得持续成功的关键。

那怎么才能做到这一点呢?那我认为只有建立起一个比较全面的深度学习模型知识库,我们才能在工作中做出正确的技术选择,以及为模型的下一步改进方向,找到思路。

啊,因此这节课我就想跟你聊一聊。

业界影响力非常大的深度学习推荐模型以及它们之间的发展关系。

但你从整体上建立起发度学习推荐模型的发展脉络。

那这不仅是我们建立行业知识储备的必须,也为我们后续实现它打下基础。

那在第一节课中我们就曾说过,深度学习给推荐系统带来了革命性的影响,能够显著的提升推荐系统的效果。

原因主要有两点,一是深度学习极大的增强了推荐模型的拟合能力。

二是深度学习模型可以利用模型结构模拟用户兴趣的变迁、用户注意力机制等不同的用户行为过程。

那接下来我们就结合这两点来说,一说深度学习模型到底强在哪里?那首先我们来说说深度学习模型的强拟合能力。

那上一节课我们学习了经典的推荐算法矩阵分解。

那在我给出的矩阵分解模型结构图中,用户完号的向量和物品完号的向量分居两侧。

他们先通过影向量层转换成用户和物品的引向量,再通过点击的方式交叉生成最终的打分预测。

但是点击这种特征向量交叉的方式毕竟过于简单了。

在数据模式比较复杂的情况下,往往存在着欠拟合的情况,而深度学习就能大大的加强模型的拟合能力。

比如说在neural CF模型中点,积层被替换成多层神经网络,那理论上多层神经网络具备拟合任何函数的能力。

所以我们通过增加神经网络层的方式,就能够解决模型欠拟合的问题了。

那如果你还不知道什么叫欠拟合,正确拟合和过拟合的现象,可能就无法理解神经网络到底帮我们解决了什么问题。

那这里我就带你看一张很经典的示意图,我把它放到了文稿里。

通过它我们来详细聊一聊这三种现象。

欠拟合指的是模型复杂度低,无法很好的模拟训练数据的现象。

那就像图二左展示的那样,模型曲线没办法准确的找到正负样本的分界线,而深度学习模型就可以大大的增加模型的非线性拟合能力。

像图二中一样,找到更加合适的分类面,更准确的完成分类任务。

那当然,过分复杂的深度学习模型也存在着过拟合的风险。

那这里过拟合指的是模型在训练集上的误差很小,但是在测试集上的误差较大,就像图二又一样,模型曲线过分精确的刻画了分界线,而忽略了对噪声的容忍能力,这对于未知样本的预估来说往往是不利的。

好,说完了深度学习模型的强拟合能力,我们再来看一看它的灵活性。

那这里你可能会问了,灵活性和深度学习模型模拟用户行为有什么关系呢?那你接着往下听就知道了。

如果你读过一些深度学习相关的论文,就会发现每篇论文中的模型结构都不尽相同。

就像文稿中图三展示的那样,他们有的有好多层,有的像一个串一样串在一起。

而有的像一张网拥有多个输入和多个输出,甚至还有的像金字塔会从输入到输出,逐层变窄。

那虽然模型的复杂性让我们有点难以掌握它的规律,但是也正是因为深度学习模型拥有这样的灵活性,才让它能够更轻松的模拟人类思考和行为的过程。

让推荐模型像一个无所不知的超级大脑一样,把用户猜的更透。

那这其中经典的例子就是阿里巴巴的模型DIN和DIEN.它通过在模型结构中引入注意力机制和模拟兴趣进化的序列模型,来更好的模拟用户的行为。

那我把DIN模型和DIEN模型的示意图放在了文稿里,你可以去看看。

那这里我们重点关注其中的DIN模型,它在神经网络中增加了一个叫做激活单元的结构。

那这个单元就是为了模拟人类的注意力机制。

那举个例子来说,我们在购买电子产品的时候,比如说笔记本电脑的时候,更容易拿之前购买电脑的经验,或者购买其他电子产品的经验来指导当前的购买行为,而很少会去借鉴购买衣服和鞋子的经验。

这就是一个典型的注意力机制。

我们只会注意到相关度更高的历史购买行为,而DIN模型就模拟了人类这样的注意力特点,那DIN模型的改进版DIEN模型就更厉害了。

它不仅引入了注意力机制,还模拟了用户兴趣随时间演化的过程。

那我们看到图中的那些彩色的层,这一层层的序列结构,模拟的正是用户兴趣变迁的历史。

通过模拟变迁的历史DIEN模型,可以更好的预测下一步用户会喜欢什么。

那这些通过改变模型结构来模拟用户行为的做法不胜枚举。

很多重要的深度学习模型的改进动机。

正是基于这样的原理,也正是因为这样的灵活性,正确全面的掌握不同深度学习模型的特点,以及他们之间的发展关系变得异常重要。

那只有这样,我们才能够做到在实践中有的放矢,灵活应用。

啊,说了这么多,我们到底应该怎么掌握不同深度学习模型之间的关系呢?在这里,我梳理出了一张深度学习模型,五年内的发展工程图,我把它放在了文稿里。

图中的每一个节点都是一个重要的模型。

结构节点之间的连线揭示了不同模型之间的联系。

啊,接下来我就带你梳理一下图中重要的模型原理以及不同模型之间的关系。

而在之后的课程中,我们还会进一步的学习重点模型的技术细节,并基于TNRL flow对它们进行实现。

好,那首先我们来看整个演化图中最中心的部分,这是深度学习最基础的结构。

我们把它叫做多层神经网络或者多层感知机,简称MLP.多层感知机的原理。

我们在第三节课中就介绍过,它就像一个黑盒对输入的特征进行深度的组合交叉,然后输出对兴趣值的预测。

那其他的深度推荐模型,其实全都是在多层感知的基础上进行结构上的改进而生成的。

所以这里多层感知机是整个演化图的核心。

从多层感知机向上还有一个重点的模型。

我们需要知道,那就是deep crossing啊,deep crossing实际上是一类经典的深度学习模型的代表。

相比于MLP, deep crossing在原始特征和MLP之间加入到embedding层。

那这样一来,输入的稀疏特征会先转化成稠密的embedding向量,在参与到MLP的训练中,这就解决了MLP不善于处理稀疏特征的问题。

那可以这么说,MLP加embedding的结构是最经典,也是应用最广的深度学习推荐模型结构从MRP向下。

我们看到了谷歌提出的推荐模型y den deep,它把深层的MRP和单层的神经网络结合起来,希望同时让网络具备很好的记忆性和泛化性。

那对于这两个词记忆性和泛化性陌生的同学也不用着急,我们在后面的课程中还会专门来介绍它。

那y den diep提出以来,凭借着一实现一落地一改造的特点,获得了业界的广泛应用。

围绕着weite den diep还衍生出了很多的变种。

那诞如说通过改造外的部分提出了AFM cross的模型以及DBFM,那以及通过改造第一部分提出了AFMNFM等等。

那总之,y den diep是业界又一个得到了广泛应用的深度推荐模型。

除此之外,我们还可以看到经典的深度学习模型跟其他机器学习子领域的交叉。

这里我给您举三个比较著名的例子。

那第一个是深度学习和注意力机制的结合,诞生了我们刚才介绍的阿里的DN,还有浙大和新加坡国力提出的AFM等等。

第二个是把序列模型引入到MRP加embedding的经典结构中。

那诞生了我们刚才介绍的阿里的DIEN.那第三个是把深度学习跟强化学习结合在一起,诞生了微软的深度强化学习网络DRN,以及包括美团、阿里在内很多著名的非常有价值的液绩应用。

那听了那么多的模型的演进过程,你肯定想知道模型的演化有什么规律可循嘛。

那接下来我就把我总结出的关于模型改进的四个方向,告诉你那第一个是改变神经网络的复杂程度。

从最简单的单层神经网络模型auto reack,到经典的深度学习网络结构deep crossing.他们的主要的进化方式就是在于增加了深度神经网络的层数和结构的复杂度。

那第二个方向是改变特征、交叉方式。

那这种演进的方式的要点在于大大的提高了深度学习网络特征交叉的能力。

那比如说改变了用户向量和物品向量互操作方式的neurroc f还有定义了多种特征向量交叉操作的PNN等等。

那第三个方向就是把模型给组合起来。

那组合模型主要指的就是以wiite and leap模型为代表的一系列把不同的结构组合在一起的改进思路。

那它通过组合两种甚至多种进同特点,优势互补的深度学习网络,那提升模型的综合能力。

那最后一个方向是跟其他的领域进行交叉。

那我们刚才提到的DINDIENDIN等模型中可以看出,深度推荐模型,无时无刻的不再从其他的领域汲取新的知识。

那事实上这个过程从未停歇。

我们从今年的推荐系统顶会rexes二零二零中可以看到NLP领域著名的模型。

Birt又与推荐模型结合在了一起,并且产生了非常好的效果。

那一般来说,自然语言处理、图像处理以及强化学习,这些领域都是推荐系统,经常汲取新知识的地方。

总的来说,推荐模型的发展很快,思路非常广。

但是,每种模型都不是无本之木,它们的发展脉络都有迹可循,而想要掌握好这些模型。

在实际工作中做到拿来就用,我们就需要让这些模型脉络、图像知识树一样扎根在我们自己的心中。

再通过不断的实践掌握它们的技术细节。

好了,今天的课程讲完了,我们一起来做个总结。

那这节课我们通过学习深度学习对推荐系统的影响要素以及经典深度学习模型之间的关系,初步建立起了深度学习模型的知识库。

我们知道,深度学习能够提升推荐系统效果有两个关键的因素,分别是它的强拟合能力和结构的灵活性。

对于强拟合能力来说,深度学习模型可以大大增加模型的非线性拟合能力,对复杂数据模型进行更准确的分类。

对于结拟合现象的发生,从而提升推荐效果。

对于结构的灵活性来说,深度学习模型可以通过灵活调整自身的结构,更轻松、恰当的模拟人们的思考过程和行为过程。

把用户学习模力对而整个深度学习推荐模型的演化过程,从最经典的多层神经网络向不同的方向开枝散叶。

比如,结合协同过滤,发展出了neo CF,那加入了embedding层,发展出以deep crossing为代表的embedding加MIP的结构,以及把深度神经网络和单层的网络结合起来,发展出外在地模型等等。

那在这节课我们可以先忽略每个模型的细节,着重建立起一个整体的知识框架。

在之后的课程中,我不仅会带你一一揭晓它们的技术细节,还会利用t inl l flow实现其中几经经典模习期待继续与你一起学习。

好了,那老规矩,我还是把这节课的重点知识梳理成了表格的形式,你可以借助它来复习巩固。

最后我们来看一道课后思考题。

有的同学说呀深度学习这么流行,我把一些经典的深度学习的模型结构实践好,就肯定能提升我们的公司的推荐效果。

你觉得这种观点有问题吗?你觉得除了模型结构还有哪些影响?推荐性的效果的因素啊,为什么?好了,关于深度学习模型的知识库,你建立起来了吗?欢迎把你的疑问和这节课的思考分享到留言区,也欢迎你能把这节课转发出去,我们下节课见。