マッチ箱で作るAI(強化学習)
2024/09/15
AIAIとは
AI(人工知能)は人間の知能をコンピュータ上で再現する技術で、強化学習を含む様々なアルゴリズムが提案されている。
マッチ箱で作る強化学習
強化学習は未知の環境下で試行錯誤を繰り返し、報酬の累積が最大になるような行動を探索するアルゴリズム。この記事では、マッチ箱を用いて強化学習の基本的な仕組みを解説する。
以下の図に示すようなチーズを探す簡単な問題を解くこと考える。
マッチ箱で強化学習を表現するため、分岐での選択肢の数だけマッチ箱を用意して、以下のように配置する。また、各マッチ箱の中に5本ずつマッチ棒を入れておく(下図ではマッチ箱の右上に本数を表示する)。マッチ棒の本数はその分岐を通る重みを表していて、最初はどの分岐も同じ確率で通ることを示している。
最初はどの分岐を通る確率も同じなので完全にランダムにルートを選択する。最初の探索では、チーズ1つを見つけることができた。
「+1」の報酬が得られたので、この結果を元にマッチ棒の数を修正する。報酬に近い方の分岐により大きく結果を繁栄したいので、報酬に近い方から順に「+1×2」、「+1×1」だけマッチ棒を追加する。
以降、更新されたマッチ棒の数に従って確率的に探索することにする。すなわち、次の探索では、6 : 5 : 5で上の休憩所を通る確率が一番高い。
もう一度探索すると、偶然チーズを5つ見つけることができた。
「+5」の報酬が得られたので、この結果を元にマッチ棒の数を修正する。報酬に近い方の分岐により大きく結果を繁栄したいので、報酬に近い方から順に「+5×2」、「+5×1」だけマッチ棒を追加する。
このように探索と学習を繰り返すことで、報酬が大きくなるルートが選ばれるようにマッチ棒の数が調整されていく。