AI(人口知能)と一口に言っても多くの種類があります。どんなものがあるのでしょうか。
AIは色々な仕事を請け負いますから、動き方も仕事に合わせなければ正確な動作ができません。例えば、問い合わせ応答であれば正しい文章を組み立てる、自動運転であれば素早く歩行者を見つける、という全く異なる能力が必要です。
これらを実現するためにAIプログラムの種類が色々あります。
AIのプログラムは機械学習という方法を使います。機械学習には統計的機械学習とディープラーニングの2種類があります(記事参照:AIを実現するのは機械学習)。さらに、それぞれは多くの種類があります。
以下にその分類表を示します。
実は、このような網羅的な分類は書籍やネットでもあまり見かけませんので貴重です。日々研究され新しいものが生まれますし、考え方が変化しているからでしょうか。
しかし気持ちが悪い筆者は独断と偏見で分類していまいます。
機械学習の種類(詳細)
全て覚える必要はありません。なんとなくこれだけの種類があることだけ分かってもらえれば結構です。太字がよく使われるものです。
種類 | 解説 | |
統計的機械学習 | 教師あり学習 | 答えが分かっているデータを用いて学習し、新しいデータの予測を行う。 |
教師なし学習 | データの傾向を捉え、そのデータの分類や数値の予測を行う。 | |
強化学習 | 行動に点数を付けて学習することによって、その時点で最も良い行動をとる。 | |
ディープラーニング | 深層学習(DNN) | 脳神経を模したデータ処理を用いて、膨大なデータから特徴を学習する。以下全ては深層学習に含まれる。 |
畳み込みニューラルネットワーク(CNN) | 画像や音声などの情報が大きいものに対し、分割と圧縮を繰り返して特徴をとらえ識別する。 | |
畳み込みニューラルネットワーク応用 | CNNを応用して物体検出などを行う。ボックス型の検出やピクセル単位の検出がある。 | |
再帰ニューラルネットワーク(RNN) | データの順序を記憶する深層学習によって、文章の組み立てなど順序を考慮した出力ができる。 | |
オートエンコーダ | ルールに従った入力と出力を学習することによって、入力したものを思いのまま変換することができる。 | |
敵対的生成ネットワーク | 画像の生成とその評価を繰り返し、本物のように画像を作り上げる。 | |
深層強化学習 | 上記の強化学習を多層によって複雑で膨大なデータも学習できるようにしたもの。 |
それぞれ得意・不得意な仕事があります。
今世界で最も使われているのは「畳み込みニューラルネットワーク(CNN)応用」ではないでしょうか。画像から物体を検出するというニーズが最も多いからです。
また、「再帰ニューラルネットワーク(RNN)」はAIに会話させたい時に必要ですから、これもニーズが高いです。
統計的機械学習もデータ分析で用いられ、最近では災害時の数値予測などに使われています。
まずは辺りを頭に留めておくのがいいと思います。
利用シーン
それぞれの機械学習が使われる利用シーンを挙げてみました。
種類 | 主な利用シーン | |
統計的機械学習 | 教師あり学習 | 売上予測、株価予測 |
教師なし学習 | 行動パターン分析、異常検知 | |
強化学習 | ゲーム対戦 | |
ディープラーニング | 深層学習(DNN) | |
畳み込みニューラルネットワーク(CNN) | 画像認識、音声認識 | |
畳み込みニューラルネットワーク応用 | 物体検出、自動運転 | |
再帰ニューラルネットワーク(RNN) | 問合せ応答、数値予測 | |
オートエンコーダ | 画像のノイズ除去、異常検知 | |
敵対的生成ネットワーク | 医療トレーニング、絵画 | |
深層強化学習 | 自立ロボット、自動運転 |
統計的機械学習は、売上や入退場といった過去の記録を用いて将来の予測をする、分類をするといったようなことが得意です。買い物客の行動パターンを予測するなどマーケティングに使われています。
一方、ディープラーニングは、画像や音声や文章といったサイズの大きなデータを扱う時に使います。最も有名なCNNは画像に何が写っているか判別が得意ですが、自動運転には画像のどこに写っているかが必要であるため、さらに応用させたものが使われています。
とはいえ、それぞれの役割が確実に決まっている訳ではなく、複数を組み合わせて実現する場合も多いです。難易度の高い仕事ほどそういった工夫が必要になってきます。
モデル
さて、新しい言葉が出てきました。
AIを実現するのは機械学習という方法、その機械学習には多くの種類がありました。そしてさらに機械学習それぞれには複数のプログラム構造があります。これをモデルと呼んでいます。
どんなモデルがあるか見てみましょう。
種類 | 主なモデル | |
統計的機械学習 | 教師あり学習 | NaiveBays、SVM、DecisionTree、KNN |
教師なし学習 | Kmeans、Lasso | |
強化学習 | 方策勾配法、価値反復法 | |
ディープラーニング | 深層学習(DNN) | |
畳み込みニューラルネットワーク(CNN) | AlexNet、GoogleNet、VGGNet、ResNet、SENet | |
畳み込みニューラルネットワーク応用 | R-CNN、Fast R-CNN、YOLO、SSD、FCN、Segnet、Unet | |
再帰ニューラルネットワーク(RNN) | RNN、LSTM、GRUs、Bi-directional RNN | |
オートエンコーダ | AE、DenoisingAE、SparsAE、StuckedAE | |
敵対的生成ネットワーク | GAN、DCGAN、CGAN、Pix2Pix、CycleGAN、PGGAN | |
深層強化学習 | DQN、DoubleDQN、A3C、UNREAL |
英語ばかりでよく分かりませんね。
太字はよく使われているモデルですので、ちょっと頭の片隅に入れておいてください。
プログラム構造が違うと、内部でデータをどう加工して特徴をとらえていくかに違いが出てきます。
例えば、VGGNetは深い層まで計算する構造を持ちますが、ResNetは深い層が持つ弱点を補いさらに深い層まで計算できる構造を持ちます。よって複雑な仕事なほどResNetを選べばいい、という想像はできますが、正直なところ仕事によって何が良いか検証比較してみないと分かりません。
モデルの選択は、複数を動かして最も良い結果のモデルを選ぶことが多いです。
おまけ
AI学者が提唱しているこんな分類があります。
強いAI | 人間のような自意識を持ち、色々な処理を行う。 |
弱いAI | 専門分野に強いが、特定の仕事しか処理ができない。 |
これによると現在存在するのは弱いAIですね。このまま発達して強いAIが必要になる時代が来るでしょうか。AI(人口知能)という言葉を大きくとらえるか、小さくてもよいのか、という議論にもなりそうです。
AIの試験に出題される言葉ですので紹介してみました。
いかがでしたか。
たくさんの種類が出てきましたが、メインとなるものに注目していれば大丈夫です。
世界で研究は進行中であり、新しいモデルが出たり、将来はもっと革新的なディープラーニングの形が生まれるかもしれません。ワクワクしますね。
それでは一通りAIの概要が分かったところで -> AIづくりは初心者も可~エンジニアだけではない~