囲碁プロ棋士に勝ったAI「Alpha Go」で使われた、「強化学習」って何?Web解析にも使える! 強化学習超入門(1)(2/2 ページ)

» 2019年02月08日 05時00分 公開
[蓑田和麻リクルートテクノロジーズ]
前のページへ 1|2       

リクルートの強化学習実践例

 前述したようにリクルートでは、Webのアクセスログ解析に強化学習を適用しています。リクルートの各サービスでは、ユーザーの利便性を上げるために、さまざまなコンテンツを準備していますが、ユーザー個々にとって最適な導線は異なります。

 教師あり学習だと、その時点でユーザーがCVしそうか否かは分かりますが、次にどのようなアクションをすればCVする可能性が高いかは分かりません。強化学習であれば、将来のCVを考慮した次のアクションを示唆できます。この性質を利用して、以下のような施策に取り組んでいます。

  • ユーザーがより使いやすく、迷うことを防ぐための検索軸の最適化
  • サイト導線の改善提案
  • 離脱防止、初心者向けコンテンツへの誘導

 実際の取り組みについては、第3回目で詳しく説明します。

強化学習を効率的に進めるフレームワーク

 機械学習のロジックを実装しやすいプログラミング言語は「Python」です。なぜなら数多くのライブラリとレファレンスがあるからです。強化学習も、もちろんPythonで実装可能で、便利なフレームワークが用意されています。下記が主なものです。

  • ChainerRL:Deep Learningのライブラリで有名な「Chainer」を開発している、Preferred Networkが深層強化学習用のライブラリとして近年公開したフレームワーク
  • Dopamine:Googleが2018年に公開した強化学習アルゴリズムのフレームワーク
  • TensorForce:Deep Learningのライブラリで有名な「TensorFlow」を強化学習に適応したフレームワーク
  • RLib:Pythonの分散実行ライブラリ「Ray」の中のサブパッケージであり、強化学習のアルゴリズムを搭載している

まとめ

 今回は、強化学習の概念、その他の学習方法との違い、強化学習が向いているタスクを中心に説明しました。

 2回目では、強化学習の中でも特にイメージのつきやすい「Qラーニング」、さらにQラーニングにDeep Learningを加えた「Deep Qラーニング」について解説した上で、Pythonと便利なフレームワークChainerRLによる実装方法を、3目並べという簡単な例を使って解説していきます。

著者プロフィール

蓑田和麻(みのだかずま)

大学4年から修士2年まで統計学を専攻し、2016年リクルートホールディングスに新卒入社。リクルートテクノロジーズ配属後、データテクノロジーラボ部にてスタッフ業務効率化のためのプロダクト開発や原稿校閲のプロダクトの導入、推進業務を行いながら、機械学習技術の研究開発に従事。趣味は麻雀と人狼。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。