マッチ箱で作るAI(強化学習)

2024/09/15

AI

AIとは

AI(人工知能)は人間の知能をコンピュータ上で再現する技術で、強化学習を含む様々なアルゴリズムが提案されている。

マッチ箱で作る強化学習

強化学習は未知の環境下で試行錯誤を繰り返し、報酬の累積が最大になるような行動を探索するアルゴリズム。この記事では、マッチ箱を用いて強化学習の基本的な仕組みを解説する。

以下の図に示すようなチーズを探す簡単な問題を解くこと考える。

Notion Image

マッチ箱で強化学習を表現するため、分岐での選択肢の数だけマッチ箱を用意して、以下のように配置する。また、各マッチ箱の中に5本ずつマッチ棒を入れておく(下図ではマッチ箱の右上に本数を表示する)。マッチ棒の本数はその分岐を通る重みを表していて、最初はどの分岐も同じ確率で通ることを示している。

Notion Image

最初はどの分岐を通る確率も同じなので完全にランダムにルートを選択する。最初の探索では、チーズ1つを見つけることができた。

Notion Image

「+1」の報酬が得られたので、この結果を元にマッチ棒の数を修正する。報酬に近い方の分岐により大きく結果を繁栄したいので、報酬に近い方から順に「+1×2」、「+1×1」だけマッチ棒を追加する。

Notion Image

以降、更新されたマッチ棒の数に従って確率的に探索することにする。すなわち、次の探索では、6 : 5 : 5で上の休憩所を通る確率が一番高い。

もう一度探索すると、偶然チーズを5つ見つけることができた。

Notion Image

「+5」の報酬が得られたので、この結果を元にマッチ棒の数を修正する。報酬に近い方の分岐により大きく結果を繁栄したいので、報酬に近い方から順に「+5×2」、「+5×1」だけマッチ棒を追加する。


Notion Image

このように探索と学習を繰り返すことで、報酬が大きくなるルートが選ばれるようにマッチ棒の数が調整されていく。

参考資料


著者画像

ゆうき

2018/04からITエンジニアとして活動、2021/11から独立。主な使用言語はPython, TypeScript, SAS, etc.