服务热线:4006 883 888

新闻动态
NEWS

上海市申博机械科技有限公司

服务热线:4006 883 888
公司地址:上海市鼎发新区观海大道111号富明商务中心18层
联系电话:021-68863918

邮 箱:Sunbet@006yb.com

当前位置:主页 > 新闻动态 > 行业新闻 >

行业新闻

Netflix 的个性化推荐演算法,重点居然是在这一张一张的海报缩图上?

时间:2020-07-29来源:申博太阳城浏览次数:

当你点开Netflix为你推荐的新剧时,你也许不知道,这部剧所显示的海报是专门为你挑选的。几年来,Netflix一直致力于研发它的使用者个性化推荐系统,简单来说就是根据使用者留下的数据、经过复杂的演算法框架,最终配上最可能吸引用户点开连结的海报。那么,这种配备个性化海报的困难与挑战在哪里?它的优势又是什么?

图片来源:Unsplash|摄影freestocks

几年以来,Netflix一直致力于完善它的个性化推荐系统,即在正确的时间为每一位使用者推荐他们感兴趣的内容。Netflix手头上有数千个影集,它的使用者有上亿人(注:据Netflix官方公布的最新数据,2020年第一季度Netflix全球订阅用户数为1.83亿),因此精准的个性化推荐就非常有必要了。

但是个性化推荐要面临不少挑战,比如,系统凭借什么来笃定某位使用者喜欢某些内容?怎么判断使用者会不会对以前从未看过的新类型、新影集感兴趣呢?如何说服这些使用者去看某一部新剧呢?

对上述问题的回答将决定了Netflix的推荐系统如何改进。对相关研发人员来说,说服使用者去看他们不熟悉的影集是非常困难的。

研发人员最初考虑的方法是:透过这部剧的图像(可能是海报、剧照等)吸引使用者。这些图像在某种程度上可以给使用者留下好的第一印象,毕竟优秀的视觉效果是对影集优秀的一种「保证」,让使用者忍不住想点开。这些图像里可能有你熟悉的明星,或者是飞驰的车辆等惊险刺激的场景,让你产生看电影大片的感觉。所以,如果我们在你的使用者首页上投放含有精美图片的推荐(传播行业里有句老话:一张照片顶得上一千个文字),那么或许——仅仅是或许——你会点开它看一看。

这是Netflix与传统媒体不同的地方,它不期待所有人都喜欢它的某一个产品,而是主动提供千万种产品,然后为使用者进行个性化推荐。

这是Netflix的原始首页,随着使用者不断看剧,推荐系统将为使用者进行越来越精准的个性化推荐|图片来源:Medium

刚才我们已经提到,Netflix正在致力于完善它的精准推荐系统,希望为每一位使用者找到最适合他们的影集。

此外,Netflix强大的演算法系统还能给每一个使用者展示他们最感兴趣的海报。我解释一下,比如根据演算法推荐的结果,《Stranger Things》这个剧有好几种海报,可以让不同的使用者都感兴趣。那么,这种让演算法决定某部剧的海报真的合理吗?常识告诉我们,每个人的口味千差万别,但我们真的可以按照每个人的口味,给同一部剧配不同的海报,进而戳中不同使用者的兴趣点?

Stranger Things为每个使用者推荐时,会根据演算法给他们展示不同的海报,吸引不同口味的使用者的兴趣。这些图像都和主题有关,都反映了主题的某一面|图片来源:Medium

让我们从下面的例子出发进行分析,看看个性化的海报推荐对使用者有什么效果。

先拿影视剧的类型举个例子,下面左侧是两名不同使用者看过影片的历史记录,右侧是我们根据演算法系统为他们推荐的新影集:《Good Will Hunting》。如何更精准地吸引两名使用者呢?

第一个使用者显然看过很多浪漫爱情的电影,所以我们就使用一张两位主角相互亲暱的图像作为海报;另一个使用者显然看过很多喜剧,所以我们就把喜剧明星罗宾·威廉斯(Robin Williams)的图像作为海报。

