強化学習入門者は必読!事例や基礎知識を徹底解説!
目次
強化学習という言葉は聞いたことがあっても、実際にどのようなものか理解している人は少ないのではないでしょうか。「身近にないから分からない。」と思うかもしれませんが、実は、私たちの生活の中にも、強化学習が取り入れられています。この記事では、強化学習の基礎知識とメリット・デメリットを解説し、強化学習をするにあたってのおすすめのプラットフォームを紹介します。
なお、「DXとは何か?」について体系的にチェックしたい方は、以下の記事でxDX編集長が詳しく3万字で解説しているので、ぜひ併せてご覧ください。
▶︎[編集長が3万字で解説]DXとは?注目の背景から行政/民間/生活者への影響、活用技術、推進のポイント、最新トレンドまでを体系的に解説
強化学習についての基礎知識
強化学習について学ぶ前に、まずは知識をブラッシュアップしましょう。ここでは強化学習の基礎知識を分かりやすく解説します。
強化学習とは?基本を押さえよう
強化学習とは、機械学習の一つのこと。英語だと「Reinforcement Learning」といいます。
強化学習では、コンピューターエージェントが、動的環境と何度も試行錯誤の過程を重ね、タスクを実行していきます。この学習手法をおこなうことで、エージェントは、タスクの報酬を最大にする意思決定が可能になるのです。人間が関わることも、タスク達成のためにプログラムをする必要もありません。
強化学習は昔からある概念ですが、最近のディープラーニングや計算能力などの進歩によって、AIなどの人工知能分野で目に見える成果をもたらしています。例えば、強化学習で学ばされたAIプログラムは、人間とのビデオゲーム(囲碁やチェスなど)で、勝利することもできます。
強化学習の仕組みを徹底解説
通常の機械学習では、問題と解答が常に定められています。例えば、「○○が入れば、××が解答になる」のように、杓子定規に決められています。一方、強化学習では、「○○が入っても、状況に合わせて対応を変化させる」といったことを学習させることが可能です。
このように、強化学習はほかの機械学習と違って、システムの出力に対応しながら周りの環境が変化するようなケースも想定してくれます。試行錯誤しながら、さまざまな方法を使って完璧な行動を目指す強化学習は、人間の学習スタイルに近い手法であるといえるのです。
強化学習においては、一般的に、マルコム決定過程(MDP【Markov decision process】)を使ってアルゴリズムを解析していきます。マルコフ決定過程とは、「環境」をあらわす数理モデルのことで、方程式や状態価値関数といった数学的手法で表現します。状態(state)、行動(action)、遷移確率(transition probability)、報酬(reward)の4つで構成されており、得られる報酬を最大化するための行動を定式化していくのです。
強化学習を取り入れるメリット・デメリット
強化学習は「行動」を学習します。そのため、今人間が行っていることを代替する分野で活用されることが期待されています。
ここでは、強化学習のメリット・デメリットをまとめました。メリットを理解し、デメリットをカバーしていければ、ビジネスシーンでも取り入れやすくなるでしょう。
強化学習のメリットとは
強化学習のメリットは、難しい場面や未知なる環境への適応が期待できることでしょう。
強化学習は、学習していく過程で行動の評価方法自体を見直し、学習していきます。そのため、1回の行動に対しての評価尺度の定義が困難な問題も扱うことが可能です。 例えば、教師あり学習において、「○が描かれた画像と×が描かれた画像の分類」を行う場合、それぞれの画像を分類した結果は、実際の分類とマッチしているか間違っているかで評価できますよね。しかし、将棋の学習などで、「勝利したけど、この打ち手が本当にベストだったかどうか評価する」といったケースは非常に難しくなります。
このような評価尺度を定めるのが難しい場面や、未知の環境への適応が求められる場面に強いのが、強化学習のメリットです。
強化学習のデメリットとは
強化学習は行動の評価方法自体が学習できる反面、どのような評価方法を取るか、どのような行動を学習させるかは、実際の学習モデルに依存してしまいます。その結果、人間が理解できない、意図しないような行動を取る可能性が出てくることもあるでしょう。更に、性能を改善するために、どこまでどのように手を加えるのがベストなのかが分かりにくいというデメリットがあります。
強化学習はどう取り入れられているの?
日常生活の中で、中々身近に感じられにくい強化学習ですが、実はあらゆる場面で導入されています。
強化学習の事例を紹介
ここでは、強化学習の具体的な事例を紹介します。
・自動車の自動運転
自動車の自動運転では、強化学習が活用されています。日本の企業であるPrefferd Networks社の研究では、強化学習を使って、運転の制度を高める実験が行われています。
この技術によって、道の幅が狭く車が密集しているような危険な交差点などでも、前後左右全ての方向を見ることが可能になります。困難な場所であっても、前方向と同じく、後方向にも心配することなくかんたんに移動できるのです。
・エレベーター
エレベーターの制御システムも、実は強化学習が取り入れられています。エレベーターは、安全性だけでなく、利便性も大切ですよね。どんなに安全で豪華なエレベーターであったとしても、やたら待ち時間が長いエレベーターは、よいエレベーターとはいえません。特に、タワーマンションやショッピングビル、オフィスビルなどの、毎日たくさんの人が使用する場所にあるエレベーターは、待ち時間の短縮が求められます。
しかし、数理的な手法での割り当ては限界があります。そこで強化学習を用いれば、「朝と夕方はラッシュだ」「この時間帯は○分待ち時間が発生する」といった日々の運行履歴やデータから学習することができるので、より適切にエレベーターを稼働させることができます。
・機械の制御
ロボットなどの動作の制御で強化学習は活用できます。例えば、さまざまな種類のセンサーを搭載した産業機械や、モーター制御で動作、更新する家電も、機械自ら最適な行動を探してそれに応じて動いています。
・金融業界のAI活用
金融サービスとITが結びついたFintechと呼ばれる分野でも強化学習のAI活用が期待されています。どのような行動が最善かを学習する強化学習は、金融業界にもマッチするのです。
強化学習におすすめのプラットフォーム
強化学習を行えるプラットフォームはたくさんありますが、言語としてはPythonを使うことができれば、フレームワークを利用するだけで比較的かんたんに実装できます。ここからは、強化学習のプラットフォームを紹介します。
・ChainerRL
初心者におすすめなのは、ChainerRLというプラットフォームです。アルゴリズムも強化学習で実装されているものが多く、初心者でも比較的理解しやすいChainerと組み合わせて使えます。そのため、強化学習に慣れていない人や、初めてで不安のある人も利用しやすくなっています。
・RLlib
RLlibは実装されている多くのアルゴリズムが強化学習に実装されており、学習状況も分かりやすいプラットフォーム。ただ、強化学習がどんな形で実装されているのかが確認しづらいので、初心者よりも経験者向けになります。
・Keras―RL
アルゴリズムの実装が少ないのが特徴のKeras―RL。そのかわり、どんな形で実装されているかが可視化されています。メジャーなKerasと組み合わせることができるもポイントです。
強化学習におすすめの本
強化学習について詳しく勉強するなら、本を読むのもよいでしょう。ここでは、おすすめの本を紹介します。
・強化学習 (機械学習プロフェッショナルシリーズ) 【著者・森村 哲郎 】
強化学習で必要な数理を広くカバーした一冊。丁寧に解説してあるので、じっくり学びたい人におすすめです。強化学習の知識やマルコフ決定過程、ベルマン方程式や深層強化学習など、幅広く学べます。
・ITエンジニアのための強化学習理論入門 【著者・中井 悦司 】
理論を表現する様々な数式と、プログラミングのためのPythonコードが並列されています。理論の神髄に迫りながら、強化学習の基礎になるアルゴリズムを体系的に学ぶことが可能です。
・強化学習アルゴリズム入門: 「平均」からはじめる基礎と応用【著者・曽我部 東馬 】
難しい強化学習の原理を、「平均値の計算」という、学生でも分かりやすい観点から解説。アルゴリズムを、共通の例題を使って特徴が見えやすいように比較しています。また、PythonとMATLABの2種類のコードが配布されます。
強化学習の進化に期待
強化学習は、機械学習の中で最先端の手法です。身近なところでは家電やエレベーターといった場面で機械学習が導入されています。強化学習は膨大な試行を繰り返しながら学習しますが、それにはたくさんの時間や調整、そして制御が必要です。そのため、もっと本格的にビジネスシーンで活用されるのは、もう少し先になるかもしれません。しかし、多くの人が、強化学習のAI活用に期待をしています。今後の進化はますます見逃せないものになるでしょう。
文:xDX編集部 画像提供:Getty images