ニューラルネットワークの量子化をTensorFlowで試してみました。 ニューラルネットワークの量子化とは、一般的に32bit(64bit)浮動小数点で表現される重みなどのパラメータを、ざっくり減らして数ビット(1〜8bit)で表現する手法です。量子化することで、計算の高速化(特にFPGAや専用LSI)や学習済みモデル容量の削減などが期待できます。 今回は試しにMNISTのニューラルネットワークを8bit量子化してみました。ネットワークの訓練時は通常の不動小数点で行い、学習後に学習済みのパラメータの量子化しています。 ※量子化したまま学習する手法もあるようですが、そちらはまだ勉強不足なのでよくわかりません。 【参考】 FPGAでDeep Learningしてみる – きゅうりを選果する YouTube : TensorFlow User Group ハード部 #1 How to Quant