パーソナライズされた推奨の CTR 推定にディープラーニングを使用する理由は何ですか?

パーソナライズされた推奨の CTR 推定にディープラーニングを使用する理由は何ですか?

ディープラーニングはおそらく、過去 2 年間でコンピューター コミュニティで最もホットな言葉です。エンジニアはディープラーニングに基づいて、画像、音声、NLP などの分野で素晴らしい進歩を遂げてきました。ディープラーニング自体も常に探求と開発が進められており、その潜在能力の限界はまだ見えていません。

もちろん、ディープラーニングは完璧ではありません。たとえば、多くの問題の特徴は簡単に抽出でき、SVM や決定木アルゴリズムを直接使用して良好な結果を得ることができます。そして、ディープラーニングはあまり役に立ちません。問題もいくつかあります。データが不十分で、ディープラーニングアルゴリズムを通じて使用可能なモデルを取得することが困難です。さらに、一部の問題では計算リソースと時間に対する要件が厳しく、ディープラーニングの小型化にブレークスルーがない場合には最適な方法とは言えません。

プロジェクトがディープラーニングに適しているかどうかを判断する正しいアプローチ

(画像出典: ディープラーニング詐欺防止ガイド)

一方、ディープラーニングはパーソナライズされた推奨や計算広告の分野ではまだ大きな進歩を遂げていませんが、推奨システムはディープラーニングの最も重要な応用シナリオの1つになる可能性が高いと考えています。理由は次のとおりです。

今日の推奨システムは、膨大な量のデータを処理し、数万、あるいは数億の次元を持つ特徴を抽出する必要があります。ディープラーニング自体は、非常に優れた表現学習フレームワークです。人間が大量のデータから抽出できない特徴の組み合わせを学習することに優れています。

(画像出典: ディープラーニング詐欺防止ガイド)

データと特徴によって機械学習の上限が決まりますが、モデルとアルゴリズムはこの上限に近似するだけです。既存の推奨システムは、特徴エンジニアリングの効果に依存しています。特徴エンジニアリングは、問題に対する理解を継続的に深め、追加のデータ ソースを取得することに基づいています。しかし、データから抽出できる特徴の総数は非常に限られており、新しいデータ ソースや新しい特徴を取得することはますます困難になります。人工特徴エンジニアリングが高度になるにつれて、より多くの人材と時間が投入されますが、得られる新しい特徴がシステムに与える影響はますます少なくなります。現時点では、特徴表現にディープラーニングを使用する方がコスト面でより良い選択肢となる可能性があります。

図: IBM Watson システムの精度向上曲線。最初は結果が急速に改善されましたが、その後の小さな改善にも多大な労力が必要になったことがわかります。

そこで、ある業務でTensorflowベースのDNNを試し、一通り実行して経験を積みました。また、オリジナルのLRモデルと比較して20%以上のオンライン改善も実現しています。これらのコードが、皆さんのビジネスにディープ モデル フレームワークを迅速に実装するのに役立つことを願っています。

図: CTR 推定における DNN の一般的なフレームワーク

一般的に言えば、まずプロセス全体を実行するためのより単純なフレームワークを選択し、その後モデルの複雑さを徐々に増やしていきます。通常、下の図に示すフレームワークを選択して、使用するデータを連続的な特徴と離散的な特徴の 2 つのカテゴリに分割できます。

連続的な特徴の場合、何らかの正規化が必要です。離散的な特徴の場合、離散的な特徴を N 次元ベクトルに変換するために埋め込みが一般的に必要になります。このベクトルの長さは、通常、ベクトルの値空間に比例します。この埋め込みプロセスは FM を使用して実装できます。 私たちのコードでは、これは Tensorflow のembedding_column によって自動的に実現されます。