图片来源:Medium

另一个例子和演员相关。同样是推荐电影《黑色追缉令》,对一个经常看邬玛·舒曼(Uma Thurman)的使用者,我们就以邬玛·舒曼的剧照作为海报;同理,对一个经常看约翰·屈伏塔(John Travolta)的作品的使用者而言,他则会收到带有约翰·屈伏塔的海报的推荐。

图片来源:Medium

当然,这种个性化海报推荐并不总是清晰、明确的,因为有些使用者留下的数据并不清晰。所以我们不会把这种方法当成金科玉律,只是在演算法告诉我们某位使用者有某种倾向的时候,才会用海报推荐法去推荐影集,进而为使用者带来更好的体验。

Netflix的挑战

在Netflix,我们秉持让演算法和个性化改善使用者体验的想法,所以在我们不仅在使用者的首页标题进行个性化推荐,还为它们配备个性化的海报。另外我们的主页面和发送的私信也都进行了个性化定制。每一个细节的个性化对我们而言都是挑战。

对个性化海报而言,最难的地方在于我们只能给使用者推荐一张海报,所以只有一次机会给使用者留下印象。传统的推荐方式则可以一次性给使用者提供更多的图片,让他们进行选择。透过这种选择,使用者或许会找到自己感兴趣的「点」(比如某个明星、某些设定等)。

排除其他因素,个性化海报是基于这样的假设:使用者决定是否播放一部剧,完全取决于我们为他提供的那张海报是什么。

对我们而言,亟需解决的问题如下:(1)在什么时间发布某个有个性化海报和推荐可以对使用者有最大程度的影响;(2)在什么情况下,不管我们发布怎样的海报,使用者都会选择收看这部剧。

因此,个性化的海报推荐需要和传统的推荐方式相结合,同时也要和演算法相适应。我们需要收集使用者大量的数据,找到使用者的倾向,在明确「用个性化海报推荐方法」更好的前提下再为他们精准投放海报。

关于个性化海报,还有一个挑战是考虑,对同一部剧来说,如果我们在个性化推荐的时候更改了海报,对使用者来说会有怎么的影响,以及多大程度的影响。

举个例子,假设一名使用者收藏了某部剧但还没有观看。经过一段时间后,根据他最近追剧的内容,演算法推测出他的某些倾向可能有了变化,进而修改了这部还没来得及看的剧的海报。在这种情况下,使用者是否会重新考虑要不要看这部剧?这部剧对他来说还有兴趣吗?使用者会觉得被冒犯还是会觉得很「贴心」?

推荐系​​统不断完善,我们看到的推荐内容和海报都是「私人订制款」|图片来源:Unsplash|摄影Charles Deluvio

显然,如果我们找到了比原来更好的海报,当然要换上新海报了。但这种海报的变化会不会让使用者感到困惑?会不会让使用者失去点开的兴趣?

毕竟,我们的假设是「使用者决定是否播放一部剧,完全取决于我们为他提供的那张海报是什么。」所以在更换海报的问题上一定要谨慎。

接下来,我们还需要考虑在同一个页面上,投放的所有海报是否和谐美观,但在和谐美观的同时又要注意不能雷同。

首先,如果一个页面上的某张海报特别突出(比如突出的人像、加粗的字体),那么就可以吸引使用者去看,但是容易让页面「不和谐」。相反,如果页面上的每一个海报内容都相似,那么虽然页面会显得和谐统一,但是重点不够突出,无法吸引读者。

所以,把每一张海报单拎出来考虑显然是不够的,我们还要考虑它在页面上和其他海报放在一起时是什么效果。

除了标题和海报之外,有时候我们还要考虑一些影集的其他内容,比如摘要、预告片和其他图片。我们可能会为使用者提供多样化的选择,比如一些影集只放海报,另一些则推荐预告片。这种互补、错落的推荐方式可以突出重点、吸引使用者。

