新エネルギー・産業技術総合開発機構(NEDO)と沖電気工業(OKI)は、多様な分岐・合流のあるネットワーク構造を含むディープラーニング(深層学習)モデルにおいて、認識性能を維持しつつ、メモリー使用量や消費電力を低減する新たなモデル軽量化技術を開発。既存のベンチマークとされる高精度モデルに対し、認識精度の劣化を約1%に抑えつつ、演算量を約80%削減した。
この技術により、エッジデバイス等、演算性能や電力消費に制限のある環境への高度な人工知能(AI)の搭載や、サーバー・クラウド環境における高度なAIの小規模・省電力運用など、今後増加が見込まれるIoTアプリケーションへのAIの応用が期待できると云う。
1. 概要
ディープラーニングは、画像や音声などの認識において優れた性能を有し、AI処理のアルゴリズムとしてクラウド上で多く活用されている。
その一方、多層化により認識性能を向上させたディープラーニングモデル(以下、モデル)では、演算量・パラメーター(注1)が多く、大量の演算リソースや電力を必要とする。
そのため車載用途やスマートフォン、組み込みIoTデバイスなど多様なエッジデバイス(注2)が登場する中、限られた演算リソース上でも高性能なモデルを高速・省電力に実行するため、モデルの軽量化技術が求められている。
従来からの軽量化技術としては、モデルの畳み込み層(注3)から冗長なチャネルを削減し、チャネルに関連する演算・パラメーター・メモリーを削減する「チャネル(注4)・プルーニング(注5)」という手法が提案されている(図1)。
しかし、この手法では、削減率の設定を層ごとに行う必要があり手間がかかる上、全体として最適な削減にならないという課題があったと云う。
こうした背景のもと、NEDOとOKIは、NEDO事業(注6)において、モデルの精度を維持しつつ演算リソースを削減するモデル軽量化技術の開発を目的とした、AIエッジ技術の研究開発テーマを推進。今回、OKI独自のチャネル・プルーニング技術である「PCAS(Pruning Channels with Attention Statics/図2)」を発展させ、新たなモデル軽量化技術を開発した。
PCAS技術は、チャネルの重要度推定にアテンション(注7)・モジュールを導入することで、認識性能の維持効果を高めつつ、層単位の削減率設定を不要とした技術で、層間に挿入したアテンション・モジュールに後段の層への情報伝播を抑制する構造を持たせ、モデル全体の推論誤差を最小化する学習を経ることで、全体最適による重要度推定ができる。
今回開発した軽量化技術では、近年のモデル構造の多様性を考慮した新しいアーキテクチャにより重要なチャネルを自動選択することで、認識性能を維持しつつ、演算量を大幅に削減することに成功した(図3)。
なお、この成果については、英国カーディフ大学で9月9日から開催されるコンピュータービジョンと機械学習に関する国際学会「BMVC(British Machine Vision Conference)2019」において、OKIが登壇し発表する。
2. 今回の成果
今回、NEDOとOKIが新たに開発した軽量化手法は、PCAS技術を発展させた近年の多様な分岐・合流経路を含むモデルに柔軟に対応できるアーキテクチャで、モデル内の分岐経路では、経路ごとに認識性能に寄与する重要なチャネルが異なるため、その差異を吸収する必要がある。
そのため、分岐部で単一のチャネルに対して複数のアテンション・モジュールを導入することで、複数経路のチャネルの重要度を全体最適で推定。
さらに、経路ごとに異なるチャネル構成の不一致を整合する仕組みと、学習過程の詳細な分析に基づく誤差伝播(注8)量の制御方法を開発し、多様なモデルに対して認識性能を最大限に引き出すことに成功した。
この技術を用いることで、演算量の削減により、高速かつ低消費電力でのAI処理の実行が可能に。測定の結果、ベンチマークとして一般的に用いられる高精度モデルへの適用において、認識精度劣化を約1%に抑えながら、積和演算回数と処理時間をそれぞれ約80%削減した。
NEDOとOKIは今後、今回開発した軽量化技術を低ビット演算環境にも適用し、さらなる高度化と高効率化に取り組むほか、大規模な認識モデルへの適用にも取り組み、高度なAIを軽量かつ省電力に実行できる技術の確立を目指すとしている。
注1)パラメーター:ディープラーニングモデルは、演算用の多数の固定的なパラメーターを持つ。代表的なパラメーターには重み係数がある。重み係数と入力データとの積和演算を行い、その結果を活性化関数で処理して出力することが、ニューラルネットワークの最も基本的な演算となる。
注2)エッジデバイス:利用者に近いネットワークの末端に位置するコンピューティング機器。クラウドやサーバーなどと比較し、利用できる電力や発熱、演算能力などの制限が厳しい小型の機器。
注3)畳み込み層:CNN(Convolutional Neural Network)とも呼ばれる畳み込み演算を有するニューラルネットワークの構成要素。一つの畳み込み層には複数のチャネルが含まれる。入力データ上に分布する空間的な特徴を保持した演算が可能。
注4)チャネル:フィルターとの畳み込み演算の結果を保持するニューロンの集まり。
注5)プルーニング:ニューラルネットワークのなかで冗長なニューロンを削減することで、それに関わる係数や演算を削減する技術。枝刈り技術とも呼ばれる。
注6)NEDO事業:事業名「高効率・高速処理を可能とするAIチップ・次世代コンピューティングの技術開発/革新的AIエッジコンピューティング技術の開発/ソフトテンソルプロセッサによる超広範囲センシングAIエッジ技術の研究開発」。事業期間:2018年度~2020年度
注7)アテンション:主に画像認識や自然言語認識などで、認識に重要な情報に着目するための手法として開発されてきたニューラルネットワーク技術。
注8)誤差伝搬
層から層へと誤差を伝播することを誤差伝播という。ニューラルネットワークの学習では、出力層における誤差を推論とは逆方向の入力層に向かって伝播し、誤差が小さくなる方向にパラメーターを調整する。
[問い合わせ先]
・NEDO IoT推進部
電話:044-520-5211
・OKI 経営企画本部 広報部
電話:03-3501-3835