为什么youtube推荐?

mip.xncswj.com 2025-12-20 12:45:51
本文介绍为什么youtube推荐?
Youtube 算法规则

在Google工程师Paul Covington,Jay Adams和Emre Sargin发表的这份 研究论文中 ,他们分解了用于对YouTube推荐视频进行排名的信号:

为什么youtube推荐?

前三个信号是您可以直接影响的唯一信号。其余部分取决于您频道之外的因素,以便个性化推荐。

为什么youtube推荐?

这些Google工程师甚至声称,他们的最终排名目标“通常 是预期的每次观看观看时间的简单函数。 按点击率排名通常会宣传用户未完成的欺骗性视频(“点击诱饵”),而观看时间可以更好地吸引用户参与。”

为什么youtube推荐?

有人可能会认为这意味着优化点击率会让您受到YouTube的惩罚,但这是一个巨大的误解。

YouTube只会惩罚诱饵和切换策略-点击前的承诺过多,而点击后的内容令人失望。点击率仍然像以往一样重要。毕竟,如果不先获得点击,就无法为YouTube带来大量观看时间。

您甚至可以在 YouTube Studios中 看到这些优先级:YouTube的新分析仪表板。

最多可以在5秒内总结出最出色的YouTube频道或系列:

另一方面,许多YouTube频道很难吸引人,因为他们将YouTube频道视为上传所有视频内容的地方,而不是一个连续的视频系列的首页。

保持一致性的YouTube频道能够 持续 增加其订阅者人数和观看人数,因为它使人们更容易决定观看更多内容并订阅其频道。

“我们的盛宴”频道体现了我们正在谈论的那种一致性-名人吃食物-具有多个系列,这些系列本质上是同一前提的变体。

较新的YouTube频道不能依靠推荐引擎来获得所有观看次数。

毕竟,推荐内容主要取决于观看者过去观看和与您的视频互动的方式。YouTube需要数据来作为推荐的依据,没有人观看您的视频就没有数据。因此,请采取所有通常的措施来宣传您的视频,例如:

但最重要的是,着眼于 YouTube SEO 并 吸引更多的订阅者 ,这不仅是为了长期 获取 视频观看次数,而且还因为用户反复在平台上消费以及用户订阅的内容是YouTube算法用于提出个性化建议。

在工程师中,工程师注意到“最重要的信号是那些描述 用户之前与商品本身和其他类似商品互动的信息 ……例如,考虑用户过去的历史以及上传了被评分视频的频道用户从该频道观看了许多视频?用户最后一次观看有关该主题的视频是什么时候?”

如果您可以让新用户点击其中一个视频后继续观看更多内容,则可以增加在下次打开YouTube时向他们推荐视频的机会。

我们已经确定,点击率仍然很重要,YouTube优先考虑观看时间只是针对低质量点击诱饵的一种对策。

环顾YouTube,您会发现视频缩略图上不乏表情丰富的面孔。

Netflix所做的一项 关于平台上艺术品性能的研究表明,“情感是传达复杂细微差别的有效方法。众所周知,人类必须对面孔做出硬性回应-我们已经看到这在所有媒介上都是一致的。但重要的是要注意, 情绪复杂的面孔胜过坚忍或良性的表情。 ”

Netflix也注意到的最早趋势之一,值得发扬到自己的缩略图,它是当图像包含3个以上的人时,它赢得别人的倾向就下降了。

三分法则是实现“ 黄金分割率” 的简化方法,研究表明,这种方法可以 最大程度地减少 大脑处理图像 所需的时间 。

该图像构图准则建议您将兴趣点放置在图像的中心,而不是图像的中心。

根据 Sandvine 的2019年研究,YouTube现在占互联网上所有移动流量的37%。这也意味着相当一部分观众会在移动设备上观看您的视频。

4.鼓励观众点击后留下

让人们观看您的视频是一回事。让他们从头到尾真正观看视频是另一回事。

幸运的是,通过在视频创建过程中建立此目标,可以提高视频的完成率(并获得更多的观看时间):

从头开始,并在视频介绍中加入一个“钩子”

转录您的视频,以便人们可以观看静音

根据您的分析调整视频的长度(观看者在下车之前实际拍到多远?)

请勿过长地使用同一张镜头,否则可能会让观看者感到厌烦(这就是为什么跳跳剪辑在YouTube上很受欢迎的原因)

