以服务于中国广大创业者为己任,立志于做最好的创业网站。

标签云创业博客联系我们

导航菜单

如何理解广告的效果,短视频广告效果的分类

  

  导读:特征对于机器学习非常重要,整个模型开发的主题之一就是有效特征及其组合的发现和使用。在实际场景中,影响结果的特征有很多。随着业务的发展,预测的准确性不断提高,模型结构也越来越复杂。涉及回忆和排序的模型太多了,比如鲫鱼。本文试图通过梳理发展历程,找出演变痕迹,欢迎大家讨论学习。   

  

     

  

  # 1.通过梳理,我们可以找到几条主线。   

  

  *特征范围:从仅使用动态交互信息的协同过滤,到引入用户/广告静态信息,再到火热的知识图谱神经网络,特征覆盖的范围不断扩大。与其他功能相比,交互功能更为重要。该模型在初始阶段聚焦主要因素,随业务发展再向外围延伸,使得覆盖的整体信息更加全面。这是正常的进化思想。   

  

  *特征的使用:特征的使用不断创新,从线性到非线性,从低阶特征到高阶,借助模型结构不断发现新的组合,这是另一个主要方向。   

  

  *对已有结构的深度描述:将一个点展开成一个复杂的系统,用内部结构拟合真理,例如嵌入将一个概念展开成多维向量,然后得到从静态表示到上下文的动态向量,例如注意思想根据实际情况对不同的处理发展出简单的平等处理。   

  

  协同过滤在推出前简单介绍一下。作为传统工艺,它启发了FM和NN的后续发展,具有重要的历史地位。协作的主要场景以数据的形式表现出来:用户对项目有一个评分矩阵,其中有些值已经填充,表示用户与项目有过交互,有些空值表示没有交互。最后的任务是填补这些空缺。   

  

  针对上述场景协同过滤,提出了一个假设:用户对项目的评分是通过用户的隐藏向量和项目的隐藏向量的点击乘积得到的。这个假设非常有力:未知的分数被转化为两者的隐藏向量。学习过程更常规,矩阵中现有的值用于训练向量。当估计值足够接近真实标记时,得到隐藏向量,然后用点积填补空缺。   

  

  协同过滤通过变换建立了已知和未知之间的联系,逻辑上有可能用已知的预测来去除未知。虽然操作简单,但其中蕴含的思想却是非凡的。   

  

  下面主要从特征组合的角度对模型上下文进行梳理。实际场景中的特征很多,制作笛卡儿积过于简单粗暴,不仅需要大量的计算,而且无法保证特征的有效性。所以LR之后,包含FM。   

  

  树、图、神经网络等。它们都通过自身的结构获得有效的特征。   

  

  # 2.功能组合。   

  

  ## 1\.实验室反应堆   

  

  主要学习特征和标签之间的线性关系是机器学习的起点。简单明了,每个功能的影响都很明显。不足之处在于表达能力有限,不足以刻画数据内在的复杂规律和分布,容易被欠拟合。如果有强大的专家知识来提取信息量高的特征,仍然可以对抗各种后浪。   

  

  ## 2\.最低贷款利率(minimumlendingrate)   

  

  分而治之的思想就是一个很好的例子。两级分类器用于非线性拟合。首先对样本进行聚类和分组,然后在分组中使用线性模型进行预测,最后进行加权求和。聚类的第一步是软分类,计算样本对不同类别的隶属度作为后续求和的权重。整个过程也可以看作是结合不同专家意见得出的最终结论。   

  

  ## 3\.暗行扫描(Dark Trace)   

  

  从根到叶节点的路径可以看作是具有继承关系的层次结构,最终落脚点在叶节点上。   

  

  *应用场景1:功能组合。脸书用GBDT组合特征,这是特征组合领域最漂亮的孩子   

  

  二阶特征组合自动化。根据两级组合的参数提出假设:参数由两个特征隐藏向量的点积得到(无论想法看起来是否熟悉),解决了样本数据稀疏时的训练问题,提高了模型的泛化能力。隐藏向量是嵌入神经网络后的向量表示。与协同过滤中隐藏向量所包含的信息相比,FM可以添加各种含义更丰富的辅助信息。   

  

  ## 5\.麦冬丸   

  

  在FM的基础上,引入了域的概念,当结合不同域的特征时,用不同的向量来表示(每个特征在f域用f-1向量来表示),更加细致地刻画了真相。缺点是参数太多(f*n*k),在高性能的要求下,大规模播放的空间有限。   

  

  ## 6\.神经网络   

  

  MLP和激活函数隐式提取高阶特征的组合,机器学习进入深度时代。   

  

  神经网络在历史上曾经被抛弃,现在正如火如荼地进行着。关键转折点之一是反向传播的提出:使用链式规则来推导和迭代参数。借助数据和计算能力,NN回归舞台,讲几个关于NN的有趣点。   

  

  1)双塔结构。   

  

  用户塔利用用户侧特征多次组合后得到向量表示,广告塔得到广告表示,在学习过程中不交互。确定表示后,通过点积/余弦相似度计算相关度。双塔的重点是学习向量表示是回忆阶段的主要模型。   

  

  2)嵌入   

  

  广告召回排序涉及多个类别特征,离散数据一般采用唯一热度编码。考虑到训练成本和过拟合风险,在进入网络前会映射成低维的稠密向量,即嵌入。它在这里的主要作用是降维,它的优势在于得到的向量不仅是维的。   

数减少而且保留了深层语义信息,可以进行表征、比较和运算。

  

3)Attention

  

不一视同仁根据实际情况区分主次,从而进行更细致的刻画。

  

