囲碁プロ棋士に勝ったAI「Alpha Go」で使われた、「強化学習」って何?:Web解析にも使える! 強化学習超入門(1)(2/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年リクルートホールディングスに新卒入社。リクルートテクノロジーズ配属後、データテクノロジーラボ部にてスタッフ業務効率化のためのプロダクト開発や原稿校閲のプロダクトの導入、推進業務を行いながら、機械学習技術の研究開発に従事。趣味は麻雀と人狼。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
ニューラルネットワーク、Deep Learning、Convolutional Neural Netの基礎知識と活用例、主なDeep Learningフレームワーク6選
最近注目を浴びることが多くなった「Deep Learning」と、それを用いた画像に関する施策周りの実装・事例について、リクルートグループにおける実際の開発経験を基に解説していく連載。初回は、ニューラルネットワーク、Deep Learning、Convolutional Neural Netの基礎知識と活用例、主なDeep Learningフレームワーク6選を紹介する。BFF(Backends For Frontends)超入門――Netflix、Twitter、リクルートテクノロジーズが採用する理由
マイクロサービス/API時代のフロントエンド開発に求められる技術の1つBackends For Frontends(BFF)について解説する連載。初回は「超入門」としてBFFの概要や事例を中心に紹介する。「おれたちは日本一のCSIRTになる!」――リクルートのCSIRT飲み会に潜入してみた
「サイバーセキュリティの世界において、重要な情報は全て飲み会で交換されている」、そんなウワサが本当なのかを確かめるべく、「セキュリティ飲み会」に潜入し、その実態を探る実験的企画。今回は「リクルートテクノロジーズ編」だ。