In this paper, we provide a systematic approach for assessing and comparing the computational complexity of neural network layers in digital signal processing. We provide and link four software-to-hardware complexity measures, defining how the different complexity metrics relate to the layers' hyper-parameters. This paper explains how to compute these four metrics for feed-forward and recurrent layers, and defines in which case we ought to use a particular metric depending on whether we characterize a more soft- or hardware-oriented application. One of the four metrics, called `the number of additions and bit shifts (NABS)', is newly introduced for heterogeneous quantization. NABS characterizes the impact of not only the bitwidth used in the operation but also the type of quantization used in the arithmetical operations. We intend this work to serve as a baseline for the different levels (purposes) of complexity estimation related to the neural networks' application in real-time digital signal processing, aiming at unifying the computational complexity estimation.
翻译:本文提出了一种系统化的方法,用于评估和比较数字信号处理中神经网络层的计算复杂度。我们提供并关联了四种从软件到硬件的复杂度度量,定义了不同复杂度指标与网络层超参数之间的关系。本文阐述了如何针对前馈层和循环层计算这四种度量,并根据应用场景的软硬件侧重点,明确了在何种情况下应选用特定的度量指标。其中,一种新引入的针对异构量化的度量——"加法和移位操作次数(NABS)"——不仅表征了运算所用位宽的影响,还体现了算术运算中量化类型的影响。我们期望本研究能够作为实时数字信号处理中神经网络应用在不同层级(目的)上复杂度估计的基准,旨在统一计算复杂度的评估方法。