連載
» 2019年02月08日 05時00分 公開

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

昨今、多くのサービスに使われ、注目を浴びる「機械学習」。しかし、機械学習にはさまざまな学習方法が存在する。今回は、学習方法を比較しつつ、「強化学習」の概要を紹介する。

[蓑田和麻,リクルートテクノロジーズ]

 昨今、多くのサービスに使われるようになり、注目されている「機械学習」。その中の一つである「Deep Learning」(深層学習)は、ちまたでは「AI」(人工知能)と呼ばれ、慣れ親しまれています。言葉自体も、世の中にだいぶ浸透してきたのではないでしょうか。しかし、機械学習の学習方法は、数多く存在するためか、なじみのないものも多くあります。

 本連載は、数多くある学習方法の中から「強化学習」にフォーカスを当て、「強化学習とは何なのか」「他の手法とどう違うのか」「Pythonからの利用方法」という基本的な内容を押さえつつ、「Webのアクセスログにおいて、どのような活用の可能性があるのか」を紹介します。

 連載1回目では、「強化学習とは一体何なのか」「強化学習のメリット」「他の学習方法との違い」「効率的に進めるための有用なフレームワーク」「何が実現できるのか」について紹介します。

リクルートテクノロジーズが強化学習に取り組む意味

 筆者が所属しているリクルートテクノロジーズ データテクノロジーラボ部では、データ解析に用いる機械学習のアルゴリズム、データ解析用のインフラ、IoT(Internet of Things)をはじめとするデータにまつわる技術を「データテクノロジー」と総称し、この技術を実際のリクルートのサービスに実装しています。その中で、データテクノロジーの最新動向や研究を調査し、PoC(概念実証)を回すというR&D(研究開発)業務を担うこともあります。その一環で約1年半前から強化学習に注目し、試行錯誤を重ねてきました。

 約1年半前から研究かいわいでは強化学習ブームがあったものの、ビジネスでの活用例は、あまりありません。現在は、ロボット制御やデータセンターにおける消費電力の削減などビジネスで少しずつ利用されるシーンが増えましたが、リクルートのメイン事業であるWebサービス分野ではほとんど活用されていない状況です。

 一方、学習方法の一つである「教師あり学習」は、Webサービスのレコメンドや一覧アイテムの並び替えなどCV(コンバージョン)に直結する施策に、少しずつ活用され始めました。しかし、Webサービスでは、それ以外にもユーザーを引きつけるコンテンツは数多く存在します。それらをユーザー個々に最適化していくことで、よりユーザー一人一人に寄り添ったWebサービスを提供できると考えました。そこで、データテクノロジーラボ部が進めてきたのが、強化学習のR&Dでした。

強化学習と他の学習方法との違い、メリット

 まず機械学習は、上図にあるように大きく、「教師あり学習」「教師なし学習」「強化学習」に分類できます。

 教師あり学習は、一般的になじみがある画像分類、テキストのポジティブ/ネガティブ分類、売り上げ予測などに使われています。予測元となるデータ(説明変数)と、予測したいラベルや値(目的変数)の対を学習させる手法です。その学んだ結果を基に、未知のデータに対して目的変数を予測できます(詳しくは、こちらを参照)。

 教師なし学習は、上記で言う目的変数が与えられず、説明変数のみが与えられる手法です。データを大きな塊群に分けるクラスタリングで有名です。

 それに対して強化学習は、「人間がHow(どのように)を教えなくても問題の解決策を見いだせる手法」といわれています。例えば、ゴールするために、各状況で走る、飛ぶ、攻撃するというアクションを選べるゲームがあるとします。

 人間はゴールするために、試行錯誤しながら、「目の前に障害がある状況では飛ぶアクションをした方がいい」「敵がいる状況では攻撃した方がいい」などと自然と学習するはずです。このメカニズムを機械(コンピュータ)で再現するのが、強化学習です。

 つまり、強化学習は「最終的なゴールはあるものの、それまでの過程の正解は定義できない(分からない)。途中過程を最適にしたい」というタスクが解けるようになります。このタスクを教師あり学習で解こうとすると、プロセスに人間が正解と思われるラベルを付与しなければなりません。この行為は人間のバイアスが掛かってしまい、誤った(最適ではない)プロセスに導いてしまう可能性があります。

 強化学習は教師あり学習とは違い、報酬設計が自由自在になったり、「探索」と言って今まで得られている最適なアクションとはあえて異なるアクションを行ってみて、より最適なアクションはないか探る仕組みの導入が可能になったりするメリットがあります。

 途中プロセスを最適化したいタスクは世の中にたくさんあり、例えば、ロボット制御や、リバーシ、将棋、囲碁のようなボードゲームが挙げられます。2016年3月に囲碁のトップ棋士に勝利したDeep mindの「Alpha Go」も強化学習が使用されています。囲碁の場合、最終的なゴールは勝利ですが、それに至るまでの過程は盤面により変幻自在です。長い歴史の中で良手や悪手など途中過程が研究されてきていますが、それも確実とはいえません。このような場合に、強化学習は盤面という状態に応じて、将来の得られる報酬が1番高い(勝利可能性が高い)一手(アクション)を導けるようになります。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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