مدل¬سازی اندازه کاشی بهینه برای افزایش استفاده مجدد از داده ها در شبکه های عصبی کانولوشنی
سوفیا صیدی
1
(
دانشكده مهندسي برق و كامپيوتر، دانشگاه تهران، تهران، ایران،
)
مصطفی ارسالی صالحی نسب
2
(
دانشكده مهندسي برق و كامپيوتر، دانشگاه تهران، تهران، ایران،
)
کلید واژه: شبکه¬های عصبی کانولوشنی, انرژی مصرفی, حافظه خارجی, استفاده مجدد از داده, کاشی¬بندی. ,
چکیده مقاله :
شبکههای عصبی مصنوعی نوعی از مدلهای محاسباتی هستند که نحوه عملکرد آنها، از شبکههای عصبی بیولوژیکی در مغز انسان، الهام گرفته شده است. شبکههای عصبی کانولوشنی، نمونهای از این شبکهها هستند که در کاربردهایی مانند کلاسهبندی تصویر، تشخیص اشیا، پردازش زبان طبیعی و بهداشت و درمان استفاده میشود.
با بزرگتر شدن شبکه عصبی، تعداد پارامترها و حرکت داده بیشتر شده و نیاز به حافظه خارجی نیز، بیشتر میشود که همین امر باعث افزایش انرژی مصرفی میشود. یکی از راهکارهای اصلی برای کاهش انرژی مصرفی و مراجعات به حافظه خارجی، استفاده حداکثری از داده در هر یک از سطوح حافظه است. استفاده مجدد از داده میتواند در سه سطح که در ادامه بیان شده است، انجام شود. 1- سطح مسیرداده و واحدهای پردازشی 2- سطح حلقه و زمانبندهای محاسباتی 3- سطح بین لایهای و شبکه. کاشیبندی یکی از تکنیکهایی است که برای استفاده مجدد داده در سطح زمانبندها استفاده میشود. در این مقاله تعداد استفاده مجدد از دادهها را، به صورت یک فرمول ریاضی دقیق مدل می کنیم. سپس در قالب یک مساله بهینهسازی، پارامترهای بهینه را باهدف بیشترین استفاده مجدد از داده، برای هر پیکربندی از شبکه، به دست می آوریم. همچنین رابطه بین پارامترهای ساختاری شبکه مانند اندازه کرنل و گام را با اندازه کاشی بررسی می کنیم که باتوجه به بررسی انجام شده، اندازه کاشی بهینه در 70% لایههای شبکه، از 4 برابر اندازه کرنل، کوچکتر است.
چکیده انگلیسی :
Artificial neural networks are a class of computational models inspired by the structure and functionality of biological neural networks in the human brain. Convolutional Neural Networks (CNNs), as a prominent type of these models, are widely applied in various domains such as image classification, object detection, natural language processing, and healthcare.
As CNN architectures grow in size, the number of parameters and the volume of data movement increase, leading to higher dependence on off-chip memory, which in turn significantly raises energy consumption. A primary strategy for reducing both energy usage and off-chip memory accesses is to maximize data reuse at every level of the memory hierarchy. Data reuse can be exploited at three levels: (1) data flow and processing elements, (2) loop and computation scheduling, and (3) inter-layer and network-level operations.
Tiling is one of the key techniques for improving data reuse at the scheduling level. In this work, we present a precise mathematical formulation for modeling the number of data reuses. We then formulate an optimization problem to determine the optimal parameters for maximizing data reuse for each network configuration. Furthermore, we investigate the relationship between network structural parameters, such as kernel size and stride, and the optimal tile size. Our analysis shows that, in 70% of the network layers examined, the optimal tile size is smaller than four times the kernel size.