مجله علمی  رایانش نرم و فناوری اطلاعات

مجله علمی رایانش نرم و فناوری اطلاعات

کاربردِ محاسبات تقریبی در شبکه‌های عصبی کانولوشنی به منظور بهبود دقت و کارایی

نوع مقاله : مقاله پژوهشی فارسی

نویسندگان
گروه مهندسی برق و کامپیوتر، دانشگاه خوارزمی، تهران، ایران.
چکیده
شبکه‌های عصبی مصنوعی، یکی از تاثیرگذارترین و مهم‌ترین شاخه‌های علوم در دهه‌‌های گذشته هستند که در برنامه‌های کاربردیِ وسیعی مانند برنامه‌های خدمات درمانی و دارویی، تشخیص صدا و گفتار، بینایی کامپیوتر، پردازش زبان طبیعی، پردازش ویدئو و تصویر و ... به‌کار گرفته شده‌اند. برای اینکه شبکه‌های عصبی، بیشترین بازده را داشته باشند، الگوریتم‌های مورد استفاده در آن‌ها بایستی شبکه‌هایی عمیق با لایه‌های فراوان داشته باشند، که این امر نیاز به قدرت محاسباتیِ بسیار بالا چه در مرحله‌ی آموزش شبکه و چه در مرحله‌ی استنتاج دارد. در سال‌های اخیر محاسبات تقریبی، یکی از امیدبخش‌ترین رویکردها برای کاهش مصرف انرژی در برنامه‌هایی که قابلیت تحمل درجه‌ای از کاهش دقت را دارند، بوده است. در روش پیشنهادی، مختص لایه اول شبکه‌عصبی کانولوشن، به منظور فشرده‌سازی و کاهش محاسبات، با استفاده از الگوریتم خوشه‌بندیِ K-Means بر روی تصاویر ورودی، به هر پیکسل برچسبی داده می‌شود و براساس آن عمل کانولوشن با استفاده از میانگین‌ پیکسل‌های هم‌خوشه انجام می‌‌گیرد که موجب کاهشِ دست کم 90 درصد در تعداد عملیات ضرب خواهد شد. سپس به منظور فشرده‌سازیِ بیشتر، با استفاده از یکی از روش‌های هرس شبکه‌های عصبی بر مبنای معیار L1-norm، مقدار مختلفی از هرس بر روی تمام لایه‌های آن شبکه اِعمال می‌شود. طبق نتایج این پژوهش، معیارهای دقت، کارایی و اندازه پارامترهای شبکه‌های عصبی کانولوشن با استفاده از روش پیشنهادی برروی 2 شبکه عصبی کانولوشنی مجزا و بر روی 4 مجموعه داده مختلف، بهبود یافته است.
کلیدواژه‌ها