如果您的视频很长,请在片刻间撒些片刻,以便在观众开始徘徊时重新吸引观众的注意力

5.鼓励您在频道上疯狂观看

您还可以通过采用涉及视频消耗和一致性的策略来优化频道级别的观看时间。

除了为您的YouTube频道提供专门的前提条件(这可能是最重要的因素)之外,您还可以通过以下其他方法使观看者更轻松地观看更多内容:

使用插卡和结束卡手动推荐相关视频

每当您共享时,都链接到播放列表中的视频,以便用户观看的下一个视频始终是您自己的视频

开发从缩略图到视频本身的一致格式-如果观众喜欢您的其中一个视频,那么他们应该能够正确地假设他们会喜欢您的其他视频。

将特定的号召性用语甚至是其他视频中的场景整合到观众中,直接“吸引”观众,以消费更多内容。

随着YouTube算法的变化,一件事保持不变

多年来,YouTube的算法发生了很大变化,每次都使创作者和品牌争先恐后,想知道为什么他们曾经依赖的方法不再有效。

但是,即使YouTube算法不断发展,但请记住,该平台的目标仍然不变:吸引更多的人在YouTube上观看和观看更多视频。那与您的没什么不同。

关于YouTube推荐系统的论文学习

本文是2010年发表在RecSys上的文章。本文主要介绍的是YouTube的个性化推荐的相关内容。

用户使用YouTube一般有三个原因:

--看他们在其他地方找到的单一视频(直接导航);

--围绕某个主题(搜索和目标导向浏览)查看特定视频;

--受他们感兴趣内容的吸引。

推荐系统主要是针对第三点,目的是帮助用户发现他们感兴趣的高质量视频,并且推荐结果应该随时间和用户最近的行为更新。

在YouTube的推荐应用中,面临以下挑战:

--用户上传的视频的元信息非常少;

--视频时长比较短(一般小于10分钟);

--用户行为短暂、多变而且噪声很多;

--视频生命周期短。

这是YouTube的推荐和普通视频网站推荐不同的地方,这些挑战也是现在很多短视频公司关注的问题。

推荐系统算法应该保持时效性和新鲜性,另外,用户必须了解为什么向他们推荐视频,这样可以帮助用户根据自己的喜好改善推荐引擎。推荐的视频是通过用户的行为来生成的,用户的行为包括观看、收藏、喜欢等来作为种子视频,然后使用各种相关性和多样性的 signals 对视频集进行排序。推荐系统的工程设计方面,保持各个模块的独立性,并且还需要对故障具有恢复能力,并在出现部分故障时适度降级。

这里有2种数据可以考虑:

1)是内容数据视频流、视频元信息(标题,标签等);

2)用户行为数据,包括显性和隐性数据。前者是指用户评分、明确表示喜欢、不喜欢等行为,后者是浏览、观看等行为。

原始数据中还含有非常多的噪声,很多不可控因素会影响原始数据的质量。

作者将相关视频定义为用户在观看给定的种子视频 v 之后可能会观看的视频,使用关联规则挖掘技术来确定视频间的相关性。视频i和j的相关性定义为:

将用户观看过的视频、喜欢过的视频、收藏过的视频等等作为种子集合,对它们进行N级的级联扩展,也就是YouTube选择召回的不是1步相关视频,而是n-步相关视频,即种子视频迭代n次后得到的相关视频集合,产生广阔和多样的候选结果。

在生成一组候选视频后,需要对这些相关视频进行排序。

用于排序的数据主要包括:

--视频质量:包括观看次数、视频评分、评论、收视和上传时间等;

--用户特征:考虑用户观看历史记录中种子视频的属性,例如观看次数和观看时间等;

--多样性:要在被推荐的视频集合的类别中做一个平衡,以保持结果的多样性。

这些数据最终被线性组合起来,得到ranking的评分。

本文虽然是2010年发表的,近年来有很多内容升级复杂化了,但是作为初学者,本文的知识点和整体思路是非常值得学习的。当时的YouTube推荐系统的核心算法就是基于Item的协同过滤算法,也就是对于一个用户当前场景下和历史兴趣中喜欢的视频,找出它们相关的视频,并从这些视频中过滤掉已经看过的,剩下就是可以用户极有可能喜欢看的视频。

