"Q学習"は、ある"環境"の中を自分の代わりに"エージェント(代理人)"が動き回るというコンピュータシミュレーションを行うことで最善の行動を学習するという学習手法です。具体的には、"エージェント"がある"状況"において"環境"からもらえる"報酬"が最大となる様な"行動"をトライ&エラーを繰り返しながら学習します。
この説明では分かりにくいので、例えば前のページで例として挙げた遊園地にある迷路を脱出する問題を考えてみましょう。自分が迷路の中に入って迷いながら出口を見つけるのはとても疲れて大変です。もちろん遊園地から地図をもらえば問題は解決するのですが、それでは全く面白くありませんね。そこで自分の代わりにロボットに出口を見つけてもらうことにします。
さてロボットが入り口から入って迷路をしばらく進むと右と左に道が分岐していました。最初の分岐点に関する情報は何も無いのでロボットは適当に左を選択しますが行き止まりにぶつかってしまいます。そこでロボットは「最初の分岐点で左に進むと行き止まり」ということを学習し、入り口に戻って最初からやり直します。最初の分岐点で右に進んでしばらく進むとまた右と左に道が分岐していました。でも2番目の分岐点に関する情報は無いのでやはり適当に方向を選択して進んでみることにしました・・・
という様なトライ&エラーを繰り返しながらロボットは出口までの道のりを調べていく訳ですが、今回の例では
環境 = 迷路
エージェント = ロボット
状況 = 分岐点
行動 = 方向を選んで移動する
報酬 = 移動した際にもらえる得点(マイナスならペナルティ)
となります。なお報酬の決め方には特にルールは無いのですが、例えば
ルール1: 行き止まりにぶつかったら -100 点
ルール2: 出口にたどり着いたら +100 点
などとすると良いかもしれません。するとロボットはトライ&エラーを繰り返しながら分岐点で報酬がたくさんもらえる方向を選択するように学習していきます。