进行探索,罗宾·霍德风格

发表

我们在Taboola的核心业务是为Web提供个性化的内容建议,无论他们在哪里冲浪。我们使用最先进的深度学习方法来做到这一点,这些方法从不断增长的文章和广告库中学习了向每个用户展示的内容。但是,当我们挑战自己表现出更好的模型和更好的预测时,我们也发现自己不断面临另一个问题 - 我们如何如何不听到我们的模型。或换句话说:我们如何探索更好的?

正如我刚才提到的,我们的文章库是生长,这意味着每分钟添加越来越多的项目 - 从AI的角度来看,这是我们必须解决的主要问题,因为到我们完成培训新模型并将其推向生产时,它将已经必须处理项目培训数据中从来没有存在。在上一篇文章中,我讨论了如何使用加权采样来允许对CTR低(点击率)的项目进行更多探索,同时试图不损害高CTR项目的流量。在这篇文章中,我将进一步扩展这一难题,并讨论我们如何允许对模型从未见过的项目进行有意义的探索。

了解嵌入和OOV

了解嵌入的使用及其代表的用途是理解讨论的探索方法的关键,因此让我们简要回顾它们的工作方式。嵌入是该模型所学到的一组权重(或更简单,是一个矢量)来表示输入特征的特征。Let’s say that we have two items in our pool, where item A is super-successful among gamers of age 20 to 30 living in the US and Canada, and item B is very popular among cooking-lovers of ages 30 to 40 living in German-speaking countries in Europe. Where should the model store this learned information? In each item’s embeddings, of course! So embeddings are value-specific vectors the model has learned, and it allows it to distinguish one from another, and estimate their performance more accurately. For each of our items, the model learns a new vector. If our model is training correctly, another item which is successful with item A’s crowd will have an embedding vector which will be close to him in our vector space.

但是,假设我们的培训数据有另一个项目C,这是如此新,它仅出现在培训数据上一次。这种单一外观足以让模型了解有关此项目的任何信息吗?当然不是。因此,为其创建嵌入没有意义,因为这显然只是噪音。但是,我们仍然需要嵌入它,那么我们该怎么办?

每当我们将嵌入到功能上时,我们就会决定每个值必须具有最小外观的阈值才能具有自己的嵌入。然后汇总所有具有比所需阈值的外观少的值,并用于构造将用于所有这些嵌入。此嵌入被命名为“词汇嵌入”(OOV),因为它用于所有没有将其纳入具有自己嵌入的值的值(或词汇)。更重要的是,OOV嵌入也用于模型从未见过的所有全新项目。

很容易看出为什么将OOV嵌入到任何价值上真的很不好。它由许多完全不同的值构造,很少与彼此有关。这意味着OOV通常是嘈杂的,并且CTR估计很低 - 即使这些项目没有错,但在培训模型时,它们的显示效果不够。

但是这里有一个恶性循环 - 如果由于缺乏外观而收到了OOV嵌入的新物品,则该模型将获得非常低的CTR估计 - 这将不允许它获得许多出现。这可以使模型坚持到它总是显示的相同项目,这对我们不利。所以…是时候我们去舍伍德森林了!

罗宾汉勘探

我们在Taboola上最重要的目标之一是预测我们的用户是否会单击我们显示的项目。因此,我们的培训数据是由我们显示的所有项目构建的(也称为印象),以及用户的响应(是否单击)。由于我们向收到的点击次数显示某个项目的次数之间存在明显的正相关关系,因此很容易看出我们最畅销的项目也是我们培训数据中出现最多的项目。这意味着这些也是具有最强大和训练有素的嵌入的项目。

因此,我们在这里所做的技巧非常简单 - 就像嵌入式外观最小的阈值一样,在其下方的值下,我们添加了一个最大阈值出现的外观,高于它的价值成为OOV。我们对其进行了调整,因此只有物品的顶部才会超过此阈值,并将添加到OOV桶中。这为我们提供了由我们拥有的最有利可图的物品组合制成的OOV - 因此,现在所有新项目都会收到超强的嵌入,这使得该模型可以为它们提供更高的CTR估计。我们命名了此方法罗宾汉探索,当我们从最佳物品中“窃取”数据并将其移至OOV时。

而且,是的 - 它有效:

与我们的默认模型相比,Robin Hood方法的不同嵌入组的印象(黄色)和收入(绿色)。

Robin Hood方法正在按预期的方式执行 - 我们的OOV和薄弱的嵌入团体会获得更多的流量,还会产生更多的收入,但以我们的顶级商人为代价。中等强度的嵌入几乎没有变化。我们可以处理的是减少畅销商的流量当影响有限的流量时- 我们的目的是表演勘探,,,,又称A:交通新东西,而且无需对我们最畅销的人进行探索 - 我们已经知道他们是我们的畅销书。还有更多的好消息:当涉及到我们的整体收入时 - 这种方法对此绝对没有负面影响。


总而言之,我们的罗宾·霍德方法将数据从顶级项目传输到OOV,已证明自己是一种以最少的技术努力进行有意义的探索的宝贵方法。我们希望这对我们的读者也有价值。安全骑行!

立即开始您的Taboola职业!