AI-MASTER WIKI

強化学習

機械学習について

強化学習とはエージェントが現在の環境と状態を見て自力で判断し行動する機械学習のモデルです. また, 学習フェーズではエージェントが行動に対してフィードバックされた報酬から判断し, 報酬を最も高く得るには今後どのような行動をしていけばよいかを学習します.

これでは何を言っているかわからないと思いますので単純に言えば、がむしゃらに行動していいことや悪いことを経験し、自力でどんどん賢くなるアルゴリズムのことです。 では具体例を用いて説明します.

例題
子供が母親におつかいをたのまれす。子供はどのお店へ買い物へ行くか。
問題設定
・子供が知らない街で買い物をし、どこのお店の常連になるか
・最初は子供はお店の情報を知らないので適当なお店を選ぶ


各町のお店の特徴
  
南陽市
・スーパー: よく道に迷う
・コンビニ: とくになにもなし
・個人商店: お店にいるペットがかわいい

米沢市
・スーパー: 試食ができる。 いろいろ遊べる。
・コンビニ: 店員さんにたまに怒られる
・個人商店: とくになにもない

長井市
・スーパー: 遠くて移動に疲れる
・コンビニ: 店員さんがかわいがってくれる
・個人商店: 買い物に行ったときにお菓子をくれる

この時のエージェントと環境と行動, 報酬となるものは何かと言いますと

エージェント: 子供
環境: 現在いる町
行動: どのお店へ行くか
報酬: 嬉しい経験をする(プラスの報酬), 嫌なことを経験する(マイナスの報酬)

と定義することが出来ます。

さて、子供は最初はお店のことを全く知らないのでどこのお店へ行くか適当に選びます。 それぞれお店へ行ったときに嬉しいことや嫌なことをどんどん経験していきどこのお店の常連さんになるかが決まっていきます。

例えば南陽市では個人商店の常連になり, 米沢市ではスーパーの常連に, 長井市ではコンビニと個人商店の常連になります。 このように, 子供がそれぞれの町でどのお店の常連になるかはその時の行動での経験をもとに決まっていき、嬉しい経験が多いお店を選ぶようになっていきます。

すなわちエージェントは報酬が最も高く得られる行動を学習していき, 過去にいいことを経験しているならそのような場面をもっと望むようになり, 過去に嫌なことを経験しているならそのような場面は避けるようになります。

つまり強化学習とは、自身の経験をもとにそのときの場面々々で適切な行動するということと、自分の行った行動が良かったことなのか悪かったことなのかを自力で学習するという二つのことを組み合わせた機械学習のアルゴリズムであると言えます。

なお余談として人間の脳内には報酬回路とよばれるものがあり, いいことと悪いことを学習して行動を行うという働きがあるそうです。