そこで、ユーザーデータとレコメンドアイテムデータをまとめて2つのカテゴリに分け、埋め込み後の離散特徴と連続特徴を合わせてニューラルネットワークの入力とし、クリックするかどうかの出力は[0,1]となる。ここでは、Tensorflow の DNNClassifier を直接呼び出します。このネットワークでは、レイヤーの数、各レイヤーのサイズ、ドロップアウト、アクティベーション関数、学習率などを設計できます。

  1. opt = tf.train.AdamOptimizer(学習率=0.01,
  2. ベータ1=0.9、
  3. beta2=0.999) #デフォルト0.001 0.9 0.999
  4.  
  5.  
  6. m = tf.contrib.learn.DNNClassifier(model_dir=model_dir,
  7. feature_columns=ディープ列、
  8. 隠しユニット=[1024, 512, 256],
  9. オプティマイザー = opt、
  10. activation_fn=tf.nn.relu, #デフォルト 
  11. ドロップアウト=0.05)

したがって、その後に続くのは継続的なパラメータ調整のプロセスであり、もちろんこの調整にはいくつかのテクニックがあります。インターネット上にはたくさんあるので、ここですべてを挙げることはしません。

ディープラーニングチューナー

(画像出典: ディープラーニング詐欺防止ガイド)

一般的に、ディープラーニングはそれほど神秘的なものではなく、非常に効果的なツールです。パーソナライズされた推奨事項については、多くのチームによる多くの試みがあったに違いありません。ここでは、Tensorflow に基づくシンプルで効果的な実装を提供し、ディープラーニングを試してみたいチームの役に立つことを願っています。

[[205391]]

オリジナルリンク: https://cloud.tencent.com/community/article/603674

著者: スー・ボラン

[この記事は51CTOコラムニスト「テンセントクラウドテクノロジーコミュニティ」によるオリジナル記事です。転載の許可を得るには51CTOを通じて原作者に連絡してください]

この著者の他の記事を読むにはここをクリックしてください

<<:  マイクロソフト CEO ナデラ氏へのインタビュー: 人工知能の全体的な方向性と将来はどのようなものでしょうか?

>>:  [私はジャービスです]: FaceIDの背後にあるディープラーニング視覚アルゴリズムについて語る

ブログ    
ブログ    

推薦する

...

プログラマーに必要ないくつかの一般的なソートおよび検索アルゴリズムの概要

序文最近、アルゴリズムの基礎を固めるために、アルゴリズムの本にある基本的なアルゴリズムをもう一度見直...

人工知能はそれほど信頼できるものではない。システムは「知らないことを知らない」し、アルゴリズムは安全ではない。

[[419993]]文/陳潔人工知能技術は、画像分析から自然言語理解、科学分野に至るまで、現在の科...

2021年に機械学習を始めるためのガイド

この質問は、機械学習コミュニティのソーシャル メディアでよく聞かれます。機械学習を始めるにはどうすれ...

...

自動運転車を壁に衝突させ、他人の顔を使って代金を支払う:最新のAIの抜け穴が私たちの目を覚まさせる

かつて専門家が懸念していたAIアルゴリズムの抜け穴は起こり得るし、予想もしなかった抜け穴さえも起こり...

...

美団総合ビジネス推奨システムの品質モデルと実践

著者: Yong Hao Gen Gen、Wang Xin など1 はじめに美団の総合店内事業(以下...

IDCの予測: 今年のAI市場規模は1565億ドルに達し、前年比12.3%増となる

市場調査会社IDCは、2020年の世界の人工知能市場の規模は2019年に比べて12.3%増加すると予...

ソースディレクトリ内のファイルをプレフィックスに応じて異なるディレクトリに分散するためのアルゴリズム設計と C コードの実装

1. 要件の説明Linux システムのソース ディレクトリには、同じサフィックスを持つファイルがいく...

TensorFlow2 を使用してアラビア語の手書き文字データセットを認識する方法を説明します

[[405478]]このチュートリアルでは、TensorFlow (Keras API) を使用して...

AI分野におけるNVIDIA NeMoフレームワークの包括的な応用と利点の概要

1. NeMoフレームワークの紹介NVIDIA NeMo は、PyTorch と PyTorch L...

...

コンテストを利用して学習を促進し、エコシステムを共同で構築し、人工知能を普及させましょう。

[元記事は51CTO.comより] 2021年7月12日、上海紫竹コートヤードホテルで、神府改革革...

AI時代のネイティブ:3歳でパズルを作り、5歳でプログラミングを学ぶ

[[241540]] 2018年世界ロボットコンテストで、子どもたちがロボットのプログラミングと制御...