AIとその周辺に存在するキーワードを解説

テクノロジー業界では日々様々な用語が生まれています。今一番ホットなキーワードはAIではないでしょうか。Googleの開発したAlpha Goが世界一の棋士に勝ったとか、ダイムラーが自動運転レベル4の駐車システムを稼働したといった具合です。

そして同時に良く聞かれるのが「機械学習」「ディープラーニング」「強化学習」といったキーワードです。これらの用語、何が違うのか分かるでしょうか。この記事ではそれぞれの違いについて、解説していきます。

AI(人工知能)は全体の取り組みを指し示す

AIというのは「機械学習」「ディープラーニング」「強化学習」などを含んだ用語といえます。人工知能というだけあって、コンピュータで人間と同等の知能を実現させようという取り組みです。

ここ数年のAIブームは実は三回目です。すでに過去二回、AIブームが来ています。第一回目は1956年から、二回目は1980年頃の話です(via 人工知能の歴史 – Wikipedia)。いずれの場合もコンピュータの計算能力が足りなかったり、扱うデータ量が大きくなかったために限定的な利用に限られていたようです。その結果、膨らみすぎた期待に応えられず、いずれも研究が縮小しています。

第三回目のAIブームがこれまでと異なるのは、実際にサービスや製品として私たちの目や手に触れられるものが出てきていることでしょう。研究分野で実験的に行われている範疇を超えて、サービス(場合によってはスマートフォンのアプリ)として登場しています。これはコンピュータが広くあまねく個人の手に渡っていること、コンピュータがムーアの法則によってリソースが年々向上していること、ネットワークが高速化することでサーバ側で処理できる量が増えたことなどがあげられます。

機械学習はパターンと推論によって答えを導き出す

機械学習は大量のデータをグルーピングし、その特徴点を導き出すことで新しいデータに対する答えを導き出すアルゴリズムです。例えば手書き文字、写真に何が写っているのか判断する際に、通常のプログラミングでは少しでも対象になるデータの状態が変化すると正しく判別できませんでした。これはコンピュータ上で扱われるテキストや数字よりも、写真や動画などちょっとしたことで変化しやすいデータを扱う上で問題でした。テキストにおいても日本語のちょっとしたニュアンスの違いを網羅するのは従来のプログラミングでは困難だったと言えます。

機械学習では大量のサンプルデータをもとに分析を行い、その特徴点を抽出します。そしてその特徴点を抽出するアルゴリズムを新しいデータに対しても実行し、分類することができます。機械学習は検索エンジン、写真のタグ付け、金融市場の予測、天気予報、ゲーム戦略、スパム判定など様々な分野で利用されています。

ディープラーニングは多層ニューラルネットワークを意味する

人の脳と似た構造をコンピュータ上で構築するのがニューラルネットワークです。ディープラーニングはこのニューラルネットワークを多層(4〜5層以上)重ねた機械学習手法になります。

このディープラーニングの基本形とも言えるネットワークモデルは日々新しいものが開発されています。畳み込みニューラルネットワーク、スタックドオートエンコーダ、GANs(敵対的生成ネットワーク)、ボルツマンマシン、回帰型ニューラルネットワークなどが有名です(via ディープラーニング – Wikipedia)。こうしたニューラルネットワークのモデルを学ぶことで、自分たちの実現したいことに合わせたディープラーニングモデルを開発できます。

強化学習

強化学習も機械学習の一種です。何も情報がない状態から、ある状態になると報酬が手に入るように設計し、繰り返し学習を行います。その結果、最も報酬が高くなるような行動を取るようになります。迷路の回答を学習させたり、ゲームをクリアするといったテーマに対して有効です。これまでの概念を壊すような移動法が生み出されたりします。

強化学習の一例です。

まとめ

AIというと範囲が広く、何やら凄いものに感じてしまいますが、大量の学習データをもとに、特徴点を抽出してアルゴリズムを生成するというのが基本です。カメラの映像から人を検出したり、手書き文字を判定したりするのも同様です。これまでのプログラミングと異なるのは、そのアルゴリズムをコードで書くのではなく、学習によって導き出すという点でしょう。その結果、プログラミングではとても書けない、ブラックボックスなアルゴリズムができあがります。

従来のプログラミングでは難しかった課題もAIによって解決できる可能性があります。皆さんの身の回りでも探してみてはいかがでしょうか。

実際にAI(機械学習)を使ったサービスを作りたいと思った際にはこちらも検討してください。

http://camp.isaax.io/ja/ai-kit

]]>

上部へスクロール