人工知能に関する断創録

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

不完全知覚問題

今週は不完全知覚についてやった。不完全知覚問題とは、エージェントの知覚が不十分であるため、異なる状態を同じ状態と判断してしまう問題である。例を挙げる。

f:id:aidiary:20121224142315p:plain

このような単純な迷路の環境を考える。Sはスタート地点、Gはゴール地点。従来の強化学習では全ての状態を区別して知覚することを仮定していた(前に作った迷路もそう)。しかし、ここではエージェントの知覚できる範囲は周囲8マスと制限する。すなわち環境を不完全にしか知ることができなくしてしまう。こうすると不完全知覚が発生する。

例えば、○の状態にいるエージェントが知覚できる状態は、周囲8マスなので、

f:id:aidiary:20121224142018p:plain

である。一方、×の状態にいるエージェントが知覚できる状態も、

f:id:aidiary:20121224142018p:plain

となる。○と×という本来は異なる状態なのに、知覚が不十分なため同じ状態と見なしてしまうことになる(全体が知覚できる場合はもちろん区別できる)。これが不完全知覚問題である。

この問題は次のような事態を引き起こす。強化学習の目的は各状態(迷路では今いる位置)において取るべき行動(迷路では上、下、右、左に進む)を決定することである。○の位置で取るべき行動は、ゴールに近づくために「右に進む」である。よって、エージェントは○で右に進むことを学習する。

そのままどんどん学習していって×まで来たとしよう。ここでエージェントは知覚が不十分なため×を○と勘違いしてしまう。そのため、○で学習した「右へ進む」を×でも実行し、☆に戻ってしまう。後は、×と☆を行ったり来たりするだけでゴールにたどりつくことはできない(実際には、探査のためにランダム行動をとるのでGに行き着ける確率は多少ある)。

このような不完全知覚を引き起こすクラスを部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)という。実用的な問題のほとんどがPOMDPであり、不完全知覚を引き起こす。例えば、ロボット。ロボットはセンサーで環境の状態を認識するが、センサーは環境の全てを知覚することはできないし、ノイズが発生する。そのため、異なる状態を同じ状態として認識してしまい上の迷路のように目的を達成できなくなることが起こるらしい。

不完全知覚の問題は強化学習を応用する上で重要な問題であり、近年(といっても10年くらい前からあるみたいだが)盛んに研究されるようになってきている。

前に作った迷路を不完全知覚にしたとき、どれほどパフォーマンスに差ができるのか今度実験してみたい。