第32回 『強化学習』

皆様こんにちは,同志社大学の土屋誠司です.人工知能の第32回目の今回は,強化学習について書いてみたいと思います.

人間も生まれた時には何もできませんが,足で歩いたり,しゃべったりと,徐々にいろいろなことができるようになります.これと言って特別な訓練をしているわけではなく,知らず知らずのうちにいろいろな物事を学習していきます.このようにコンピュータを学習させる方法もあります.これを『強化学習』と呼びます.

たくさんの失敗と成功をして,失敗したときには嫌なことを,成功したときには嬉しいことを経験させることで,もっと嬉しいことを経験できるように,嬉しいことだけが手に入るように動いていくようにさせます.すると,自然にうまく学習ができているというものになります.

これは例えば,飼い犬に芸を教える方法と同じです.家に犬が初めて来たときには,「お手」と言っても何もしません.時には「お手」と言っているのに「ワン」と吠えて,飼い主に叱られます.「お手」と言われて,違うことをして叱られる.これを繰り返していると,たまたま右手(右の前足)を飼い主に出すこともあります.すると飼い主は喜んで,褒めてくれて,餌をくれたりします.すると,「もしかしたら右手を出したら餌をくれるのではないか」ということが分かり,理解して,効率よく餌を貰える行動をするようになります.

これが『強化学習』です.正しい答えを教えてくれる教師もいませんし,自分で正しい答えを調べて勉強するわけでもありません.ただただ,何かしらの行動をして,それに対して,マイナスの報酬(叱られる)かプラスの報酬(餌を貰う)が来るだけです.これより,徐々にプラスの報酬を貰える行動をとるようになるという方法です.マイナスの報酬かプラスの報酬のどちらの報酬が来るのかは,その置かれている環境(飼い主やTPOなど)によって異なります.つまり,環境が変われば,またその環境に合うように学習していくことになります.常に適切な答えを出せるというこの仕組みは素晴らしいと思います.

次の記事

チャットボット