对每一部剧来说,除了推荐个性化的海报之外,我们还需要给每部剧精选其他内容(剧照、预告等),以免使用者产生被海报「骗进来」的消极感受。这些精选的其他内容要最大程度上涵盖口味各异的潜在使用者。毕竟,一部剧真正的竞争力还是在于使用者的观看量。我们不仅在个性化推荐海报上不断完善,还在美学方面下足了功夫,争取吸引更多的人。我们聘请了艺术家和设计师,为每部剧精心挑选了涵盖一个主题不同层面的介绍,同时根据演算法的推荐,有节制地重点突出某些内容。

最后,要想实现个性化海报推荐,我们还要面临技术层面的挑战。最大的挑战就在于我们的页面需要非常多的图像。所以个性化推荐如果想要平稳运行,我们的系统处理能力必须非常强大,峰值为处理2千万个请求/秒。如果使用者的介面无法加载和算绘这些图片,那么肯定会影响他们的体验。

此外,当我们发布某部剧时,演算法必须能快速回应,并且不断学习,不断适应使用者的新口味——使用者的兴趣和口味可能随时随地发生变化,演算法系统必须跟上这种变化。

Netflix已经成为越来越多人追剧的主流平台|图片来源:Unsplash|摄影CardMapr 

Contextual bandits演算法框架

Netflix的推荐系统是靠机器学习而不断升级的。我们会收集使用者的相关数据,然后放到演算法中不断更新演算法系统。

但是具体选用哪一种演算法呢?传统的方法是进行A/BTest,这种离线的检测方法是说,我们将使用者分成A和B两组,我们对A组使用者保持老演算法,对B组使用者使用新演算法,然后看效果:如果新的演算法效果更好,我们就会全面切换成新的演算法,反之则保留旧的演算法。

问题在于,每个组的使用者活跃度是不一样的,因此测试的结果不一定准确。假设B组的成员更加活跃,测试得到的结果是新演算法更好,我们就对所有使用者全部采用新演算法。但是新演算法不一定适用于每个使用者,因此就会造成新演算法让某些使用者无法获得更好体验的结果,即示意图中的绿色部分「Regret」。

为了最大程度地减少Regret使用者的数量,我们开始采用线上机器学习法。以前的机器学习需要收集数据、让演算法更新、进行A/BTest然后再比较演算法优劣,这个过程很长,而且效果并不好。现在我们采用Contextual bandits演算法框架,在这个框架下,模型可以快速辨识出使用者的喜好并作出推荐。

Contextual bandits演算法框架是一款在线的演算法框架,可以在线收集训练数据、即时学习、迅速回馈,为每位使用者生成无偏差模型,而且可以立即生效。

在早期的工作中,我们用演算法框架在没有具体场景的情况下挑选出最优图片。现在我们需要个性化的推荐,所以就把使用者当成不同的「场景」(context),根据他们对图片不同的需要和回馈进行调整,

Contextual bandits演算法框架的核心目标是缩短上图中Regret使用者的数量。这一框架可以透过注入随机的、用于训练演算法的数据,进而得到一般性的公式,即使环境千变万化也能迅速适应。我们把这个过程称之为「数据探索」。数据探索的具体策略和影集提供的图片、使用者的数量(也称之为数据的规模)相挂钩。

在这种数据探索的过程中,我们还会记下讯息日志,这些日志可以用来训练即时模型,也可以在离线测试时作出更加准确的效果评估,这个一会儿我们会更详细地说明。

当然,数据探索都是有成本的,因为在探索的过程中,总会有一部分用于测试的使用者没能享受最终的、最佳的体验。这样做的结果是什么呢?

事实上,在拥有1亿多使用者的情况下,这一部分没能享受最佳化体验的人数(或者每位使用者无法享受最佳化体验的时间)是非常少的,所以分摊下来的话,这种数据探索的成本并不大,这种代价也是完全可以接受的。