本文是Google的YouTube团队在推荐系统上DNN方面的尝试,发表在16年9月的RecSys会议。本文第1节介绍了YouTube推荐系统主要面临的挑战。第2节介绍了一个简要的系统概述。第3节更详细地描述了候选集生成模型,包括如何对其进行训练并用于提供推荐服务;实验结果显示模型添加特征和DNN深度后可以显著提升预测效果。第4节详细说明了排序模型,包括使用加权逻辑回归技术以训练预测预期观察时间的模型;实验结果表明,增加隐层网络宽度和深度都能提升模型效果。 最后,第5节做了总结。

-规模大:用户和视频的数量都很大,传统适合小规模的算法无法满足;

-新鲜度:要求对新视频作出及时和合适的反馈;

-噪音:YouTube上的历史用户行为由于稀疏性和各种不可观察的外部因素而不可预测。 我们很少能获得基本真实的用户满意度,更多的是隐式反馈噪声信号。

推荐系统的整体结构如图所示:

该系统由两个神经网络组成:一个用于候选集的生成,一个用于排序。候选集生成网络将用户的Youtube活动历史记录作为输入,然后从海量视频集中筛选出一小部分(数百个)以高精度与用户相关的视频。排序网络负责基于更加精细的特征对候选集进行排序,最后将最高得分的视频呈现给用户(按它们的得分排名)。

该模型把这个推荐问题转化成极端多分类问题:对于用户U和上下文C,把语料库V中的数百万个视频(分类)i,在时间t处做准确的分类,如下所示:

其中u为用户U的embedding表示,vi 代表各个候选视频的embedding。embedding是指稀疏实体(单个视频,用户等)到实数密集向量的映射;DNN的目标就是在用户信息和上下文信息为输入条件下学习用户的embedding向量u,这对于用softmax分类器来区分视频是有用的。

整个模型架构是包含三层全连接层,使用relu激活函数。把用户观看历史数据、搜索数据做一个embedding,加上age、gender等特征作为DNN的输入;输出分线上和离线训练两个部分。训练阶段使用softmax输出概率,在服务期间则直接使用接近最近邻搜索来进行生产候选的N个视频。

1)把用户观看过的视频id列表做embedding,并对所有历史观看视频ID的embedding做平均,得到观看embedding向量。

2)同时把用户搜索过的视频id列表也做如上的embedding,得到搜索embedding向量。

3)用户的人口统计学属性做embedding得到特征向量。

4)简单的二值和连续特征,例如用户的性别,登录状态和年龄作为归一化为[0,1]的实数值直接输入到网络中。

5)example age:机器学习系统总是利用历史的例子去预测未来,所以对过去总会有一个隐含的偏差。为了矫正偏差,YouTube把训练样本的年龄当作一个特征。

1.训练样本要用youtube上的所有视频观看记录,而不只是我们的推荐的视频的观看记录。

2.为每个用户生产固定数量的训练样本。

3.丢弃搜索信息的顺序,用无序的词袋表示搜索查询。

4.如下图,图(a)从历史观看记录中随机拿出来一个作为正样本来预测它,其余的历史观看记录作为上下文;这样其实泄露了未来的信息,并且忽略了任何非对称的消费模式。相反,图(b)是从用户的历史视频观看记录中随机拿出来一个作为正样本,然后只用这个视频之前的历史观看记录作为输入;这样的预测效果好得多。

– 深度为0:这时网络就是一个把连接起来的输入层转换一下,和softmax的256维输出对应起来

– 深度为1:第一层 256个节点,激活函数 是ReLU (rectified linear units 修正线性单元)

– 深度为2:第一层512个节点,第二层256个节点,激活函数都是ReLU

– 深度为3:第一层1024个节点,第二层512个节点,第三层256个节点,激活函数都是ReLU

– 深度为4:第一层2048个节点,第二层1024个节点,第三层512个节点,第四层256个节点,激活函数都是ReLU

实验结果如下图所示:

可以看出,特征选取较多时,并且模型深度在四层时,可以得到较好的结果。

排序阶段最重要的任务就是精准的预估用户对视频的喜好程度。在排序阶段面对的数据集比较小,因此会采用更多的特征来计算。

作者在排序阶段所设计的DNN和上文的DNN的结构是类似的,但在训练阶段对视频的打分函数不再是softmax,而是采用的逻辑回归。如下图所示:

1)特征工程

尽管神经网络能够减轻人工特征工程的负担,但是我们依然需要花费精力将用户及视频数据转化为有效的特征。其主要的挑战在于如何表示用户动作的时间序列以及这些动作如何与正被评分的视频展现相关。但是通过对用户和物品之间的交互行为,我们能提取出一些有用信息,比如: 用户从这个频道里看过多少视频,用户上次观看这个主题的视频是什么时候等。

