強化学習とは?
強化学習とは、
です。
ある環境にエージェントを置き、エージェントが選択した行動に対して、環境からエージェントにプラスまたはマイナスの報酬を与えて学習していきます。
エージェントがもらう報酬の合計を最大とすることが、学習のゴールとなります。
囲碁を例として強化学習を考えてみましょう。
エージェントは打ち手(自分)で、環境は盤面です。
まず、エージェントは今の環境を把握して、行動を選択(石を置く場所を決めて打つ)します。
次に、先程打った手の良し悪しに応じて報酬をもらいます。
相手が石を置き、環境が変わるので新しい環境でまた行動を選択していくというフローとなります。
こうして囲碁の試合が終わるまで続け、最終的な報酬の合計が多くなるように学習を進めていく手法です。
強化学習は、達成したい目標は決まっているがどうやったら良いかやり方(how)がわからないタイプのタスクの解決に利用できます。
例えば囲碁です。
最終的に相手に勝つことが目的ですが、どういう手を打つと勝てるか説明するのは難しいと思います。
このようなタスクに有効な手法のため、強化学習は囲碁や将棋などゲームAIやロボットの制御などの分野に応用されています。
強化学習で使われる用語
強化学習では、課題をモデル化することが必要になります。
モデル化する際に前提としている考え方がマルコフ決定過程です。
マルコフ決定過程を使う際に出てくる強化学習特有の用語について整理していきます。
他の学習方法との違い
強化学習以外にも機械学習の種類は教師あり学習と教師なし学習があります。
入力データ (質問) | 出力に関するデータ (答え) | 利用例 | |
---|---|---|---|
教師あり学習 | 〇 与えられる | 〇 与えられる | ・画像認識 ・音声認識 ・翻訳 |
教師なし学習 | 〇 与えられる | × 与えられない | ・重要な情報の抽出 ・データ分析 |
強化学習 | 〇 与えられる | △ 明確な答えは与えられないが、 報酬が与えられる | ・将棋/囲碁 ・自動運転 |
強化学習と教師あり学習の違い
強化学習には教師がいないことが、教師あり学習との大きな違いです。
また、強化学習では自動運転のように、その瞬間でのアクション(ハンドルを切るなど)の答えが明確に正解かどうか判断できない問題を解き、
教師あり学習では写真に写っているのが犬か猫か見分けると言った正解の明確なタスクを解きます。
そのため、強化学習では目的に対してどうやったらよいか(how)が分からない問題を解く際に利用しますが、教師あり学習 には明確な答えのある課題を解きます。
まとめ
強化学習とは、問題の答えを与えずに機械が試行錯誤することで学習する方法です。
ある環境にエージェントを置き、エージェントが選択した行動に対して、環境からエージェントにプラスまたはマイナスの報酬を与えて学習していきます。
強化学習は、達成したい目標は決まっているがどうやったら良いかやり方(how)がわからないタイプのタスクの解決に利用できます。