クリック率を推定するための「特効薬」はありませんが、モデル構造よりも重要なことは何ですか?

前のコラムでは、技術的な観点からCTRモデルの主な構造と、埋め込みなどのCTRモデルの主な技術的ポイントについて詳しく説明しました。本日この記事でお話ししたいのは、「CTRモデルの構造などの技術的なポイント以外に、CTRの推定効果に影響を与える他のより重要な要因はありますか?です

クリック率の見積もりの​​問題を解決するための「特効薬」はありますか?

多くの同僚から寄せられた相談の質問では、どのCTRモデルがより効果的であるかをよく尋ねられます。CTRモデルの構造が最終的な効果にとって重要であることは事実ですが、モデルの構造がCTR推定の問題であるという「特効薬」は本当にあるのでしょうか。   

この質問に答えるために、最初にモデルの例を分析できます-Aliの最新のCTRモデルDIEN(Deep Interest Evolution Network)。図1は、AliDIENのモデルアーキテクチャ図です。

画像

図1アリのCTR推定モデルDIEN

アーキテクチャ図の色付きの部分を削除すると、モデルは実際にはアテンションメカニズムを備えた古典的な深層学習ネットワークになります。色付きの部分は、いわゆる関心の進化のプロセスです。まず、Behavior Layerのユーザー行動シーケンスに基づいて、Interest Extractor Layerで抽象的なユーザーの関心を抽出し、次にAUGRUシーケンスモデルを使用して、Interest EvolveingLayerでの関心の進化プロセスをシミュレートします。

モデルが提案されて以来、多くの学生から同様の質問が寄せられ、「王さん、アリのDIENモデルを適用しましたが、効果が良くありません。理由は何だと思いますか?埋め込み層の寸法が不十分ですか? ?そうすべきではありませんか?関心のある進化層の状態の数を増やしてください。」

同様の質問をしたすべての学生は、デフォルトで、AliアプリケーションシナリオでのDIEN作業モデルは、アプリケーションシナリオでも同じように機能する必要があるという前提に基づいていました。しかし、この仮定は本当に合理的ですか?DIENモデルはCTR推定の分野における「銀の弾丸」ですか?

答えはノーでなければなりません。簡単な分析を行うために、DIENの主なポイントはユーザーの関心の進化のプロセスをシミュレートして表現することであるため、モデルアプリケーションの前提は、アプリケーションシナリオに「関心の進化」があることである必要があります。Aliのシナリオは非常に理解しやすく、ユーザーの購入意欲はさまざまな時点で変化します。たとえば、ユーザーはコンピューターを購入した後に一定の確率でコンピューター周辺製品を購入し、特定の種類の衣服を購入するときに一定の確率で他の衣服を選択します。これらはすべて直感的な興味の進化の例です。

DIENがAliシーンで機能するもう一つの理由は、ユーザーの関心の進化パスがAliのデータによってほぼ完全に保持される可能性があることです。中国最大のeコマースグループであるため、Alibabaの製品ラインで構成される製品マトリックスは、ユーザーの購入意欲の移行プロセスをほぼ完全に捉えることができます。もちろん、ユーザーがJD.comやPinduoduoで買い物をして、アリの関心の進化プロセスを中断することは可能ですが、統計的な意味では、多数のユーザーの関心の進化プロセスをアリのデータシステムでキャプチャできます。

したがって、DIENが効果的であるための前提は、アプリケーションシナリオが次の2つの条件を満たすことです。

1.アプリケーションシナリオには「関心の進化」があります。

2.ユーザーの関心の進化プロセスは、データによって完全にキャプチャできます。

2つの条件のいずれかがあなたが持っていないものである場合。その場合、DIENは、そのようなシナリオで大きなメリットをもたらさない可能性が高くなります。

たとえば、作成者はストリーミングメディアプラットフォームのレコメンデーションシステムです。ユーザーは独自のコンテンツを選択するか、Netflix、YouTube、またはその他のストリーミングメディアコンテンツを視聴することを選択できます(図2はストリーミングメディアプラットフォームのさまざまなチャネルのリストです))。ユーザーがNetflixまたはその他のサードパーティアプリケーションに入ると、アプリケーションで特定のデータを取得することはできません。このようなシナリオでは、ユーザーの表示およびクリックデータのごく一部しか取得できず、ユーザーの関心ポイントを抽出するのは簡単ではありません。ユーザーの関心チェーン全体をどのように構築できますか?しぶしぶ構築されたインタレストチェーンであっても、それは間違ったインタレストチェーンです。

図2ストリーミングメディアプラットフォームのさまざまなチャネル

したがって、このようなアプリケーションシナリオでは、DIENはCTRモデルのメインアーキテクチャとして適していますか?答えは否定的です。また、実験を通じて、このシナリオではDIENが過剰適合しやすいことも証明しました。このシナリオで、モデルのパフォーマンスが低下する主な理由が、パラメーターが適切に調整されておらず、データ量が十分に大きくないことが原因である場合は、間違いなくすべてを放棄する疑いがあります。これらの技術的な理由と比較して、最も重要なことは、ユーザーシナリオを理解し、データの特性に精通することです。

什么才是比 CTR 模型结构更重要的东西?