2)embedding 离散特征

每个维度都有独立的embedding空间,实际并非为所有的id进行embedding,比如视频id,只需要按照点击排序,选择top N视频进行embedding,其余置为0向量;而当多值离散特征映射成embedding之后,像在候选集生成阶段一样,在输入网络之前需要做一下加权平均。另外一个值得注意的是,离散特征对应的ID一样的时候,他们的底层embedding也是共享的,其优势在于提升泛化能力、加速训练、减小内存占用等。

3)连续特征归一化

对连续值类的特征进行归一化,作者设计一种积分函数将特征映射为一个服从[0,1]分布的变量;还可以对某些特征进行取根号、取对数和取平方的相关操作,使得网络有更强的表达能力。

给定正负样本,正样本为有点击视频,负样本为无点击视频;用观看时长对正样本做了加权,负样本都用单位权重(即不加权);采用的是基于交叉熵损失函数的逻辑回归模型训练的。

上表显示了在保留数据集上用不同的隐层配置得到的结果,这些结果表明增加隐层的宽度提升了效果,增加深度也是一样。

本文内容方面,介绍了YouTube基于深度学习的推荐系统,先用视频和用户的主要信息通过深度候选生成模型从百万级视频中找出数百个相关的视频,再用视频和用户的其他信息通过深度排序模型从数百个视频中找出几十个最有可能受用户欢迎的视频给用户。这样使得推荐系统对用户喜好的刻画能力大大增强,刻画的范围更加广泛。

本文结构方面,从推荐系统的整体结构讲起,划分为候选集生成和排序两个阶段,然后对每个阶段详细地展开讲解。整体过程条理清晰,逻辑严密,值得我们学习。

「干货」YouTube 基于深度神经网络推荐系统剖析

YouTube推荐系统的三大难点:

· 一是规模太大,简单的推荐算法在如此大规模数据量上可能是失效的;

· 二是实效性,即新数据不断产生,需要将其良好的呈现给用户,以平衡旧有的好内容以及新内容;

· 三是噪音问题,用户行为与视频描述均有噪音,并且只能获得充满噪音的用户隐含反馈,而不能直接获取用户满意度。

图1.YouTube基于深度学习推荐系统架构图

本文呈现的推荐系统解决方案分为两个部分:

· 一个是备选生成(Candidate Generation),其目标是初选结果,从海量数据中选择出符合其个人需求偏好的百级别数据;

· 一个则是排序(Ranking),通过更加丰富的用户,视频乃至场景信息,对结果进行精细化排序,得到呈现给用户的备选。

备选生成阶段,将推荐系统定义为一个多分类器,其职责是确定某个用户,在某个场景与时间下,将从系统的视频中选择消费哪一个视频。具体的方法是,将用户与视频全部转化为Embedding描述,即一个向量,最终用户消费某个视频的概率通过如下方式计算得到:

而构建用户与视频的Embedding,则是通过训练而来。将用户观看视频/搜索记录/其它信息如年龄性别等作为输入特征,部分稀疏特征首先进行Embedding化,中间为数层ReLU,最终一层用SoftMax进行分类。 换句话讲,是将用户与场景信息作为输入,预估用户下一个要看的视频,也就是将用户分到具体某一个视频作为其类别。 用户与视频的Eembedding,则是神经网络最后一层的对应矩阵。这种方法除了能利用用户行为信息外,其它信息例如设备,地理位置,性别等也可以作为输入,这是神经网络相对于普通MF类算法的优势之一。

图2.YouTube推荐备选生成阶段架构

备选生成的下一个阶段是排序。其网络结构跟备选生成阶段类似,将所有排序模型中的信息输入后,进入多层ReLU,最终进行优化的是一个加权逻辑回归损失函数,观看时间作为阳性样本权重。在这一层,也可以看到其推荐“代理问题”的转化:由点击行为预估转为了以观看时长为权重的点击行为预估,这样更佳贴近Youtube的产品优化方向。与备选生成阶段另一个不同在于,排序模块需要考量的特征要多得多:

· “场景”类特征,例如用户可能在某个地方某个时间愿意观看某一条视频,但是在别的地方别的时间则不会;

· 曝光信息:用户观看了某界面,但是并未在其上进行操作,那么随之应进行已呈现内容降级;

