【初心者向け】強化学習入門

2020年06月22日

強化学習とは

強化学習とは、教師あり学習や教師なし学習に続く、機械学習の一種であり、収益(報酬の和)を最大化する方策を獲得することを目的とした手法です。株取引の予測や自然言語処理などに、強化学習は応用されることが多いです。

エージェントとエージェントが行動を加える対象である環境を考え、行動に応じて環境はエージェントに状態と報酬を返します。強化学習の課題では、マルチエージェント応用や学習時間などがあります。まずは強化学習の勉強において、抑えておきたい用語をご覧ください。

エージェントある環境で動くプレーヤー
状態エージェントが置かれている環境
行動エージェントがとる行動
収益エージェントが行動することにより、得られる評価値
方策ある状態の時、どの行動を取るべきかを示す関数。決定的に行動を決めるものと確率的に決めるものがある。
価値関数将来的に得られる収益の期待値を表す関数

 

強化学習アルゴリズム

強化学習の代表的なアルゴリズムはQ学習です。各状態sで最適な行動aを与える関数を求める代わりに、各状態sで各行動aでこの先どの程度の報酬がトータルでもらえるのかを求め、報酬が最大になるものを求めることで、各状態で最適な関数を求めようとする方法です。

また、方策勾配法という、方策をあるパラメタで表される関数とし、そのパラメタを学習することで、直接方策を学習していくアプローチもあります。方策勾配法の利点は、メモリを消費する手法が不必要なところと、連続空間における行動を扱いやすくなるところでしょう。確率的な方策を扱う場合と、確定的な方策を扱い場合と、両方あります。

実際に触ってみる方は、Open AI gymというAIプラットフォームで、自分が制作した強化学習アルゴリズムを試験できります。

 

深層強化学習とは

最後に、深層強化学習について少し紹介させて頂きます。行動価値観数をディープニューラルネットワークで近似計算して行う、強化学習の一種です。Q学習の行動価値関数をニューラルネットワークで置き換えたものである「DQN (Deep Q-Network)」がよく用いられます。

 

強化学習の参考書

強化学習について詳しく学びたい方には、以下の参考書をおすすめします。

 

強化学習 (機械学習プロフェッショナルシリーズ)

強化学習で必要な数理を幅広くカバーしています。ベルマン方程式の定式化、マルコフ決定過程・方策勾配法、分布強化学習、深層強化学習、など。

 

Pythonで学ぶ強化学習

Pythonプログラミングとともに、強化学習を初心者向けに解説しています。強化学習の弱点から克服方法まで詳しく紹介。

 

本記事を気に入って頂けた方は、併せてこちらもご一読ください。

AIの最新ニュースをいち早くお届け!

メディア掲載結果

AI・機械学習の最新情報を配信中

Lionbridge AIのブログで紹介している事例記事やトレンドニュースといったビジネスに役立つ情報はもちろん、オープンデータセット集なども合わせてメール配信しております。