到这里,我们也基本可以给出开头问题的答案了——在构建 CTR 模型的过程中,从应用场景出发,基于用户行为和数据的特点,提出合理的改进模型的动机才是最重要的。

换句话说,CTR 模型的结构不是构建一个好的 CTR 模型的“银弹”,真正的“银弹”是你对用户行为和应用场景的观察,基于这些观察,改进出最能够表达这些观察的模型结构。

去年我参加 Netflix 的 RPS workshop,Netflix 在做一项 CTR 模型的改进,就能够很好的体现 Netflix 对用户行为的观察。   

众所周知,Netflix 是美国最大的流媒体公司,其推荐系统会根据用户的喜好生成影片的推荐列表。除了影片的排序外,最能够影响点击率的元素其实是影片的海报预览图。举例来说,一位喜欢马特达蒙的用户,当看到影片的海报上有马特达蒙的头像时,他点击该影片的概率会大幅增加。Netflix 的数据科学家在通过 AB Test 验证这一点后,着手开始对影片预览图的生成进行优化(如图 3),以提高推荐结果整体的点击率。

图 3 Netflix 不同预览图的模版

在具体的优化过程中,模型会根据不同用户的喜好,使用不同的影片预览图模版,填充以不同的背景、字体。通过使用简单的线性 contextual bandits 探索与利用模型来验证那种组合才是最适合某类用户的个性化海报。

在这个问题中,Netflix 并没有使用复杂的模型,但 CTR 提升的效果是 10% 量级的。远远超过改进 CTR 模型结构带来的收益。这才是从用户和场景出发解决问题。   

再举一个例子,图 4 是某 Smart TV 的主页,每一行是一个类型的影片。但对于一个新用户来说,是非常缺少点击和播放这类正样本的。我们能否找到一些其他的有价值的信息来解决数据稀疏问题呢?

画像

图 4 捕捉包含关键信息的用户行为

这就要求我们回到产品中,把自己置身于用户的角度去理解这个问题。这时你不难发现一个非常有价值的信号。针对这个用户界面来说,如果你对某个类型片感兴趣,必然会向右滑动鼠标或者遥控器(如图 4 中红色箭头所指),去找这个类型下面更多的影片,这个滑动的动作很好的反应了用户对于某类型影片的兴趣。

引入这个动作,无疑对构建用户兴趣向量,解决数据稀疏问题,进而提高 CTR 模型的效果有正向的作用。而引入更多有价值信息带来的收益也远远高于改进模型结构。

最后一个例子我们回到阿里的 CTR 预估模型,大家知道 DIEN 的前身是 DIN(深度兴趣网络)。DIN 的基本思想是将 attention 机制跟深度神经网络结合起来。

画像

图 5 阿里的 DIN 模型

简单直观的来说,DIN 在经典的深度 CTR 模型的基础上,在构建特征向量的过程中,对每一类特征加入了一个激活单元(Activation Unit),这个激活单元的作用类似一个开关,控制了这类特征是否放入特征向量以及放入时权重的大小。那这个开关由谁控制呢?它是由被预测 item 跟这类特征的关系决定的。也就是说,在预测用户 u 是否喜欢商品 i 这件事上,DIN 只把跟商品 i 有关的特征考虑进来,其他特征的门会被关上,完全不考虑或者权重很小。

举例来解释 DIN 的工作原理,比如模型希望预测一个用户喜不喜欢看“复仇者联盟”,在构建用户的特征向量的时候,我们希望参考一下用户有没有看过“美国队长”的历史记录,但我们完全不关心用户看过没有“动物世界”,因为加入“动物世界”这类跟“复仇者联盟”不相关的特征,可能会让用户的特征向量丧失特殊性。

那么阿里妈妈的工程师能够提出将 attention 机制应用于深度神经网路的想法是单纯的技术考虑吗?

在跟论文作者交流之后,我发现他们的出发点仍然是用户的行为特点,因为天猫、淘宝作为综合性的电商网站,只有跟候选商品相关的用户历史行为记录才是有价值的。基于这个出发点,最终发现 attention 机制恰巧是能够表达这个动机的最合适的技术结构。

アルゴリズムエンジニアが本当に自分たちを「チューナー」または「錬金術師」と見なす場合、ドロップアウトを追加するかどうか、アクティブ化関数を変更するかどうか、正則化項目を増やすかどうか、ネットワークの深さと幅を変更するかどうかだけに焦点を当てます。アプリケーションのシナリオに真に適合するターゲットを絞った改善を行うことは不可能です。

結論

業界の多くの友人は、CTRモデルの作成とシステムの推奨は「人々の心を求める」と言っています。私はこの文章に完全に同意するとは言えませんが、この記事のテーマもある程度反映しています。ユーザーの観点からの問題。モデルを構築します。

数年の実務経験があり、機械学習の関連テクノロジーに精通している場合は、テクノロジーから飛び出して、ユーザーの視点から立ち、アイデアを深く体験し、アイデアの好みを発見する必要があります。次に、機械学習ツールを使用して検証し、シミュレートします。予期しない結果が得られると思います。


おすすめ

転載: blog.51cto.com/15060462/2678110
おすすめ