この記事は日経Robotics 有料購読者向けの記事ですが
日経Robotics デジタル版(電子版)』のサービス開始を記念して、特別に誰でも閲覧できるようにしています。
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です

 ニューラルネットワークは多くのタスクで高い性能を出しており、特に画像認識や音声認識では既存手法を大きく超える性能を達成している。一方で、ニューラルネットワークは学習、推論(利用)時に、既存手法に比べて多くの計算を必要とすることが知られている。学習時に必要とされる計算はスループット重視であり、計算能力が十分にあるデータセンターやクラウドなどに学習データを集約した上で時間をかけて行えば良い。

 一方で、推論時に必要とされる計算は遅延時間(レイテンシ)重視であり、処理はデータが生成される場所の近くですぐ実行したい場合が多い。データセンターやクラウドで推論する場合、ネットワーク通信の通信時間のオーバーヘッドに加えて、ネットワーク通信が途切れる可能性もあり、クリティカルな用途には使えない。

著者の岡野原大輔氏
著者の岡野原大輔氏

 例えば自動運転車やロボット、ドローンの画像認識、今後増えるであろう音声によるインタラクティブな質問応答などでは、数百msから数十msといった低レイテンシの処理を端末近くで実現したい。一方、こうしたエッジのデバイスは使える電力に制約がある。こうした背景から、推論時にはニューラルネットワークは端末で実現し、計算が軽く必要な電力は小さいことが要請される。

1枚の画像で数百億回の浮動小数点の積和演算が必要

 今のニューラルネットワークがどの程度の計算コストを必要とするのか具体例でみてみよう。ニューラルネットワークの主要な計算は32ビットや16ビットの浮動小数点演算であり、特に畳み込み層や総結合層の重みと活性値間の行列積の計算コストが支配的である。

 一般物体認識、物体検出、セグメンテーションは表1のようなパラメータ数と演算数を必要とする(これらの数字は参考文献2)より)。これらはあくまで目安であるが、このようにパラメータ数は約1億、画像1枚あたり数百億回の浮動小数点の積和演算が必要とされる。これらは、画像サイズが大きくなったり、1秒間に処理が必要なフレーム数が増えたりすると必要な演算数も比例して大きくなる。例えば、物体検出をHD(1280×720)の解像度で30フレーム/秒で動かすには単純計算で秒間14兆回の浮動小数点の積和演算が必要だ。

表1 DNNに必要な計算コスト
[画像のクリックで拡大表示]

 この必要とされる計算能力は現在のモバイル機器の能力とはかなりのギャップがあるが、これを埋める流れがいくつか出ている。ここではその流れを3つ紹介する。1つ目は省電力のハードウエアの開発、2つ目はネットワークアーキテクチャの改善、3つ目は量子化/2値化ニューラルネットワークの利用である。

省電力なハードウエアが登場

 1つ目として、例えば米NVIDIA社は自動運転車向けにチップを開発している。2018年四半期に初回サンプルが出て来るNVIDIA Drive Xavierは消費電力30Wで秒間30兆回の演算をすることができる。このXavierと他のアクセラレータを備えたNVIDIA Drive PX Pegasusは毎秒320兆回の計算をすることができる3)

 数W級だと2018年2月に英Arm社はProject TrilliumとよばれるIPスイートを発表し、1秒間に4.6兆回の計算ができ1Wあたり3兆回の計算が可能としている4)。2017年8月にIntelの子会社米Movidius社が発表したMovidius Myriad Xは1Wで4兆回の計算ができるとしている5)。これらのチップの実効性能はデータ転送など様々な条件によって、理論性能よりかなり低くなるが1Wあたり数千億回の計算ができるとは考えられる。

