強化学習
今回は強化学習について初心者向けにまとめてこうと思います。
データサイエンスに興味がある方であれば「強化学習」というキーワードを耳にすることが多いと思います。しかし他に「機械学習」や「深層学習」というキーワードなどもあり、どのように整理すればいいか悩むこともあるのではないでしょうか。
キーワードの整理
最初に機械学習という大きな枠があります。その中身は、「教師あり学習」、「教師なし学習」そして「強化学習」という3つに分けることができます。残った「深層学習」はというと、より精度の高いモデルを探す手法でありこれ自体が1つの領域ではありません。「1回の計算だけではモデルの精度がイマイチだから膨大な層にかけて何度も計算しよう」というときに深層学習という言葉が登場します。
強化学習とは
強化学習の目的は最適な意思決定のルールを求めることです。
登場するキーワードは「エージェント」、「環境」、「行動」、「報酬」と「状態」です。「エージェント」すなわちコンピューターが「状態」の良し悪しを評価します。その評価のもと「行動」によって「環境」に変化を起こします。そのフィードバックとして「エージェント」は「報酬」を受け取ります。設定されたスタートからゴールまでそのサイクルを繰り返し、最も報酬が多く得られる意思決定のルール(行動基準や価値観と言い換えられます)を探す。このような学習を強化学習といいます。
スーパーマリオブラザーズで例えれば、「エージェント」はマリオであり「状態」はそのステージでどこにいるかです。「報酬」はコインやタイムといったところです。
興味のある方はこちらのPytorchのページを覗いてみると面白いでしょう。
https://pytorch.org/tutorials/intermediate/mario_rl_tutorial.html