KDD 2016勉強会 Deep crossing
Transcript of KDD 2016勉強会 Deep crossing
Deep crossing: Web-scale modeling without
manually crafted combinational features
リクルートテクノロジーズ 坪坂正志
2Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
論文概要
• Web 検索連動広告のクリック予測などのタスクにおいて、人手による組み合わせ特徴量がよく用いられる• 例えば広告のマッチングタイプ クエリなど✖
• 本論文では組み合わせ特徴量を用いず、組み合わせの部分は多層のニューラルネットで自動で学習する方法を提案する
3Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
ニューラルネットワークの構造
• 提案しているニューラルネットワークは Feature のEmbedding Layer と多層の Residual Units から構成される
4Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
Residual Unit
• 通常の Neural network が左の入力に対して非線形な操作をかけていったときに求めたい出力 H(x) を学習するのに対して、 Residual net は H(x) と x の差分 F(x) を学習する
• これによって最適な関数が identity に近い時に微小な変化を学習するような関数を学習することができる
5Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
CNTK によるソースコード
6Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
参考 Tensowflow による Residual Unit のコード
7Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
Embedding Layer
• 広告のキャンペーン ID やユーザが訪問した URL のような特徴量は1-of-k 表現した際に通常何百万次元となる
• これを Residual net の入力とすると大量のパラメータを学習する必要が出てくるため、入力層を低次元に Embed する Layer を導入する
8Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
Stacking + Network architecture
• 下図のようにクエリ、広告キーワードなどをEmbedding した Layer を一つにつなげ、その先は多層の Residual Unit を結合したものを使って学習を行う
9Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
Early crossing vs Late crossing
• Web による同様の研究としては DSSM というクエリと広告のマッチングでクエリの表現と広告の表現を深層学習で学習するという手法は存在した• があとで実験するように Deep crossing の方が精度が高い
10Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
実験データ
11Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
パフォーマンスの比較 ( テキスト情報のみ )
• テキスト情報のみを利用した場合でも Deep Crossing の方がDSSM よりも相対的に精度が高い
12Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
パフォーマンス比較 ( 全情報 )
• 全情報を利用した場合は Deep Crossing の方がProduction よりも高い精度となった
13Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
まとめ
• データからドメイン知識を使わずに Deep Learning から自動でクリックを予測する仕組みを提案した
• 大量のデータと大量の計算資源を使うことによって、 Production よりも高い性能を達成した