【この記事は約 6 分で読み終わります。】

AIとして注目されるディープラーニングとは

ディープラーニングはニューラルネットワークをベースとする機械学習技術であり高精度な学習を可能とする技術である。ディープラーニングは、現在多くの分野で応用研究開発が進められており、様々なAIシステムの基盤技術として利用されていくと予想される。ここでは、ディープラーニングの概要について解説する。

シェアする

  • RSSで記事を購読する
  • はてなブックマークに追加
  • Pokcetに保存する

近年、AIを実現する技術の代名詞となっているディープラーニングは、従来の機械学習にある問題をブレイクスルーする技術として2010年代になって一般に知られるようになった。ディープラーニングは、人間の脳神経細胞の基本動作を数学的に表現した多数のニューロンモデルを階層的に接続することで人間の認知機能の一部を高精度で模擬することを実現している。ディープラーニングによって、自動運転車や人間のような動き、会話ができるロボットが開発され、医療分野においても人間が発見できない、見落とす病変を画像から見つける診断装置が開発され、また、人間に代わって作曲、描画、作文を機械が行うことが可能になりつつある。いったい、ディープラーニングとはどのような技術なのか。

ディープラーニング

1章 ディープラーニングの概要

 ディープラーニングは、深層学習とも呼ばれ、多層化したニューラルネットワークによる機械学習、アルゴリズムを指す。また、ディープラーニングにより学習されたニューラルネットワークをディープニューラルネットワーク(DNN)または、ディープコネクトネットワーク(DCN)と呼ぶ。

ディープラーニングは2006年に、機械学習の著名な研究者であるトロント大学教授のジェフリー・ヒントンらの研究チームがオートエンコーダの深層化による学習に成功したことによって可能性が認められた。その後、2012年の画像認識コンテスト「ILSVRC(ImageNet Large Scale Visual Recognition Challenge)」で、ヒントンらの研究チームがディープラーニングを用いたSupervisionという手法で誤り率15.3%を実現し、過去の最低記録であった誤り率25.7%から4割も削減し圧勝し、世界的に注目された。また、その技術に着目したGoogleがディープラーニングによりYouTubeの動画を用い「猫」の画像を自動認識できたことを発表したことでも有名になった。現在の画像認識の誤り率は人間が認識した場合の誤り率と言われている5.1%を下回る4%台を記録している

2章 ディープラーニングの仕組み

ディープラーニングの仕組みを説明する前に基本となるニューラルネットワークの学習の仕組みについて説明する。ニューラルネットワークは、図1に示すように、人間の脳神経細胞(ニューロン)の働きを極めて単純化した数学モデル(ニューロンモデル)を複数接続し脳神経回路を模擬したネットワークモデルを指す。

AI-単純パーセプトロン

1958年にフランク・ローゼンブラッドが開発したパーセプトロンは入力層と出力層のみからなる単純なニューラルネットワークであるにも関わらず学習や予測ができることが可能であった。図2に示すように、単純パーセプトロンは、論理和、論理積、否定論理積を線形分離を可能としている。単純パーセプトロンは排他的論理和は理論的に学習困難となる問題があった。それに対し隠れ層を含めた3階層以上のネットワークにすると任意の内容が学習可能であることが理論的に示された。

AI-単純パーセプトロンの性能

ニューラルネットワークの学習とは、ある入力(例えば画像を構成する画素ごとのRGB値)を入力層それぞれの素子に入力した場合に、目標とする出力(例えば画像に写っている物体の名称)が出力層から得られるように、素子間の重み(w)を調整することである。学習には重みの変動に対する目標値誤差の変動の割合を表現する勾配量を用いて重みの調整量を算出する誤差逆伝播法というアルゴリズムが利用されることが多い。ディープラーニング以前のニューラルネットワークでは階層を多層化した場合、入力層に近い層では勾配量が小さくなり、うまく学習が進まないという問題(勾配消滅問題)があった。しかし、図3に示すように、ディープラーニングでは素子の活性化関数にそれまで利用されていたシグモイド関数ではなくReLu(Rectified Linear Unit)を利用することで問題を解決し多層化においても学習することが可能となった。

AI-シグモイド関数とReLu関数

3章 ディープラーニングでできること

 ディープラーニングを活用したAIは世界中で日々研究開発が進んでいる。特にディープラーニングが向いている分野は、これまで人間しかできないと考えられていた認識、判断、予測を必要とする分野である。具体的には以下の表1に示すように多岐に渡る。

