LoginSignup
4
1

More than 5 years have passed since last update.

論文:AN ANALYSIS OF DEEP NEURAL NETWORK MODELS FOR PRACTICAL APPLICATIONS を読んだときのメモ

Last updated at Posted at 2019-03-31

はじめに

AN ANALYSIS OF DEEP NEURAL NETWORK MODELS
FOR PRACTICAL APPLICATIONS を読んだときのメモです。
正確なところは原文をお願いします。<(_ _)>
https://arxiv.org/pdf/1605.07678.pdf

論文の概要

  • ImageNet等のコンペの目的はaccuracyである
  • 一方で、実運用では考えるべき、推論時間は?メモリ使用量は?命令数は?消費電力は?にも着目して、主要CNNについて比較した。

論文には書いていないが知っておくべきこと

  • AlexNet,VGGは全結合層がとにかく重い。
    • NIN以降、Global Average Poolongにより劇的に改善
    • AlexNetだと、全結合層が全パラメータ数の93%を占める。
    • Kerasでは、VGGも引数一つでGAPにできる

比較結果❶accuracy

  • 新しめの技法であるResnetとInceptionがよいaccuracyを出している。
  • VGGは、精度に対する命令数を圧倒的に要する。(多くのアプリケーションで使われているにも関わらず) cnn_01_accuracy.png

比較結果❷推論時間と消費電力

  • VGGが、1枚の推論に0.2秒近くかかっている。
  • Alexnetは、バッチサイズを変更すると推論時間が3倍はやくなっている。(AlexNetで支配的なのは全結合層、新しめのCNNで支配的なのは畳み込み層であるため?)
  • 消費電力は、多くの場合、バッチサイズと相関がある。 cnn_02_推論時間と消費電力.png

比較結果❸メモリ使用料

  • メモリ使用量は、はじめにモデルそのものがメモリを確保し、あとはバッチサイズに従って増加する
  • モデルのサイズが100Mを下回っていようと、確保するメモリのサイズは200Mを下回らない。また、モデルの種類によらずパラメータ数に対する傾きは1.3。 cnn_03_メモリ使用量.png

比較結果❹命令数

  • 命令数と推論時間は比例関係にある。(バッチサイズ16では)
  • よって、設計時に、リアルタイムアプリケーションや、リソースが限られた環境にて、許容できる推論時間を満たすための命令数を推定することができる。 cnn_04_命令数.png

比較結果❺命令数と消費電力

  • モデルの種類によって消費電力が大きく変わるということはなかった
  • バッテリー等に不安があるのであれば、アプリケーションの要件を満たす範囲で処理時間が遅いモデルを選択すればよい cnn_05_命令数と消費電力.png

比較結果❻accuracyとスループット

  • 予測精度とスピードはトレードオフ cnn_06_accuracyとスループット.png

比較結果❼パラメータ数

  • VGGはAlexNetより精度はよいが、パラメータあたりの精度は劣る
  • 筆者のENetが最もパラメータあたりの精度密度があり、優れている? cnn_07_パラメータ数.png

結論

  • 予測精度と推論時間はhyperbolic relationship。わずかでも予測精度を上げようとすると、computational timeが大きくかかる。
  • モデルの命令数から、推論時間を推定できる。
  • energy constraintが accuracy and model complexity, in terms of operations countsの上限を決めてしまう。
  • ENetが、最もパラメータあたりの情報量が多い。AlexNetの13倍。VGG-19の24倍。
4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1