Abstract
A co-design architecture for the field programmable gate array (FPGA)-based classification system is proposed. In this architecture, a neural network (NN) is trained by the particle swarm optimization algorithm (PSO). The NN is implemented in hardware, and the PSO training is executed by a processor. The ARM processor and the NIOS II processor are used. This architecture maintains the operating speed of the NN. This approach also has the flexibility to change the parameters or even the PSO algorithm without affecting the FPGA part. Three publicly recognized databases (Iris, Balance-scale, Credit approval) are used to evaluate the system. Experimental results showed that the co-design was successfully implemented. In addition, compared to the NIOS II approach, the ARM approach had the advantages regarding the operating speed and the logic utilization.























Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Haykin S (2008) Neural networks and learning machines, 3rd edn. Prentice Hall, Upper Saddle River
Mingguang L, Gaoyang L (2009) Artificial neural network co-optimization algorithm based on differential evolution. In: Proceedings of 2009 second international symposium on computational intelligence and design, pp 256–259
Nawi1 NM, Khan1 A, Rehman MZ (2013) A new back-propagation neural network optimized with cuckoo search algorithm. In: Computational science and its applications ICCSA 2013 (lecture notes in computer science), Springer, Berlin, pp 413–426
Gudise VG, Venayagamoorthy GK (2003) Comparison of particle swarm optimization and backpropagation as training algorithms for neural networks. In: Proceedings of the 2003 IEEE swarm intelligence symposium, pp 110–117
Hsiung JT, Suewatanaku W, Himmelblau DM (1991) Should backpropagation be replaced by more effective optimization algorithms? Proc Int Jt Conf Neural Netw 1:353–356
Lee Y, Oh SH, Kim MW (1993) An analysis of premature saturation in back propagation learning. Neural Netw 6(5):719–728
Leung FHF, Lam HK, Ling SH (2003) Tuning of the structure and parameters of a neural network using an improved genetic algorithm. IEEE Trans Neural Netw 14(1):79–88
Sexton R, Dorsey R, Johnson JD (1999) Optimization of neural networks: a comparative analysis of the genetic algorithm and simulated annealing. Eur J Oper Res 114(3):589–601
Ilonen J, Kamarainen JK, Lampinen J (2003) Differential evolution training algorithm for feed-forward neural networks. Neural Process Lett 17(1):93–105
Sexton R, Alidaee B, Dorsey R, Johnson JD (1998) Global optimization for artificial neural networks: a tabu search application. Eur J Oper Res 106(2–3):570–584
Socha K, Blum C (2007) An ant colony optimization algorithm for continuous optimization: application to feed-forward neural network training. Neural Comput Appl 16(3):235–247
Yang XS, Deb S (2014) Cuckoo search: recent advances and applications. Neural Comput Appl 24(1):169–174
Kennedy J, Eberhart R (1995) Particle swarm optimization. Proc IEEE Int Conf Neural Netw 4:1942–1948
Jin N, Rahmat-Samii Y (2007) Advances in particle swarm optimization for antenna designs: real-Number, binary, single-objective and multiobjective implementations. IEEE T Antenna Propag 55(3):556–567
Wang W, Lu Y, Fu J, Xiong YZ (2005) Particle swarm optimization and finite-element based approach for microwave filter design. IEEE Trans Magn 41(5):1800–1803
Gaing ZL (2004) A particle swarm optimization approach for optimum design of PID controller in AVR system. IEEE Trans Energy Convers 19(2):384–391
Chatterjee A, Pulasinghe K, Watanabe K, Izumi K (2005) A particle-swarm-optimized fuzzy-neural network for voice-controlled robot systems. IEEE Trans Ind Electron 52(6):1478–1489
Vlachogiannis J, Lee K (2006) A comparative study on particle swarm optimization for optimal steady-state performance of power systems. IEEE Trans Power Syst 21(4):1718–1728
Yuan Y, He Z, Chen M (2006) Virtual MIMO-based crosslayer design for wireless sensor networks. IEEE Trans Veh Technol 55(3):856–864
Venayagamoorthy GK, Zha W (2007) Comparison of nonuniform optimal quantizer designs for speech coding with adaptive critics and particle swarm. IEEE Trans Ind Appl 43(1):238–244
Mendes R, Cortez P, Rocha M, Neves J (2002) Particle swarms for feedforward neural network training. Proc IEEE Int Jt Conf Neural Netw 2:1895–1899
Bashir ZA, El-Hawary ME (2009) Applying wavelets to short-term load forecasting using PSO-based neural networks. IEEE Trans Power Syst 24(1):20–27
Chau KW (2007) Application of a PSO-based neural network in analysis of outcomes of construction claims. Autom Constr 16(5):642–646
Yalcin N, Tezel G, Karakuzu C (2015) Epilepsy diagnosis using artificial neural network learned by PSO. Turk J Electr Comput 23(2):421–432
Khoury P, Gorse D (2015) Investing in emerging markets using neural networks and particle swarm optimisation. In: Proceedings of the 2015 international joint conference on neural networks, pp 1–7
Monmasson E, Cirstea NCM (2007) FPGA design methodology for industrial control systems—a review. IEEE Trans Ind Electron 54(4):1824–1842
Cavuslu MA, Karakuzu C, Karakaya F (2012) Neural identification of dynamic systems on FPGA with improved PSO learning. Appl Soft Comput 12(9):2707–2718
Bezborah A (2012) A hardware architecture for training of artificial neural networks using particle swarm optimization. In: Proceedings of the third international conference on intelligent systems, modelling and simulation (ISMS), pp 67–70
Lin CJ, Tsai HM (2008) FPGA implementation of a wavelet neural network with particle swarm optimization learning. Math Comput Model 47:982–996
Dang TL, Hoshino Y (2015) A hardware implementation of particle swarm optimization with a control of velocity for training neural network. In: Proceedings of the 2015 IEEE international conference on systems, man, and cybernetics, pp 1980–1985
Hoshino Y, Takimoto H (2012) PSO training of the neural network application for a controller of the line tracing car. In: Proceedings of the IEEE international conference on fuzzy systems (FUZZ-IEEE), pp 1–8
Altera Company (2015) NIOS II processor reference handbook. https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/nios2/n2cpu_nii5v1.pdf. Accessed 17 Oct 2016
Altera Company (2015) Avalon interface specifications. https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/manual/mnl_avalon_spec.pdf. Accessed 17 Oct 2016
Altera Company (2015) Cyclone V hard processor system technical reference manual. https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/cyclone-v/cv_5v4.pdf. Accessed 17 Oct 2016
Bates GL, Nooshabadi S (1997) FPGA implementation of a median filter. In: Proceedings of IEEE region 10 annual conference on speech and image technologies for computing and telecommunications, vol 2, pp 437–440
Javadi MHS, Mahdiani HR (2015) Efficient utilization of imprecise blocks for hardware implementation of a Gaussian filter. In: Proceedings of 2015 IEEE computer society annual symposium on VLSI, pp 33–37
Neoh H, Hazanchuk A (2004) Adaptive edge detection for real-time video processing using FPGA. In: Proceedings of global signal processing, pp 1–6
OpenCV (2016) The OpenCV Tutorials. http://docs.opencv.org/2.4/opencv_tutorials.pdf. Accessed 17 Oct 2016
Altera Company (2015) Floating-point IP cores user guide. https://www.altera.com/en_US/pdfs/literature/ug/ug_altfp_mfug.pdf. Accessed 17 Oct 2016
Terasic Company (2015) DE1-SoC user manual. http://de1-soc.terasic.com. Accessed 17 Oct 2016
Altera Company (2016) SoC product brochure. https://www.altera.com/products/soc/overview.html. Accessed 17 Oct 2016
Lichman M (2013) UCI machine learning repository. http://archive.ics.uci.edu/ml. Accessed 17 Oct 2016
Acknowledgements
This work was supported by Japan Society for the Promotion of Science (JSPS) KAKENHI Grant Number 25330240.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Dang, T.L., Hoshino, Y. Hardware/Software Co-design for a Neural Network Trained by Particle Swarm Optimization Algorithm. Neural Process Lett 49, 481–505 (2019). https://doi.org/10.1007/s11063-018-9826-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11063-018-9826-4