[1] N. Manikandan, M. Priyanka2, Sasikumar, R. Muthaiah, "Approximation Computing Techniques to Accelerate CNN Based Image Processing Applications – A Survey in Hardware/Software Perspective", International Journal of Advanced Trends in Computer Science and Engineering, Volume 9, No.3, 2020
[2] Q. Xu, T. Mytkowicz and N. Sung Kim, "Approximate Computing: A Survey", IEEE DESIGN & TEST, 2015
[3] G. Rodrigues, F. L. Kastensmidt, and A. Bosio, "Survey on Approximate Computing and Its Intrinsic Fault Tolerance", Electronics, 2020
[4] J. Koomey, S. Berard, M. Sanchez, H. Wong, "Implications of historical trends in the electrical efficiency of computing", IEEE Ann. Hist. Comput. 33(3), 46–54, 2011
[5] A. Be´rut, A. Arakelyan, A. Petrosyan, S. Ciliberto, R. Dillenschneider, E. Lutz, "Experimental verification of Landauer/’s principle linking information and thermodynamics", Nature 483(7388), 187–189, 2012
[6] H. Esmaeilzadeh et al., "Neural acceleration for general-purpose approximate programs", MICRO, 2012
[7] H. B. Barua, K. C. Mondal, "Approximate Computing: A Survey of Recent Trends—Bringing Greenness to Computing and Communication", The Institution of Engineers (India), 2019
[8] A. Sampson, W. Dietl, E. Fortuna, D. Gnanapragasam, L. Ceze, and D. Grossman. EnerJ: Approximate Data Types for Safe and General Low-Power Computation", In Proc. International Conference on Programming Language Design and Implementation (PLDI), pp. 164-174, 2011.
[9] J. Bornholt, T. Mytkowicz, and K. S. McKinley, "A first-order type for uncertain data", In Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems, USA, 2014
[10] G. G. Henry, T. Park, R. E. Hooker, "VIA Alliance Semiconductor Co Ltd", 2019
[11] V. Pejovic, "Towards Approximate Mobile Computing, Newsletter, GetMobile: Mobile Computing and Communications, vol. 22, no. 4, 2018
[12] Z. Peng, X. Chen, C. Xu, N. Jing, X. Liang, C. Lu, L. Jiang, "AXNet: ApproXimate computing using an end-to-end trainable neural network", in Proceedings of the International Conference on Computer-Aided Design, p. 11, ACM, 2018
[13] A. Mant, R.S. Yazdanbakhsh, A. Park, J. Thwaites, B. Esmaeilzadeh, H. Hassibi, A. Ceze, L. Burger, "General-purpose code acceleration with limited-precision analog computation", In Proceedings of the International Symposium on Computer Architecture, 2014
[14] E. Wang, J. J. Davis, P. Y. K. Cheung, and G. A. Constantinides, “LUTNet: Rethinking Inference in FPGA Soft Logic”, 2019 IEEE 27th Annu. Int. Symp. Field-Programmable Cust. Comput. Mach., pp. 26–34, 2019
[15] S. Han, J. Pool, J. Tran, and W. J. Dally, “Learning bothWeights and Connections for Efficient Neural Networks,” Advances in neural information processing systems, pp. 1135–1145, 2015
[16] H. Jiang, C. Liu, L. Liu, F. Lombardi, and J. I. E. Han, “A Review, Classification, and Comparative Evaluation of Approximate arithmetic circuits”, ACM Journal on Emerging Technologies in Computing Systems (JETC), vol. 13, no. 4, pp. 1–34, 2017
[17] M. Imani, M. Samragh, Y. Kim, and S. Gupta, “RAPIDNN: In-Memory Deep Neural Network Acceleration Framework”, arxiv preprint arxiv, 2018
[18] D. Hammerstrom, “A VLSI architecture for high-performance, low-cost, on-chip learning”, 1990 IJCNN International Joint Conference on Neural Networks, 1990
[19] H. Li, H. Samet, A. Kadav, H. P. Graf, I. Durdanovic, "Pruning Filters for Efficient Convnets", International Conference on Learning Representations (ICLR), 2017
[20] A. Krizhevsky, G. Hinton, "Learning Multiple Layers of Features From Tiny Images", Technical report, University of Toronto, https://www.cs.utoronto.ca/~kriz/ learning-features-2009-TR.pdf.2009, 2009
[21] Y. Netzer, T. Wang, A. Coates, A. Bissacco, B. Wu, A. Y. Ng, "Reading Digits in Natural Images with Unsupervised Feature Learning", NIPS Workshop on Deep Learning and Unsupervised Feature Learning, 2011
[22] S. Li, W. Leng, "Real World Expression Recognition: A Highly Imbalanced Detection Problem", 9th IAPR International Conference on Biometrics (ICB), 2016
[23] K. Simonyan, A. Zesserman, "Very Deep Convolutional Networks for Large-Scale Image Recognition", International Conference on Learning Representations (ICLR), 2015
[24] K. He, X. Zhang, S. Ren, J. Sun, "Deep Residual Learning for Image Recognition", In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 770–778., 2016
[25] G. Huang, Z. Liu, L. Van Der Maaten and K. Q. Weinberger, "Densely Connected Convolutional Networks," 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 2261-2269, doi: 10.1109/CVPR.2017.243., 2017
[26] G. S. Chung, C. S. Won, "Filter Pruning by Image Channel Reduction in Pre-trained Nonvolutional Neural Networks", Multimedia Tools and Applications, Springer, 2020
[27] J. Wang, T. Jiang, Z. Cui, Z. Cao, "Filter Pruning with a Feature Map Entropy Importance Criterion for Convolution Neural Networks Compressing", Elsevier, 2021
[28] S. Yeom, P. Seegerer, S. Lapuschkin, A. Binder, S. Wiedemann, K. Muller, W. Samek, "Pruning by Explaining: A Novel Criterion for Deep Neural Network Pruning", Pattern Recognition, Elsevier, 2021
[29] X. Sui, Q. Lv, L. Zhi, B. Zhu, Y. Yang, Y. Zhang, Z. Tan, "A Hardware-Friendly High-Precision CNN Pruning Method and Its FPGA Implementation", Sensors, MDPI, 2023
[30] Z. Wang, C. Li, X. Wang, "Convolutional Neural Network Pruning with Structural Redundancy Reduction", Computer Vision and Pattern Recognition, IEEE, 2021
[31] M. Lin, Y. Zhang, Y. Li, B. Chen, F. Chao, M. Wang, S. Li, Y. Tian, R. Ji, "1xN Pattern for Pruning Convolutional Neural Networks", Pattern Analysis and Machine Intelligence, IEEE Transactions, 2022.