マリオもAIでクリアする時代に!?AIの一つの技術【深層強化学習】とは?
強い者、賢い者が生き残るのではない。変化できる者が生き残るのだ。
(チャールズ・ダーウィン 1809 - 1882)
AIが碁のプロを倒した話はご存知だろうか?
AIはすでに人間に勝てるレベルに到達してきている。
AI vs 人間はすでに多くの局面でなされてきた。例えばAI企業DeepMindの開発した囲碁AI「AlphaGo」は、囲碁の世界タイトルを20回近く獲得し、2000年以降最強の棋士の1人とも評される「韓国棋界の魔王」と呼ばれたイ・セドル棋士を5番勝負で対局し、4-1で敗北へと追い込みました。
最近ではスーパーマリオをAIがクリアする、なんていうのも出てきてまして、いよいよ人間のやることがAIの領域にどんどん入ってきています。
AIには得意なもの、苦手なものそれぞれありますが、まずそもそもAIとは何か、を改めて学んでいきましょう。
そもそもAIとは「人工知能」
AI【Artificial Intelligence】:人工的に作られた知能を持つコンピュータシステムやソフトウェア
という定義でAIという言葉自体は世に出回っていますが、なにかあればAIといえば片づけられることもあり、あまり狭義的にAIを理解している方はそこまで多くない印象です。(特にあまり詳しくないおじさま方に「AI」と呼ぶと凄そう感を勝手に感じる方々も多いです。)
「どのようなコンピュータやソフトウェアをAIと呼ぶのか」は、企業によって定義が大きく異なります。結論から言うと、「過去のデータを基に自律的に計算・分析を行うプログラム」という認識で良いでしょう。
従来のコンピュータとの違いは、状況に応じて人間と同じような判断と対応を適切に行うことができます。従来のコンピュータは事前のプログラムで「値が1以上ならばAの行動」、「0ならばBの行動」、「それ以外ならばCの行動」というように、事前に設定されたプログラム通りの動作しか実行できません。つまり人間が事前に想定できる以外のことはしないのが大きな違いになります。AIのあるコンピュータは自ら考え、学習をしていきます。
そんなAIの中にも、かなり多くの種類があります。
将棋やマリオでのAI技術「機械学習」
これら多くのAI技術があるなかで、将棋やマリオなどで使用されている技術が「機械学習」の「深層強化学習」というものになります。深層強化学習については後ほど触れるとして、機械学習とは特定のタスクをトレーニングにより実行できるものになります。
んー。何やら難しいですね。タスクをトレーニング?というといまいちイメージがつきませんが、もう少しかみ砕くと
①機械学習は、データから”特徴”をつかみ”法則化”する
②機械学習は、法則を使用し"最適解"を算出する
となります。①の特徴から法則化については、ビックデータのような膨大なデータを学習させることで法則を見つけ出すことができます。これにより、今までみつけられなかった法則が見つかることで未来を予見することができます。
さらには②で法則を使用し、最適解を事前に想定することができるため先行して意思決定・行動を行うことができます。
よくある経験者の勘などに頼っていたところを、データに基づく最適解を自動で出すことができるようになります。
機械学習については、それとなくイメージできたでしょうか。
機械学習では、データによる学習かスコア評価による学習
「深層強化学習」に触れる前にもう少し「機械学習」の中身について触れておきます。機械学習には、3つの学習方法があります。
教師あり/なし学習
教師あり学習では、コンピューターに「入力」と「正しい出力」が紐づいた学習データを与え、ある入力を受けたときに正しい出力を返せるアルゴリズムを構築する学習方法です。
たとえば、住宅価格を予測するアルゴリズムが挙げられます。この場合、ある家の広さや立地、駅からの距離などを「入力」、その家の価格を「正しい出力」として紐づけて学習させます。これにより、ある家の周辺条件を入力すると適正な住宅価格を推測してくれるアルゴリズムが構築されます。これは最初に学習させるデータに「要素」と「答え」があり、その関係性を学び法則を導き出した上で、他の「要素」を入れた時に「答え」を知ることができます。
一方、教師なし学習では、コンピューターには「入力」データのみを与え、データの中に内在するパターンなどをコンピューターが独自で抽出します。
例のひとつとして、あるスーパーに来店する顧客の購買データを元に、顧客をいくつかのグループに分けるアルゴリズムが挙げられます。購入商品や来店時間などの購買データが入力となり、コンピューターが独自に類似する購買行動を抽出し、顧客グループを出力します。この出力は事前に人が定めたものではありません。
つまり、入力するデータ自体に人が定めた答えを持っている/いないが分かれ目になります。
強化学習
コンピューターは「環境」の中で、事前に設定された「報酬(スコア)」を最大化するための行動を学習します。
代表例として、ロボットの歩行制御が挙げられます。この場合はロボットに「歩けた距離」を報酬として与えます。するとロボットは、歩行距離を最大化するために、自らさまざまな歩き方を試行錯誤します。そうすることで、歩行可能距離の長いアルゴリズムが構築されます。これにより最も長く歩けるロボットの動作を算出するAIアルゴリズムが学習の結果出来上がります。
AI開発をより容易にした技術「深層強化学習」
さらに強化学習の中で、AIを有名にした技術が「深層学習(ディープラーニング)」です。ディープラーニングは機械学習の一手法であり、2012年に世界的な画像認識AIのコンペティションである「ILSVRC」にて、カナダ・トロント大学のジェフェリー・ヒントン教授らが開発した、ディープラーニング技術を用いた画像認識AIが圧倒的な勝利を収め、現在の人工知能ブームの火付け役となりました。
従来の機械学習とディープラーニングの違いは、人間による「特徴量抽出」が必要か否か、という点にあります。
特徴量、というと難しそうに聞こえますが、学習データのどの部分が、出力にどれ位の影響を与えているかを示す「特徴量」を、人間が自ら調整する「特徴量抽出」を経た上で、機械学習で予測モデルを従来は構築していました。
一方でディープラーニングでは、コンピューターが自ら学習データから特徴量を抽出し、予測モデルを構築できる「表現学習」が可能です。これにより人間が介在して特徴量設計を行う必要がなくなり、以前よりはるかに容易に機械学習を行うことができるようになりました。
そのディープラーニングの登場は、強化学習にも大きな技術的進展をもたらしました。ディープラーニングを強化学習に応用した学習手法は「深層強化学習(Deep Reinforcement Learning)」と呼ばれます。
つまり、人間が調整することなく自ら学習が可能となったのが深層強化学習になります。今まで以上により簡単にAI学習をさせることが可能となり、さらにはより実用的な範囲へ展開をすることが可能となりました。
深層強化学習では数値のある全てが導入対象に
AIにおける技術が進展し、極端な話数値で表現出来る世界であればAI化することが可能です。
ただし、既存手法が確立している領域ではまだまだAIが弱い領域もあるため、入りきれていないのが事実です。
また、AIではログがないため過去を振り返ると「なぜその答えになったのか」が不明瞭でブラックボックスになります。そうなるとどの領域においても出された答えが最適であるか、というチェックが必要になります。
AIを信じ切らず、AIを上手く使いこなすことが次の時代を切り開く一歩かもしれませんね。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?