近年さまざまな分野でAI(人工知能)の導入が急速に進められています。ディープラーニングによってAIは大きな飛躍を遂げ、このブームの火付け役となりました。本稿では、ディープラーニングの基本知識、AI、機械学習との違い、仕組み、学習方法から応用例まで、分かりやすく解説します。
ディープラーニングとは?
ディープラーニング(Deep Learning)とは、脳の神経回路のしくみを模したニューラルネットワークを多層に重ねることで、学習能力を高めた機械学習の手法の一つです。ディープラーニングによって、データの特徴をより深く学習し、複雑な処理ができるようになりました。
日本語では深層学習と訳され、これはディープラーニングを構成する「ニューラルネットワーク」の層が多いことを「層が深い」と表現することから由来します。
ディープラーニングの誕生
出典:松尾 豊『人工知能は人間を超えるか』P61より
ディープラーニングが広く知られるきっかけとなったのは、2012年、画像認識の精度を競う大会「ILSVRC(Imagent Large Scale Recognition Challenge)」でした。本大会では画像に写っているモノがなにか当て、エラー率を競います。本大会において、ジェフリー・ヒントン氏率いるトロント大学のチームが開発した「Super Vision」は、エラー率15.3%を叩き出し、2位の東京大学(26.1%)を大きく引き離し、衝撃的な結果で優勝しました。ここで使われた学習手法がディープラーニングであり、以後広く知られるようになりました。
AI、機械学習、ニューラルネットワークとの関係
ディープラーニングは、「AI」「機械学習」「ニューラルネットワーク」とあわせて耳にすることが多い単語です。これらは誤解されやすいため、それぞれの違いを解説します。
AIとは
AI(Artificial Intelligence:人工知能)とは、一般には、「人間の知能のようにふるまうコンピューター」と受け入れられ、推論、認識、判断などの知的処理を行います。AIはもっとも包括的な概念です。
AIの技術の一つとして、機械学習があります。
機械学習とは
機械学習(Machine Learning)とは、コンピュータが大量のデータを学習することで、データのルールやパターンを抽出する技術です。また機械学習では、得られた結果をもとに、分類や予測などのタスクを遂行するアルゴリズムやモデルを自動で構築できます。機械学習の最大の特徴は「コンピューターのプログラム自身が学習する」ことです。
機械学習にはさまざまな学習方法がありますが、その一つとして現在もっとも注目を浴びているのはニューラルネットワークです。
ニューラルネットワークとは
ニューラルネットワーク(Neural Network)とは、人間の脳の神経回路を真似して学習するアルゴリズムです。人間の脳内では多数のニューロンが結びつき、電子信号を送りあっています。それを再現したのがニューラルネットワークです。
ニューラルネットワークは、処理の途中で、入力値(特徴量)に0から1で表される重みを掛け合わせ、値を出力します。
人間の脳のように複雑な処理をするため、ニューラルネットワーク(パーセプトロン)を複数層結合させて処理をすることをディープラーニングと呼びます。
すべての関係性をまとめると、
AI>機械学習>ニューラルネットワーク>ディープラーニング
となります。このように並べるとディープラーニングはAIのごく一部のように見えますが、実際は大きな役割を担っています。
ディープラーニングの仕組み
ディープラーニングはニューラルネットワークの組み合わせでできています。そのため、まず、ニューラルネットワークを解説します。
ニューラルネットワークの仕組み
上図のように、入力層にデータを認識するための指標である特徴量(データの特徴と解釈してもかまいません)を入力します。その入力に対し、神経細胞間の接続強度に相当する重み w1 w2‥を掛けたものが出力されます。
この入力から出力までの一連の流れを「パーセプトロン」と呼びます。パーセプトロンを重ねることでニューラルネットワークになります。
ディープラーニングとDNN
ディープラーニングは上記のニューラルネットワーク、つまりパーセプトロンを多層に結合することで再現します。
ここで、「ディープラーニング」とはあくまでも研究分野の名前であり、パーセプトロンを重ねた構造自体はDNN(Deep Neural Network)と言います。
2つ以上層を重ねると、入力層と出力層以外に、間の層ができます。これを隠れ層といいます。
ニューラルネットワークでは、隠れ層は2~3ほどでしたが、DNNでは150もの隠れ層が含まれることもあります。隠れ層を増やすことで、複雑な処理に対応できます。
ディープラーニングの学習手法
現在、活発に研究が進められているディープラーニングの学習方法について、代表的な手法である「CNN(畳み込みニューラルネットワーク)」「オートエンコーダ」のふたつをご紹介します。
CNN(畳み込みニューラルネットワーク)
ディープラーニングにおけるもっとも重要な手法がCNN(畳み込みニューラルネットワーク)です。
CNNは、入力層と出力層の間に、入力データの特徴量を捉える「畳み込み層」と、その特徴への依存性を減らす「プーリング層」を加えます。
まず、畳み込み層において、画像などのデータから特徴を捉えます。プーリング層は、対象の特徴の位置が入力データのなかで多少ずれている場合も、同じ特徴として認識する機能を持ちます。このふたつの層をひとつのペアとして繰り返し、最終的に、画像全体から抽出された特徴を組み合わせることで、対象物を認識します。
CNNは主に画像認識の分野に応用されています。
オートエンコーダ
オートエンコーダ(自己符号化器:Autoencoder)とは、入力されたデータを一度圧縮し、重要な特徴量だけを残した後、再度もとの次元に復元します。
このように、小さい次元に落とし込む作業を次元圧縮、特徴抽出と呼びます。オートエンコーダは、次元圧縮や事前学習を行うことで、過学習、勾配消失と言った問題を避けれます。
オートエンコーダはその性質上、データ生成などに活用されています。
ディープラーニングの応用
画像認識、音声認識、自然言語処理、予測、映像解析など、ディープラーニングには様々な技術があり、実用化が進んでいます。
自動運転
自動車の自動運転には、進路決定や危険察知に高い精度を求められます。ディープラーニングを活用した研究が進められています。また、一部成果も出ており、自動運転の運用が始まりつつあります。
医療
医療の分野では、画像認識による診断への応用が期待されています。人間の目では見落としかねない小さい影などをディープラーニングで発見することで、より精密に診断でき、医師の負担を減らせます。
農業
農業にもAIの導入が進んでいます。
ドローンで撮影した画像をAIで解析し、収量の予測をする、ピンポイントの除草剤を散布しコストを削減できます。圃場巡回の時間が削減できるだけでなく、より正確な育成状況の把握が可能になり、農家の負担の軽減に期待されています。
AIスピーカー
AIスピーカーとは、話し手の命令を音声認識により抽出して、自然言語処理によって指示を理解し実行する機能を有するスピーカーです。近年家庭への普及が進んでいます。