- عنوان: Accelerators for Convolutional Neural Networks
- نویسنده: Arslan Munir
- حوزه: شبکه عصبی
- سال انتشار: 2023
- تعداد صفحه: 307
- زبان اصلی: انگلیسی
- نوع فایل: pdf
- حجم فایل: 10.1 مگابایت
شبکههای عصبی عمیق (DNN) استقرار هوش مصنوعی (AI) را در بسیاری از کاربردهای مدرن از جمله رانندگی مستقل [1]، تشخیص تصویر [2] و پردازش گفتار [3] فعال کردهاند. در بسیاری از کاربردها، DNN ها به دقت نزدیک به سطح انسانی دست یافته اند و در برخی از آنها از دقت انسانی فراتر رفته اند [4]. این دقت بالا ناشی از توانایی منحصر به فرد DNN برای استخراج خودکار ویژگیهای سطح بالا از حجم عظیمی از دادههای آموزشی با استفاده از یادگیری آماری و بهبود در طول زمان است. این یادگیری در طول زمان به یک DNN نمایش موثری از فضای ورودی ارائه می دهد. این کاملاً متفاوت از رویکردهای قبلی است که در آن ویژگیهای خاص توسط متخصصان دامنه ساخته میشدند و متعاقباً برای استخراج ویژگی استفاده میشدند. شبکههای عصبی کانولوشنال (CNN) نوعی از DNN هستند که بیشتر برای کارهای بینایی کامپیوتری استفاده میشوند. در میان انواع مختلف DNN، مانند پرسپترونهای چندلایه (MLP)، شبکههای عصبی مکرر (RNN)، شبکههای حافظه کوتاهمدت (LSTM)، شبکههای تابع پایه شعاعی (RBFNs)، شبکههای متخاصم مولد (GANs)، ماشینهای محدود شده بولتزمن. RBM ها)، شبکه های باور عمیق (DBN)، و رمزگذارهای خودکار، CNN ها بیشتر مورد استفاده قرار می گیرند. اختراع CNN ها انقلابی در زمینه بینایی کامپیوتر ایجاد کرده است و بسیاری از کاربردهای بینایی کامپیوتری را قادر ساخته تا به جریان اصلی برسند. سیانانها در تشخیص تصویر و ویدئو، سیستمهای توصیهگر، طبقهبندی تصویر، تقسیمبندی تصویر، تجزیه و تحلیل تصویر پزشکی، تشخیص اشیا، تشخیص فعالیت، پردازش زبان طبیعی، رابطهای مغز و کامپیوتر، و پیشبینی سریهای زمانی مالی کاربرد دارند. پردازش DNN/CNN معمولاً در دو مرحله آموزش و استنتاج انجام میشود که هر دوی آنها نیازهای محاسباتی خود را دارند. آموزش فرآیندی است که در آن یک مدل DNN با استفاده از یک مجموعه داده بزرگ مخصوص برنامه کاربردی آموزش داده می شود. زمان آموزش به اندازه مدل و دقت هدف مورد نیاز بستگی دارد. برای کاربردهای با دقت بالا مانند رانندگی خودکار، آموزش یک DNN میتواند هفتهها طول بکشد و معمولاً روی ابر انجام میشود. از سوی دیگر، استنباط می تواند بر روی دستگاه ابری یا لبه (دستگاه تلفن همراه، اینترنت اشیا (IoT)، وسیله نقلیه خودران و غیره انجام شود. امروزه، در بسیاری از کاربردها، انجام فرآیند استنتاج بر روی دستگاه های لبه، همانطور که در شکل 1.1 نشان داده شده است، سودمند است. به عنوان مثال، در تلفن های همراه، انجام پردازش تصویر و ویدئو بر روی خود دستگاه به جای ارسال داده ها به ابر برای پردازش، مطلوب است. این روش هزینه ارتباط و تأخیر مربوط به انتقال و دریافت داده را کاهش می دهد. همچنین خطر از دست دادن ویژگی های مهم دستگاه را در صورت قطع شدن شبکه یا قطع اتصال از بین می برد. انگیزه دیگر برای انجام استنتاج بر روی دستگاه، خطر امنیتی فزاینده ای است که با ارسال داده های شخصی، از جمله تصاویر و ویدیوها، به سرورهای ابری برای پردازش همراه است. سیستمهای رانندگی خودمختار که به دادههای بصری نیاز دارند، باید راهحلهایی را برای انجام استنتاج به صورت محلی برای جلوگیری از تأخیر و مسائل امنیتی، که هر دو میتوانند منجر به فاجعه شوند، در صورت وقوع یک رویداد نامطلوب، به کار گیرند. انجام استنتاج DNN/CNN در لبه مجموعه ای از چالش ها را ارائه می دهد. این از این واقعیت ناشی میشود که پلتفرمهای تعبیهشده در حال اجرا بر روی دستگاههای لبه دارای محدودیتهای هزینهای شدید هستند که قابلیتهای محاسباتی آنها را محدود میکند. اجرای محاسبات و استنتاج حافظه فشرده DNN/CNN در این دستگاه ها به شیوه ای کارآمد از اهمیت بالایی برخوردار است.
Deep neural networks (DNNs) have enabled the deployment of artificial intelligence (AI) in many modern applications including autonomous driving [1], image recognition [2], and speech processing [3]. In many applications, DNNs have achieved close to human-level accuracy and, in some, they have exceeded human accuracy [4]. This high accuracy comes from a DNN’s unique ability to automatically extract high-level features from a huge quantity of training data using statistical learning and improvement over time. This learning over time provides a DNN with an effective representation of the input space. This is quite different from the earlier approaches where specific features were hand-crafted by domain experts and were subsequently used for feature extraction. Convolutional neural networks (CNNs) are a type of DNNs, which are most commonly used for computer vision tasks. Among different types of DNNs, such as multilayer perceptrons (MLP), recurrent neural networks (RNNs), long short-term memory (LSTM) networks, radial basis function networks (RBFNs), generative adversarial networks (GANs), restricted Boltzmann machines (RBMs), deep belief networks (DBNs), and autoencoders, CNNs are the mostly commonly used. Invention of CNNs has revolutionized the field of computer vision and has enabled many applications of computer vision to go mainstream. CNNs have applications in image and video recognition, recommender systems, image classification, image segmentation, medical image analysis, object detection, activity recognition, natural language processing, brain–computer interfaces, and financial time-series prediction. DNN/CNN processing is usually carried out in two stages, training and inference, with both of them having their own computational needs. Training is the process where a DNN model is trained using a large application-specific data set. The training time is dependent on the model size and the target accuracy requirements. For high accuracy applications like autonomous driving, training a DNN can take weeks and is usually performed on a cloud. Inference, on the other hand, can be performed either on the cloud or the edge device (mobile device, Internet of things (IoT), autonomous vehicle, etc.). Nowadays, in many applications, it is advantageous to perform the inference process on the edge devices, as shown in Figure 1.1. For example, in cellphones, it is desirable to perform image and video processing on the device itself rather than sending the data over to the cloud for processing. This methodology reduces the communication cost and the latency involved with the data transmission and reception. It also eliminates the risk of losing important device features should there be a network disruption or loss of connectivity. Anothermotivation for doing inference on the device is the ever-increasing security risk involved with sending personalized data, including images and videos, over to the cloud servers for processing. Autonomous driving systems which require visual data need to deploy solutions to perform inference locally to avoid latency and security issues, both of which can result in a catastrophe, should an undesirable event occurs. Performing DNN/CNN inference on the edge presents its own set of challenges. This stems from the fact that the embedded platforms running on the edge devices have stringent cost limitations which limit their compute capabilities. Running compute and memory-intensive DNN/CNN inference in these devices in an efficient manner becomes a matter of prime importance.
این کتاب را میتوانید بصورت رایگان از لینک زیر دانلود نمایید.
نظرات کاربران