強化学習について説明します!

皆さん、「AI」という単語を耳にすることが最近増えてきたのではないかと思います。しかし、その仕組みについて知りたいと感じても、「私には難しそう...」と敬遠してしまっている方も多いのではないでしょうか?

ここでは、AIの研究分野である「強化学習」について、説明していきたいと思います!

強化学習とは

強化学習(Reinforce Learning)とは機械学習の手法の一つです。

強化学習は、ある「環境」下での学習の結果に応じて「報酬」が与えられ、将来的にその「報酬」が最ももらえるような行動をするように学習させていきます。つまりまず行動をして、その結果から学習をして再び行動をしていく、ということを繰り返していきます。

もう少し詳しく理解をするために、同じ機械学習の一つである「教師あり学習」と「教師なし学習」について解説します。

・教師あり学習

教師あり学習とは、学習データに人間が予め正解を与えた状態で学習させるというものです。そのため教師あり学習を使った分類では、人間が期待する形で分類してくれます。

・教師なし学習

教師なし学習とは、学習データに正解を与えない状態で学習させるというものです。そのため教師なし学習を使った分類では、人間の固定概念にとらわれない分類をしてくれます。

強化学習では、何が正解かを事前に学習させるわけではありません。その代わりに、目標となるゴールを設定して、それを達成できるように学習します。強化学習はゴールはあるけれども道中がわからないときに使い、その点で教師あり学習や教師なし学習とは大きく異なっています。

強化学習の歴史

強化学習の原型は、機械の自律的制御を可能にする「最適制御」の研究として、1950年代には既に存在しました。1990年頃には「強化学習の生みの親」とも呼ばれるカナダ・アルバータ大学のリチャード・サットン教授らを中心に、活発に研究されていました。

強化学習から深層学習へ

古くから存在していた強化学習ですが、ディープラーニング(深層学習)と台頭に伴いブレイクスルーが生まれ、「深層強化学習」へと発展していきました。(ディープラーニング(深層学習)とは、人間の脳神経の構造を模倣して作られた「ニューラルネットワーク」を多層構造化し、学習能力を高めたものです。)

深層強化学習は名前の通り、強化学習にディープラーニングを使用したものです。ディープラーニングによる特徴の抽出と、強化学習による予測制御を組み合わせることで、ゲームAIやロボット制御といったような複雑なシステムの制御ができるようになりました。

強化学習の利用例

強化学習では、様々な場面に活用されています。ゲームAIや自動運転、ロボットの制御というように、幅広い場面で活躍しています。

特に有名なものとして、AlphaGoが上げられます。ご存じの方も多いと思いますが、AlphaGoとはGoogle傘下のDeepMindという会社によって開発された囲碁プログラムであり、深層強化学習が使われています。人間の棋譜のデータをもとに、自分自身と数千万回もの対戦を繰り返すことで、AlphaGoは世界トップ棋士にも完勝するようになりました。

囲碁は打つ手の手段が莫大にあり、感覚的なゲームであるという側面も持っているため、コンピュータでは人間を倒すことができないとさえ言われたため、AlphaGoの勝利は世界に衝撃を与えました。

弊社での取り組み

弊社では、この強化学習を機械制御による物体把持に活用しています。物体把持というと、少し難しそうに聞こえますが、具体的な活用例としましては、自動車の組み立てを自動的に行う機械の開発などが挙げられます。

他にも、お部屋の片づけロボや、人間が持てない柔らかさの物体を持つことのできるロボットなどを開発しています。

次の動画は、弊社の取り組みのほんの一部ですが、ご紹介します。

【ロボットハンドシミュレーション】

強化学習で、実際に物体をつかむシミュレーションを学習しました。

【ロボットハンド】

リモートコントロールでロボットハンドを動かす仕組みを構築しました。

この2つ組み合わせることによって、現実で動作する仕組みを構築することができます。