Deep Learning全盛の現代、画像認識から始まり最近は自然言語処理領域の発展がすごいですよね。(ChatGPTとか凄すぎ・・・)
そんな中、ちょっと影が薄めの強化学習という分野があります。
個人的にはまさにAIと感じる手法ですが、実応用がまだまだ進んでいない分野なので勉強するには狙い目なんじゃないかなと思ってたりします。
前置きが長くなりましたが、強化学習について概要を説明していきたいと思います。
強化学習の概要
強化学習は機械学習の1分野になります。
機械学習の分野分けのやり方はいくつかあると思いますが、以下のような分類がされたりします。
今日の主題は強化学習なので教師あり学習と教師なし学習については割愛しますが、それら2つとは異なる手法だということだけ覚えておいて下さい。
犬くん、強化学習により待てを覚える
強化学習は犬が餌を貰うために、待てを覚える学習手順とよく似ています。
犬が待てを覚える流れは以下のようになっていると思われます。
犬くん。ご飯だよ。待て!
主人が餌を持ってきた!ワクワク!
今日は何故か主人が手を前に出した動作をしたが、気にせず餌を食べよ。
美味しい!
犬くん。すぐ食べちゃダメだろ。こらっ。
なぜかわからないけど怒られた。悲しい・・・。
次の日
今日こそは犬くん、待てできるかな?
犬くん、ご飯だよ。待て!
また主人が餌を持ってきた!
また主人が手を前に出した動作をしている。
前に怒られたし、ちょっと食べるの待ってみるか。
犬くん、待てできてる。すごい!天才!よしよし!
なぜかわからないけど褒められた。嬉しい!!
よくわからないけど次回からも主人が手を前に出してたら食べるの待ってみるか。
このようにして無事、犬くんは待てを覚える事ができました。めでたしめでたし。
強化学習は上記の流れをアルゴリズムとして表現したものになります。
強化学習の要素
強化学習では登場人物(?)が2人いまして、それは強化学習エージェントと環境になります。
強化学習エージェントが学習をする主体となります。
強化学習エージェントは環境の状態を観測値によって知ることができます。
その上で強化学習エージェントは環境に対して、何かしらの行動を行なって、その結果変化した環境から観測値と報酬を取得します。この流れを繰り返していき、強化学習エージェントは報酬をより多く獲得出来る行動の選択の仕方を学習していきます。
ここで強化学習と犬くんの例の対応は以下のようになっています。
強化学習 | 犬くんの例 |
---|---|
強化学習エージェント | 犬くん |
環境 | 飼い主 |
行動 | 餌を食べる or 食べない |
観測値 | 飼い主の動作。手を前に出している or 出していない |
報酬 | 褒められる or 怒られる |
強化学習の学習の目的は報酬の合計を最大化する行動の選択の仕方を学ぶことになります。
犬くんの場合だとたくさん褒められるように飼い主が手を前に出していたら餌は食べない、飼い主が手を前に出していなかったら餌を食べても食べなくても良い、という行動選択を学んでいきます。
まとめ
今回は強化学習の考え方やイメージについてまとめてみました。
ざっくり強化学習について伝われば嬉しいです。
じゃあ具体的にどのようなアルゴリズムで学習が行えるのか?といった詳細についてはまた別の記事でまとめようと思います。
コメント