人工知能に関する断創録

このブログでは人工知能のさまざまな分野について調査したことをまとめています(更新停止: 2019年12月31日)

強化学習とは何か?

強化学習とは、感覚系と運動系の連係を用いた環境との相互作用からの学習を理論化したもの。感覚系によりまわりの環境、状況を知覚し、運動系によって行動する。そこから得られた情報を使って学習する。

このような学習は私たちも通常行っていると思われる。例えば、車の運転。道がゆるやかに右方向へ曲がっている状況を知覚した。さて、どんな行動をとればいいだろう。ハンドルを左に回してみる。道から大きく外れてしまった。じゃ、右に60度くらい回してみる。右へ行ったけど、道から外れてしまった。じゃ、右に10度くらい回してみる。おっ、道に沿って行けた!このような経験を学習することによって、ハンドル操作が徐々にうまくなっていく。自転車の運転もそう。体とハンドルのバランスを何回も転びながら調節し、乗れるようになる。会話もそう。ある状況でどんな話をしたら喜ばれる(嫌がられる)という経験をもとに上達する。全て、ある状況においてある行動をとったとき、その結果から情報を得て学習するという共通点がある。

では、結果から得られる情報とは何か。それは、報酬である。強化学習では、数値化された報酬信号を最大にするために(つまり、たくさんご褒美がほしいってこと)、何をすべきかを学習する。上の車の例では、道なりに運転できたら正の報酬を与え、道からずれが大きいほど、負の報酬(=罰)を与えればよい。学習者は報酬がたくさんほしいから、何とか道なりに運転する方法を見つけようと努力するだろう。自転車の運転では、倒れなかったら正の報酬、こけたら負の報酬(罰)を与えればよい(って、現実にこけたら罰を与える教育がいいかは疑問だけど)。学習者は何とか倒れないような行動を見つけようとするだろう。会話ではどうか。相手の反応がよかったら、正の報酬、よくなかったら罰だろう。でもこれは数値化するのは難しい。

まとめ

強化学習は、報酬を最大化するために、ある状況でどんな行動をとればもっとも良いかを学習する。