· 备选生成层输出:排序需要将各种备选结果联合起来;

· 更丰富的用户信息:例如用户最近的一次搜索词,用户最近观看的同一个主题下的视频数量,用户上一次观看同主题视频的时间,用户所使用的语言等;

图3.YouTube推荐排序阶段架构

除了整体设计与系统架构以外,本篇论文中陈述了很多“选择”,这些选择更多的是“艺术”而不完全属于技术范畴。这些选择往往是很多技术人员关注不多的点,但在笔者看来,这些都蕴含着YouTube技术与产品人员深入的思考与判断。

“Example Age” 特征

对于YouTube产品层来讲,鼓励内容产生毫无疑问是至关重要的,所以推荐系统也希望对用户上传的新内容的有所偏好。然而幸运的是,即使损失一部分相关性,视频的消费者也偏好新内容。也就是说,新内容的价值可以良好的通过其带来的吸引力呈现出来,并不需要平台刻意而为之。

由于系统使用一个时间窗口的训练样本进行训练,如果没有视频的上传时间信息,那么模型会认为这个时间窗口内用户对视频的偏好是稳定的,然而事实远非如此。将视频的上传时间加入到特征集合后,预估更加准确,尤其是视频刚上传阶段的强烈便好被成功捕捉到。

图4.无时间特征预估/有时间特征预估/真实情况 三者对比

优化目标选择

图5.优化对象的选择

算法系统的设计首先要明确优化对象,这不仅仅涉及到损失函数的形式,同样也是评判系统成功与否的标准。YouTube是视频平台,更是富含“价值”的长视频平台,其观看行为比点击行为意义更大。(当然,笔者认为没有任何一个简单指标可以完全代表一个产品)

“正样本”定义

图6.何为正样本的设计选择

训练数据来源

图7.关于训练数据来源的设计抉择

训练数据应该只来源于推荐界面的曝光吗?YouTube认为不然。如果只考虑推荐界面曝光,则无法对用户便好进行 探索 ,更加无法捕捉用户偏好的变化,因为用户偏好的变化往往首先会对应着搜索与浏览行为。所以YouTube将各个界面例如搜索,导航等用户行为全部纳入其中。

训练数据窗口

图8. 训练数据收集方式的设计选择

Youtube将所有用户等而视之,每个用户收集一定量的样本。而不是惯常可见的直接收集一个时间窗口内的所有用户行为,作为训练样本。这样的好处是避免系统收到少数行为过多用户的影响,使得系统更多的为大众设计。这样的设计理念与近期阿里Gai Kun的论文中评测方法(用户AUC)设计有异曲同工之妙。

用户行为序列处理

图9.用户行为序列信息处理的设计选择

在系统中,用户往往会顺着一个检索结果页或者用户发布者浏览页进行顺序观看,如果系统捕捉到了用户看了检索界面的前三个结果,那么预估用户将看第四个结果就会很容易。但是这样真的好吗?将检索结果页面或者用户发布视频界面直接作为推荐结果呈现给用户是并不友好的--抢了别的界面应该干的活嘛。所以此处YouTube对用户行为序列做了处理,在模型输入中选择放弃用户行为的序列信息,将其打散成词袋Embedding,即使这样的信息有利于模型的离线训练效果。

预估对象的选择

图10.关于预估对象的设计选择

用户的行为往往是有顺序的,用户在系统中“热身”后,在一个频道下面,往往先看大众喜欢的热门,然后逐步找到自己的兴趣点,聚焦看一块内容。那么,训练数据则应该收集用户前段时间行为,预估此后的行为。而不是收集时间前后段的行为,预估中间时间段的用户行为。这样模型更加接近用户习惯。

除此之外,Youtube根据系统设计了对应的实验,结果非常简单:深度网络层数越高,效果越好。

YouTube的推荐系统,已经为其贡献了70%的用户播放时长,搜索与导航在PC时代的主导地位在移动时代已经完全被颠覆掉。希望大家在其中学到一些东西。笔者水平所限,若有错误不当之处,敬请指正。

另外,个人用TensorFlow模拟Youtube的推荐系统,做了一个简单实现。其实就是一个多分类器外加一个单分类器,远谈不上成熟,可以供大家参考。

——END——


以上就是关于为什么youtube推荐?的介绍,更多问题请留言或者咨询老师呢

文档于 2025-12-20 12:45:51 修改