トップページ -> Pythonで体験する強化学習

Pythonで体験する強化学習

はじめに

今回は強化学習について何回かに分けて解説します. 強化学習とは試行錯誤を行うことでよりよい行動を学習する人工知能の手法です. 乱暴な言い方をすれば普通ならば複雑な条件分岐などを用いて解くべきゲームAIやロボット制御の問題を, 人工知能のプログラムを書いてコンピュータに繰り返し問題を解かせることで勝手に問題を解決してもらおうというものです. こうして書くとなんでもできそうな気がしますが,適切にプログラムを書かないと学習が進まない 複雑すぎる問題に対しては学習が進みづらい といった欠点もあります. こうした強化学習の利点・欠点を具体例を通して体験し理解することを目標とします.

対象読者

Pythonを使って強化学習の実装を行います. 強化学習の導入的な内容となっているため深層強化学習については扱いません. 人工知能に関する知識は必要ありませんが,Pythonの基本操作やnumpyによる配列の操作やmatplotlibによるグラフの描画に関する知識を前提としています. これらに関する知識が不安な方はこちらをお読みください. 理論の解説は簡単に済ませ実際に動かしてみることを目標にしています. そのため,強化学習の理論を詳しく勉強したいという方には物足りない内容となっています. こちらの参考文献をご確認ください.

内容について

第1回はバンディットタスクを通して強化学習の仕組みを学びます. 第2回はn-1回目の行動がn回目の状態に影響を与えるような問題の例として迷路を解きます. 第3回は強化学習を用いて三目並べを行うAIを作ります. 第4回は2次元的に動く滑車の上の棒を倒さずに維持する問題を解くことで,連続的に動く位置・角度の扱い方を学びます.

おしながき

  1. 強化学習を体験しよう!~バンディットタスク~
  2. 強化学習を体験しよう! ~迷路~
  3. 強化学習を体験しよう! ~三目並べ~
  4. 強化学習を体験しよう! ~カートポール~
  5. おわりに

次へ進む ->