表1 ディープラーニングの応用分野

分野 概要
画像認識 ・画像に含まれる対象物を分類

利用例)

良品・不良品の分類

医療用診断画像における病変、病巣の分類

物体検出 ・画像に含まれる物体の位置を検出し、物体ごとに名称を認識

利用例)

移動体の自動運転などにおける周囲環境のリアルタイム認識

画像に対するキャプション生成

機械翻訳 1言語対1言語または、1言語対多言語の機械翻訳を実現
音声認識 雑音が少ない環境等の条件下で、96%以上の認識率を実現し、文字出力も可能

利用例)

 コールセンターの自動応答

 AIスピーカー

 Siriなどのスマートフォンのスマートアシスタント

言語解析 ・意味解析

・評判解析、レコメンデーション

・関連文書解析

・文章生成

また、近年では強化学習のようなニューラルネットワークとは異なる方式で進められていたアルゴリズムの内部にも活用されている。その一例として、最適な方策を導くためのQ関数(行動評価関数)がディープラーニングによって近似されたDQN(Deep Q-Network)という強化学習アルゴリズムがDeepMind社によって開発され、それまでの強化学習のアルゴリズムに比較し、ゲームで高得点獲得を達成している。

4章 機械学習との違いとは

従来の機械学習アルゴリズムはある程度の精度でのパターン認識を実現可能としてきたが、細部における誤認識があった。また、特徴量を人間が設計段階で的確に選定する必要があり、特徴量の妥当性によっても認識精度が左右されてきた。ディープラーニングでは、従来の多くの機械学習が有していた線形やガウスなどの写像関数形式の仮定と、人間による特徴量の抽出という2つの課題を、「エンドツーエンド」の学習アルゴリズムがデータから適切に決定することで改善し、より高精度なパターン認識が可能になった。多数の非線形素子を階層的に接続することで任意の非線形関数を近似することが可能であることが数学的に証明されており、ディープラーニングでは、写像関数形式の予測については非線形関数のニューロン素子を数多く接続することで、様々な形状の関数の表現を獲得する。また、特徴量についてもデータに基づき自動で重要な特徴量の影響を大きくするように学習する。

一方で、ディープラーニングは、データのみに基づいて決定するため、従来の機械学習アルゴリズムに比較して、より大量のデータが必要となる。また、繰り返し学習するため、学習フェーズでは従来の機械学習アルゴリズムに比較して計算量が多くなる。したがって、時間短縮を目的として同じ階層の多数の素子の処理計算を同時並行に計算することが可能なGPU(グラフィカル処理ユニット)のような並列計算機構が必要である。

学習が済んだネットワークを利用して認識や予測をする推論フェーズでは、従来の機械学習による推論に比較して計算量が少ないため、ボードコンピュータやIoTデバイスでの処理が容易という利点がある。最近ではFPGA(field-programmable gate array)チップやRaspberry Piコンピュータでのディープラーニング実装のソリューションや実装例が発表されており、今後は実環境での適用が急速に進むことが予想される。

5章 まとめ

 ディープラーニングはニューラルネットワークをベースとする機械学習技術であり、2度の冬の時代を経て到達した高精度な学習を可能とする技術である。ディープラーニングの優れている点は、特徴量の抽出方法と写像関数形式の近似方法であり、従来の機械学習は人間がこれらの要素を設定していたがディープラーニングではアルゴリズムによってデータから自動で抽出している。ディープラーニングは、画像認識、物体検出、機械翻訳、音声認識などの面で成果を挙げていて、更に現在多くの分野で応用が進められており、様々なAIシステムの基盤技術として利用されていくと予想される。


<参考>

  1. 高卒でもわかる機械学習 (3) 多層パーセプトロン(頭の中に思い浮かべた時には)
    http://hokuts.com/2015/12/04/ml3-mlp/
  2. 第14回 深層強化学習DQN(Deep Q-Network)の解説(Manatee)
    https://book.mynavi.jp/manatee/detail/id=89691
  3. B-DCGAN:Evaluation of Binarized DCGAN for FPGA
    https://arxiv.org/abs/1803.10930
シェア

役にたったらいいね!
してください

シェアする

  • RSSで記事を購読する
  • はてなブックマークに追加
  • Pokcetに保存する