如果根据结果,这种随机数据探索的代价太大了的话,Contextual bandits演算法框架就不适用了。

我们现在推行的在线数据探索方案帮我们建立了一个资料库,资料库里每个小组中都有使用者数量和数据、影集、图像等。我们根据演算法提供的结果决定要不要给某位使用者提供每个影集的推荐。

此外,这种数据探索是可控的,我们可以根据使用者的回馈进行调整,保证使用者在同一个影集连结中看到的图片变化的频率是有限的。除此之外,我们还尽量仔细地标注数据的品质,以免出现「钓鱼图」(吸引使用者点击但是没有什么内容的图片,类似「标题党」),引发负面回馈。

在线上学习的设定中,我们用Contextual bandits演算法框架为基础,根据每位使用者的需求和倾向问他们呈现不同的海报。对每一个使用者来说,我们一般都有12张左右的海报备选。

但是每位使用者看每个影集时都有12张图像备选,我们又有这么多使用者和影集,所以可想而知,挑选的工作量是巨大的。

为了简化这种训练,我们不再为每位使用者排列某个单独的影集的海报,而是对一个使用者会接触到的所有影集的海报进行整体排列。按照后者的排列方法,我们依旧可以针对某一个影集找到最适合使用者的海报。具体的学习方法我们采用监督学习法(supervised learning models)、汤普森采样法(Thompson Sampling)、LinUCB或贝氏推论(Bayesian methods ),这些方法可以帮助我们在数据探索中作出最佳决策。

在Contextual bandits演算法框架中,不同的场景通常有明显的特征,可以借助这些特征来辨识不同的场景。这些特征也可以称之为「讯号」。使用者在使用Netflix的过程中会呈现很多特征/讯号,比如他们点阅过的标题、他们选择的国家,或者他们的语言偏好设置,他们登陆Netflix的设备,他们看剧的时间和周期,等等。我们的演算法在为使用者进行个性化推荐的同时,也会将上述的讯号考虑在内。

使用者在Netflix看剧的同时,Netflix也在分析使用者的各类特征,形成「使用者画像」|图片来源:Unsplash|摄影Clay Banks

有一件事是需要慎重考虑的:有的时候,同一个影集的某些海报品质和效果天生就比另一些海报要高。在我们数据探索的过程中,也会为这些海报打分。在以前非个性化的海报推荐中,我们会把评分最高的海报无差别地呈现给所有使用者,现在有了演算法,我们根据使用者需求把可能最吸引他们的海报呈现给他们。

在这个过程中,我们要考虑如何在「最高品质」和「最适合使用者」的海报之间做选择,这时候讯号就显得很重要了。如果一位使用者发出的讯号越强烈,那么我们就给他推荐最适合他的(但可能不是品质最高的)海报;反之,我们则更倾向于为他推荐品质最高的海报。

正如前文所言,图像选择就是给不同的使用者、按照他们的喜好为他们呈现特别定制的海报。一旦前文中提到的模型训练完成,我们就可以将它立马投入使用,用来检测某位使用者看某部剧时如果看到候选的几张海报,分别有多大的概率会点开它。我们根据这样的概率从高到低排顺序,然后选择概率最高的那一张呈现给那位特定的使用者。

效果检测

前文提到,Contextual bandits演算法框架实际上是一种线上的机器学习法。在给使用者推荐完海报后,我们会使用离线检测技术去检测它的效果,这种技术被称之为「Replay技术」。这种方法可以让我们对演算法无偏差地进行离线衡量(如下图所示)。换句话说,我们可以透过这种离线衡量法,直观地看到如果在过去特定的场合中我们使用另一种演算法会是什么结果。

图片来源:Medium

这是离线检测的一个简单案例:我们为每一位使用者分配一张初始海报(横排第一行)。系统记录了这五位使用者是否播放了这部剧,播放了则标绿,没有播放则标红(横排第二行)。离线检测则计算出新演算法的推荐结果,并在这张图表里用黑色框圈出推荐演算法和新演算法结果相一致的结果(即使用者1、使用者2和使用者4),然后计算这个集合中使用者的点击率,也就是2/3。

