データサイエンティストのウマたん(@statistics1012)です。
機械学習手法の中にある3つの学習手法のうち今後多くの分野に応用されることが見込まれる「強化学習」
他の2つ「教師あり学習・教師なし学習」とは違い自分で教師を作り出し最適な解を導きだす、いわば本当の意味で人工知能に近い手法です。
自分自身、大学院時代は教師あり学習・教師なし学習ばかりを研究しており、強化学習に関してはほぼ触れたことがないのですが、非常に興味を持っています。
この記事では、そんな強化学習について簡単にまとめていきたいと思います。
詳しい記事は他にもあるので、この記事では強化学習とディープラーニングの関係性についても触れつつサワリだけ簡単にまとめておきます。
強化学習とは
強化学習自体のアルゴリズムは、古くからあり有名な手法がQ学習という手法。
簡単に言うと、
ある状態sにおいてaという行動を取った場合の報酬をQ(s,a)と定義し、Q値が最大になるような行動を取っていくというアルゴリズム
ネズミを使った心理学の実験で、
・ボタンを押すと必ずエサが出る
・ボタンを押すと不定期でエサが出る
・ボタンを押しても全くエサが出ない
とした場合ネズミの行動が変わるという例がありますが(ちなみに結果として不定期でエサが出る場合の方が頻繁にボタンを押すようになる)、これと同じように行動に対して報酬を与えてあげるだけで自動的に最適な行動を取るようになるというものが強化学習なのです。
つまりは、生命の学習行動を同じ学習経路をたどっており、強化学習は完璧な人工知能の実現には欠かせない存在なのです。
ディープラーニングとの関係性は?
ディープラーニングは強化学習の一部であると思っている人もいるようなのですが、ディープラーニング自体は強化学習ではありません。
ディープラーニングとは
まずはディープラーニングについて簡単にご説明。
ディープラーニングは深層学習と呼ばれ、ニューラルネットワークを多層にした手法です。人間の脳におけるシナプスを模倣したモデルで、アルゴリズム自体は50年以上前からあるのです。
このようにいくつかの層に分かれていて情報が伝播していくイメージです。
一番左を入力層、一番右を出力層と言います。入力層と出力層の間にある層のことを隠れ層とか中間層とか言います。層の中の青い〇をニューロンと言います。
ニューロンからニューロンに情報が渡る時、ある重みがかけられます。
その重みによって出力の値が変わってきます。
そして、最終的な出力と教師データの誤差をなるべく小さくするように重みをチューニングしていくことでモデルの精度を高めていくのです。
ニューラルネットワークは入力層・隠れ層1つ・出力層の3層からなっていました。
一方、ディープラーニングは隠れ層が2つ以上のモデルを指します。
ディープラーニングとの関係性
さて、そんなディープラーニングと強化学習の関係性はどこにあるのでしょうか?
強化学習自体は、ゲームのCPUの動きに適応されるなど既に様々な分野で実装されていました。
しかし、強化学習はそもそも学習に時間がかかるため行動パターンが複雑だと解を導くことができません。
囲碁は19×19もの数の交点があり、状態(s)と行動(a)のパターンが膨大です。
そこで登場したのがディープラーニング。
ディープラーニングとQ学習を組み合わせたDeep-Q-networkという手法をGoogleが開発し、それを基にプロ棋士をも凌駕する人工知能Alpha Goが作られたのです。
この快挙がディープラーニング=強化学習という誤った認識を生んでしまっているように感じますが、そもそもは強化学習とディープラーニングは違うものなのです。
ちなみに囲碁は19×19であるのに対してチェスと将棋は9×9。将棋は取った将棋を新たに置くことができるのでチェスより複雑。
ということで、人工知能VS人類の勝負は、チェス(1997年)、将棋(2012年ごろ)、囲碁(2016年)に人類が敗北を喫しています。
さて囲碁が破られた後は、どんなゲームが残っているのかというと・・・注目されているのはポーカー。
ポーカーは、ノーペアでもブラフを駆使することで勝利に導くことのできる心理的要素の強いゲーム。
とか言っていたらもうAIがポーカーで圧勝する世の中に・・・
強化学習 まとめ
強化学習について簡単にまとめてきました。
強化学習は今後大きな発展が見込まれる注目の分野です。
以下の記事で機械学習についてまとめています。
強化学習だけでなく教師あり学習や教師なし学習なども含めた機械学習全般を学びたい方は以下の記事を参考にしてみてください!
またデータサイエンティストになりたい方やPythonを学びたい方は以下の記事をチェックしてみてください!