Efficient Neural Networks on the Edge with FPGAs by Optimizing an Adaptive Activation Function

Yiyue Jiang,Andrius Vaicaitis,John Dooley,Miriam Leeser
DOI: https://doi.org/10.3390/s24061829
IF: 3.9
2024-03-13
Sensors
Abstract:The implementation of neural networks (NNs) on edge devices enables local processing of wireless data, but faces challenges such as high computational complexity and memory requirements when deep neural networks (DNNs) are used. Shallow neural networks customized for specific problems are more efficient, requiring fewer resources and resulting in a lower latency solution. An additional benefit of the smaller network size is that it is suitable for real-time processing on edge devices. The main concern with shallow neural networks is their accuracy performance compared to DNNs. In this paper, we demonstrate that a customized adaptive activation function (AAF) can meet the accuracy of a DNN. We designed an efficient FPGA implementation for a customized segmented spline curve neural network (SSCNN) structure to replace the traditional fixed activation function with an AAF. We compared our SSCNN with different neural network structures such as a real-valued time-delay neural network (RVTDNN), an augmented real-valued time-delay neural network (ARVTDNN), and deep neural networks with different parameters. Our proposed SSCNN implementation uses 40% fewer hardware resources and no block RAMs compared to the DNN with similar accuracy. We experimentally validated this computationally efficient and memory-saving FPGA implementation of the SSCNN for digital predistortion of radio-frequency (RF) power amplifiers using the AMD/Xilinx RFSoC ZCU111. The implemented solution uses less than 3% of the available resources. The solution also enables an increase of the clock frequency to 221.12 MHz, allowing the transmission of wide bandwidth signals.
engineering, electrical & electronic,chemistry, analytical,instruments & instrumentation
What problem does this paper attempt to address?
The main problem this paper attempts to address is the efficient implementation of neural networks on edge devices, particularly for digital predistortion (DPD) applications, by optimizing adaptive activation functions (AAF) to reduce hardware resource consumption while maintaining performance comparable to deep neural networks (DNN). Specifically, the paper focuses on the following aspects: 1. **High computational complexity and memory requirements**: When using deep neural networks (DNN) on edge devices, there are issues with high computational complexity and memory requirements. Shallow neural networks consume fewer resources but usually have lower accuracy. 2. **Limitations of fixed activation functions**: Traditional fixed activation functions (such as tanh and sigmoid) require complex computations in hardware implementation, leading to high resource consumption and slow speed. These fixed activation functions also cause accuracy loss during the training phase. 3. **Advantages of adaptive activation functions**: The paper proposes an adaptive activation function (AAF) that can adjust its parameters during training to better fit nonlinear models, thereby improving training accuracy and reducing resource consumption. 4. **Hardware implementation**: The paper designs a segmented spline curve neural network (SSCNN) structure based on FPGA, using adaptive activation functions to replace traditional fixed activation functions. This design significantly reduces hardware resource usage while maintaining high performance. Through these improvements, the paper aims to provide an efficient method for implementing neural networks on edge devices, particularly suitable for digital predistortion (DPD) applications in wireless communications.