アーキテクチャは機械で自動設計

 2つ目としてネットワークアーキテクチャの改善である。画像認識において、ImageNetでの一般物体認識などの精度向上は頭打ちとなりつつあるが、計算回数に制限がある中での精度は向上し続けている。その中でも強化学習や遺伝的アルゴリズムによって、ネットワーク構造の設計を行うことにより、省電力でも性能の高いようなネットワーク構造が発見されてきている6-7)

 例えば、遺伝的アルゴリズムにより見つかったAmoebaNet-C7)は500万個のパラメータ、5億回の浮動小数点演算によってImageNetのTop-5の精度が92.1%である(何も制限が無い場合の最高精度であるSENetは96.2%)。今後は計算回数やパラメータ数だけでなくハードウエアの制限(実効効率や消費電力の最適化)を考慮した上でのネットワークアーキテクチャの自動最適化が進むと考えられる。

 計算コストに制限がない部分でも、近いうちに人手で設計したネットワークは機械が設計したネットワークに抜かれると考えられる(機械によるネットワークの自動設計についてはまた別の回で取り上げる)。

量子化や2値化で電力削減

 3つ目はニューラルネットワークの量子化、2値化である。ニューラルネットワークの重みや活性値を量子化によって整数や1ビットの情報に置き換えることができれば計算コストや消費電力を大幅に減らすことができる。重みを2値化(+1, −1)すれば乗算は加減算に置き換えることができる。さらに、活性値も2値化することができれば乗算はビット間XNOR演算に置き換えることができ、計算コストを大幅に抑えることができる。例えば、32ビットの浮動小数点の乗算はXilinx社のFPGAでは600個前後のLUTとフリップフロップ(FF)が必要だが(数個のDSPスライスを併用すれば100個前後のLUT/FFで実現可能)8)、1ビットの演算は1個のLUT/FFで実現できる。

 計算コストだけでなく、現在の消費電力の大部分はメモリからのデータ転送時に発生している。データを量子化することでデータを小さくすることで、省電力化を達成できる。量子化は微分不可能な演算であり、量子化した上でニューラルネットワークを学習することは困難そうにみえる。しかし、近年では、誤差伝播時には量子化の影響を無視するStraight-Through推定を使っても多くの場合学習できることがわかってきており、精度を落とさないように量子化する研究が進んでいる。

本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です

 例えば、ドローンの世界最大手である中国DJI社の研究グループが発表した論文9)では、元の浮動小数点の行列積を複数の2値化した行列積の演算の組み合わせで表現することで、精度低下を抑えつつ重みと活性値の2値化に成功している。ベクトル量子化による高速化も今後重要になるだろう10)

 モバイルや組み込みでもニューラルネットワークの推論が問題なく使えるようになれば、次は学習もしたくなるだろう。しかし、学習は桁違いに多くの計算リソースが必要であり、量子化を導入したとしても学習時(特に勾配計算時)に浮動小数点演算が必要となってしまう。これらは今後の研究課題である。

1)J. Hu et al., “Squeeze-and-Excitation Networks,” https://arxiv.org/abs/1709.01507
2)M. Sandler et al., “Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification, Detection and Segmentation,” https://arxiv.org/abs/1801.04381
3)http://www.nvidia.co.jp/object/worlds-first-ai-computer-make-robotaxi-reality-20171012-jp.html
4)https://community.arm.com/processors/b/blog/posts/ai-project-trillium
5)https://ai.intel.com/myriad-x-evolving-low-power-vpus-deep-neural-networks/
6)B. Zoph and et al., “Learning Transferable Archtectures Scalable Image Recognition,” https://arxiv.org/abs/1707.07012
7)E. Real and et al., “Regularized Evolution for Image Classifier Architecture Search,” https://arxiv.org/abs/1802.01548
8)https://www.xilinx.com/support/documentation/ip_documentation/ru/floating-point.html
9)X. Lin et al., “Towards Accurate Binary Convolutional Neural Network,” NIPS 2017, https://arxiv.org/abs/1711.11294
10)R. Guo et al., “Quantization based Fast Inner Product Search,” https://arxiv.org/abs/1509.01469
岡野原 大輔(おかのはら・だいすけ)
Preferred Networks 取締役副社長
岡野原 大輔2006年にPreferred Infrastructureを共同創業。2010年、東京大学大学院博士課程修了。博士(情報理工学)。未踏ソフト創造事業スーパークリエータ認定。東京大学総長賞。
出典:日経Robotics 2018年4月号 pp.12-13
記事は執筆時の情報に基づいており、現在では異なる場合があります。