Replay技术可以让我们直观地看到,如果我们推给使用者的图片是根据新的演算法,那么使用者会如何回馈(即是否会观看这部剧)。

如前文所言,我们的目的在于透过展示合适的图片最大程度地吸引使用者观看影片。下图显示了Contextual bandits演算法如何帮只我们提高使用者的点击率。

这张统计图显示了不同演算法下观众的播放影集的比例。其中蓝色和粉色为Contextual Bandit演算法框架下的观众播放比例,可以看到它最大程度地吸引了观众点击影集|图片来源:Medium

这个例子展示了我们如何对海报进行打分。第一张海报的「喜剧值」为5.7;「浪漫值」为7.2。第二张海报的「喜剧值」为6.3;「浪漫值」为6.5。对喜欢浪漫故事的使用者来说我们会倾向于为他推荐第一张海报;对喜欢喜剧故事的人来说我们会推荐第二张|图片来源:Medium

透过离线检测,我们检测出了效果最佳但是并没有被采用的演算法,对后者而言,我们会再进行一次在线A/BTest,观察它在contextual bandits演算法框架中的实际表现,根据结果及时调整演算法。

正如我们期待的那样,这种测试大大提升了我们的核心指标,即使用者对影集的点击率。

同时,线上检测也让我们观察到了一些有趣的结果,比如对不了解某部剧的使用者来说,这种点击率的提升是非常显著的。这也很容易理解:毕竟在不了解一部剧的前提下,个性化推荐才可能发挥更大的作用。

结论

透过前面介绍的Contextual bandits演算法框架,我们实现了个性化推荐的第一步:为使用者提供更吸引他们的影集和海报。在这里,我们不仅解决了「推荐什么」的问题,更是解决了「如何推荐」的问题。这一步的意义是巨大的,因为我们可以为使用者推荐符合他们口味的内容,以及用最吸引他们的方式介绍新的影集。

当然,这仅仅是个性化推荐的一次尝试,我们的个性化推荐系统还有很多可以完善的地方,比如我们以后可以设计出新的演算法,帮助我们快速准确地实现新影集、新图像的冷启动处理,或者让使用者体验的其他方面更加个性化,包括添加个性化的图片、引用文字和介面等等。

在个性化推荐的道路上,这仅仅是一个起点。

采用 5 奈米制程的 iPhone12 系列 A14 晶片组件首次曝光,效能跑分超高海放骁龙 865

 

外媒首次曝光了iPhone 12系列要搭载的A14晶片组件,消息中还提到,目前台积电正在全力生产该晶片,且基于旗下最进步的5nm制程。 苹果的A14仿生处理器将搭载台积电5nm制程,因为5nm制程是目前最先进的技术,相较于A13晶片搭载的7nm(第一代DUV),基于Cortex A72核心的全新5nm晶片,能够提供1.8倍的逻辑密度、速度增快15%,或者功耗降低30%,同样制程的SRAM也十分优异且面积缩减。(5nm每平方毫米容纳晶体管的数量是1.713亿个,而5nm较之前A13晶片采用的7nm制程提升了80%,晶体总数达到150亿。) 跑分平台曾曝光A14晶片的成绩,单核跑分6200分、多核成绩达到15500分,作为对比骁龙865单核4200分、多核13000分,A14晶片与iOS系统的配合,能够给使用者带来流畅的使用体验。A14对AI模组的升级更大,机器学习能力将是A13晶片的两倍以上,执行能力将进一步提升,进一步加大了市场对其的期待。 从分享的照片上来看,苹果的

官方微博

Copyright © 2002-2018 . 上海市申博机械科技有限公司 版权所有
公司地址:上海市鼎发新区观海大道111号富明商务中心18层
联系电话:021-68863918

企业邮箱:Sunbet@006yb.com