attention的关键点在于如何确定重要度,谷歌在论文中提到Query、Key和Value,计算Query和Key的相关度作为作为权重,权重表示信息的重要程度,Value对应信息,权重越大对应Value给与更高的重视。

  

attention思想自提出以来得到广泛认同和使用,尤其在处理用户历史行为方面,机器学习的主要目标之一就是对数据进行辨识区分,attention很好的体现了这一点。

  

4)Pooling

  

pooling体现的是提取和压缩,CNN中通过pooling将多个向量压缩成一个向量,在处理历史行为序列时不同用户长度不同,一般也会做压缩提炼为确定的长度,pooling的方法有很多如max/sum/average等,当然还有上面提到的attention。

  

延伸一下pooling背后也包含了降维/聚类思想,如果因素太多维数太高不利于分析,需要进一步精简,化多为少需要智慧,关键在于简化过程中如何保持/凸显核心信息。降维思想在很多方面都有体现:PCA、聚类、分桶、散列函数、embedding等,虽然使用场景不同但主旨思想是相通的。

  

监督学习利用有标记数据训练模型,训练数据终究有限,部分特征与标记的关系在数据中已经体现出来,还有部分特征的关系没有很好体现。

  

前面介绍的模型在处理特征组合时各有侧重,要么低阶要么高阶,要么显式要么隐式,谷歌在论文中指出低阶和高阶特征都很重要不能偏执一方,提出混合模型用擅长记忆的模型去提取已经体现的,用擅长扩展泛化的模型去学习还未体现的,双剑合璧威力大增。

  

混合模型提供了一个很好的的思路,把模型看做组件,以混合搭配的方式结合起来创造出需要的结构类似乐高积木,其中比较关键的点是对模型的选择,每个模型有自己的属性,组件的选取要与实际场景的诉求所匹配:模型擅长的恰恰是场景所看中和需要的。

  

例如CNN擅长在移动窗口内捕捉结构信息并通过不断加深卷积来提升抽象层级,这与图像周边像素聚集并不断拉长距离来感知整体不谋而合。下面简单梳理下由谷歌引发的混合模型潮流。

  

## 7\. wide&deep

  

整体模型分为两部分,Wide部分是LR,负责显式提取低阶特征,强调记忆,特征组合需要人工构建,Deep部分一般使用前馈神经网络,负责隐式提取高阶特征,强调泛化,两个部分通过并行方式组合,低高阶特征共同作用于输出。

  

## 8\. deepFM

  

模型整体结构与W&D一致,区别在于Wide部分由LR替换为FM,相比LR它能自动提取二阶特征组合,规避了依赖人工的弊端,且两部分共用embedding提升了效率,模型能抗能打是居家旅行必备之选。

  

## 9\. DCN

  

与deepFM一样也是在Wide部分动手脚,用Cross

  

Network显式提取特征,每层都对特征交叉组合,随着层数增加组合的阶数也持续增加,网络最后一层涵盖了从一阶到N+1阶的特征,根据实际情况来确定层数,不过既然有专门负责提取高阶的DNN美玉在前,层数不宜太高。

  

## 10\. PNN

  

PNN指出神经网络以或的形式进行特征组合捕捉信息能力太差,不如以且的方式更有辨识度,所以两个组件模型以串行组合,在特征接入神经网络前加了一层product

  

layer处理,该层分为两个部分:

  

一部分是常规特征embedding后拼接,另一部分是进行product后获得交叉向量,两部分拼接后一起送入神经网络,PNN为混合模型提供了另一个组合思路,但在预测中低阶特征没有直接发挥作用,可谓有得有失。

  

上面的栗子可以看出演化的基本趋势是结构越来越复杂,复杂度增加意味着运算时间也会随之上扬,可实际广告场景中必须在规定时间内返回广告,从召回到排序基本控制在几十毫秒内:

  

一方面是性能的硬性限制,一方面又要提升效果,真是臣妾做不到啊,不,老板说你能做的到,于是就做到了,是真的,勤劳勇敢的程序员们发明了知识蒸馏。

  

知识蒸馏的本质是把复杂模型学到的知识迁移给简单模型,一般采用teacher-

  

student模式,线下两个模型联合训练,正式上线时只用简单的student模型,复杂的teacher充当导师的角色。

  

在训练时,teacher的损失函数是常规交叉熵,student的损失函数由两部分组成:

  

一部分是常规的交叉熵损失,用来学习真实标记与预估值的差距,一部分是蒸馏损失,用来学习和teacher之间的差距,损失达到最小时teacher把自身学到的知识迁移给student完成蒸馏,既可以保证效果又能满足性能限制是蒸馏的典型应用。

  

另一个场景是阿里提到关于特征的蒸馏,论文指出在预估CVR时,用户点击进入页面的停留时长、查看评论、与商家沟通等都是影响CVR的强特征,可线上排序时物品还未推出去上述特征数据无法提前获得。

  

但是训练时使用历史数据这些特征可以拿到,所以在训练时也是两个模型联合训练,主要差别在于输入特征,teacher在student特征基础上增加了上述的Privileged

  

Features,让模型学习这些特征对结果的影响然后将其获得的知识迁移给student,不得不感叹思路清奇。

  

上面简要梳理了模型的发展,由简单到复杂体现了对真相刻画的不懈追求,其中不乏智慧闪现,精彩纷呈,模型结构是直观呈现,其背后的假设蕴含了对世界的认知,它把已知和未知统一起来,从此世界不再是不可知的神秘,而是可以被发现和认识的运转规律,这是一种伟大的思想。

  

本文由 @知乎-莫菲克 原创发布于人人都是产品经理。未经许可,禁止转载

  

题图来自Unsplash,基于CC0协议