全2447文字

 今回は、人工知能(AI)の研究分野で活用が進む深層学習、すなわちディープラーニングについて取り上げる。

 人工知能(AI)の研究分野では、この10年間にディープラーニングが大きなインパクトを与えてきた。ニューラルネットワークは、汎用性の高い近似を行うモデルである。2000年代の後半に多層のニューラルネットワークを適切に学習する方法が発表され、表現能力の高いネットワークを学習できるようになった。文字認識、音声認識、画像認識(一般物体認識)など、さまざまな分野で実施された性能比較のコンテストにおいて高い識別精度が示されたことから、こうした技術は、ディープラーニングとして広く知られるようになった。これらの分野においては既に実用レベルに達しており、実際に利用が始まっている。

 1つの例として、大規模な画像認識の性能比較コンテストにおける事例を紹介する。ある画像を見て、それが1000種類の物体のいずれに当てはまるかを識別するタスクである。犬や猫というだけでなく、ペルシャ猫、シャム猫のように細分化されたカテゴリーが対象だ。学習データは「イメージネット」と呼ばれる大規模な画像データセットの一部で、1種類につきおよそ1000画像、すなわち1000種類で120万の画像とラベルが使われた。このタスクにディープラーニングの技術を使い、大幅に識別誤りを減少させるものが2012年に登場した(図1)。同図の横軸はコンテストが行われた年を、縦軸は5位までの候補の中に識別結果が入らなかった識別誤りの割合を示す。2015年には人間を上回る認識精度を実現し、大きな話題となった。

図1  2010年からの誤り率の推移
図1  2010年からの誤り率の推移
2012年以降、ディープラーニングの登場によって画像識別の誤り率が大幅に低下した。現在では人間の誤り率4〜5%を下回っている。(作成:筆者)
[画像のクリックで拡大表示]

 ここで注目すべきは、クラウドソーシングの仕組みを活用し、大規模なラベル付きデータを作成した点である。データマイニングのプロセスでいえば、データの準備に当たる。これは、新たな課題の解決には欠かせないプロセスだ。大規模データに正解となるラベル付けを人手で行うとかなりコストがかかるので、ラベルの品質を維持しつつ低コストでラベル付けをするための工夫には、参考になる点がある。

 ディープラーニングと呼ばれるネットワーク構造には、幾つかの種類がある。その基本である順伝播型ニューラルネットワークは、入力層と出力層、並びに隠れ層とも呼ばれる中間層によって構成される(図2)。中間層にあるノードには、前層からの出力に変換行列(重み)を掛けた値が入力され、活性化関数による非線形変換が行われる。この繰り返しによって最終的な出力を得る。数学的にはとても単純であり、拡張性が高く、並列計算に向いたモデルになっている。

図2 ニューラルネットワークの基本構造
図2 ニューラルネットワークの基本構造
入力層と出力層、および隠れ層とも呼ばれる中間層で構成される。学習は、出力層の出力と教師値との差が小さくなるように、変換行列(重み)などを調節することによって実行する。(作成:筆者)
[画像のクリックで拡大表示]

 学習の方法には幾つかあるが、基本的には出力値と教師値を比較し、その差が最も小さくなるようにネットワークのパラメーターを調整することによって学習させる。アルゴリズムとしてはバックプロパゲーション(誤差逆伝播法)がよく知られる。これは、ネットワークの出力から誤差を求め、各ノードにおけるパラメーターによる誤差の勾配を算出し、その勾配に比例した値だけパラメーターの値を更新する。この繰り返しを、出力層側から入力層まで逆方向に行う。

 バックプロパゲーションは数学的な法則に基づいて解説されることが多い。しかし、このようなデータの流れに基づいて理解しておくと、多層化した場合の振る舞いや、並列分散計算に向いていること、GPUとの相性が良いことなどを把握しやすい。

 文字認識、音声認識、画像認識など、パターン認識への適用が広く知られているが、用途の可能性は教師あり学習における識別モデルとしての利用だけにとどまらない。教師あり学習における予測モデルや、教師なし学習における表現モデルとしても利用できる。

 センサーや時系列への適用も進んでいる。例えば、工場内の設備や生産管理のためのデータは既にかなり収集されており、データの準備、モデリング、評価の段階にある。