じゃらんnetをリアルタイムUX改善、強化学習が実現する次のWebサイトの形とは:Web解析にも使える! 強化学習超入門(3)(2/2 ページ)
Webサイトで強化学習を実装すると何を実現できるのか。リクルートの実践例を基に、使い方や失敗しないためのコツを紹介する。
サイト改善ツールとしての活用
もう一つは、UXデザイナーを対象としたサイト改善に役立つツールでの活用を検討しています。こちらの目的もUXの向上で、プロセスの学習を利用します。プロセスの学習を利用することで、今までできなかったデータドリブンなサイト改善が可能になります。
ユーザー体験を向上させるためには、上で述べたサイトの施策だけでなく、ユーザーがCVしやすい導線の設計も重要です。われわれは、この「導線の設計」を強化学習によって解決できると考えました。この問題に対しても「状態」「行動」「報酬」を定義します。
状態
ユーザーがたどってきた遷移ページです。
行動
次に遷移するページが行動に当たります。
報酬
CVページの訪問にプラスの報酬、Webサイトからの離脱にマイナスの報酬を設定しました。こちらも、CVにつながらなかった導線を低く評価する狙いです。
つまり、ユーザーがたどってきたページ遷移において、最もQ値(状態行動価値)が高い(将来的にCVしやすく、離脱しにくい)行動を学習します。また、教師あり学習では難しい「将来的な報酬を考慮したプロセスの学習」が可能です。この学習結果を使い、Q値が最も高いページへの導線(リンク)を目立たせたり、ポップアップで遷移を促したり、逆にQ値が低いページのリンクを廃止してサイトを見やすくしたりといった改善を行えます。
このUX向上というタスクに強化学習を適用するメリットはもう一つ存在します。それは強化学習が、それぞれの状態において全ての行動のQ値を算出できることを利用した「存在しない導線」の評価です。仮に現在のサイト構成では存在しない導線が最もQ値の高いものだと算出された場合は「導線を設置する」といった改善を行えます。
このようにリクルートでは、「Web×強化学習」という新たな領域に挑戦しています。
失敗しないコツ
Web分野に強化学習を適用する際、最も重要なことは「状態の定義」です。囲碁や将棋のようなボードゲームでは「盤面」そのものが現在の状態を表しており、テレビゲームも「画面」そのものが状態になります。
しかし、「Webページを訪れるユーザーの状態って?」と問われると非常に難しい問題です。われわれは、事業のドメイン知識を持ったデータサイエンティストやアナリストと協力してこの問題を解決しました。例えば「じゃらんnet」であれば、同じユーザーでも平日と休日では行動が違ったり、出張の宿と旅行の宿を探すときでは行動が違ったりする分析結果があります。
つまり「平日/休祝日フラグ」や「過去によく見ている宿のタイプ」などは「ユーザーの状態を表現する変数になりそう」という示唆を得られました。失敗しないためには、ドメイン知識を参考にしたり、事前に分析を行ったりして、適切な状態を設計することが必要です。
また強化学習は試行錯誤して、学習していきます。つまりログが一切ない状態からWeb上での施策に活用できるのです。リクルートにはすでに膨大な量の行動履歴が蓄積されているので、今回はそれらを活用し、事前に良いモデルを作成することでユーザー体験を毀損(きそん)しないような仕組みにしました。
まとめ
3回の連載を通じて、「強化学習って何?」という基礎的なことから、リクルートの実践方法までを紹介しました。今後さらに発展していくと思われる強化学習の理解を深めるきっかけや、ビジネス活用を考えている方々の参考になれば幸いです。
また、第2回ではChainerRLを用いた3目並べを紹介しましたが、最近では、各種ライブラリを用いて迷路やリバーシを題材に強化学習を実装する書籍が執筆されており、簡単に動かせます。ぜひ一度手にとって、強化学習に触れてみてはいかがでしょうか?
著者プロフィール
阿内宏武(あうちひろむ)
修士2年まで機械学習を専攻し、2016年リクルートホールディングスに新卒入社。リクルートテクノロジーズ配属後、データテクノロジーラボ部にて販促領域を対象としたビッグデータ分析/開発業務を行いながら、新技術を活用したR&Dを推進。趣味はオセロ。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 囲碁プロ棋士に勝ったAI「Alpha Go」で使われた、「強化学習」って何?
昨今、多くのサービスに使われ、注目を浴びる「機械学習」。しかし、機械学習にはさまざまな学習方法が存在する。今回は、学習方法を比較しつつ、「強化学習」の概要を紹介する。 - 【3目並べで学ぶ強化学習】Q-LearningとDQNを徹底解説
3目並べで強化学習を行うと、どうなるのだろうか。強化学習のアルゴリズムの一つである「Q-Learning」を説明しつつ、Q-LearningにDeep Learningを組み合わせた「Deep Q-Network」を使って、強化学習を実装する方法を紹介する。 - ニューラルネットワーク、Deep Learning、Convolutional Neural Netの基礎知識と活用例、主なDeep Learningフレームワーク6選
最近注目を浴びることが多くなった「Deep Learning」と、それを用いた画像に関する施策周りの実装・事例について、リクルートグループにおける実際の開発経験を基に解説していく連載。初回は、ニューラルネットワーク、Deep Learning、Convolutional Neural Netの基礎知識と活用例、主なDeep Learningフレームワーク6選を紹介する。