شماره ركورد
23487
شماره راهنما
ELE2 452
عنوان
بهبود پياده¬سازي شبكه¬¬هاي عصبي عميق روي FPGA، مبتني بر توسعه معماري Double MAC
مقطع تحصيلي
كارشناسي ارشد
رشته تحصيلي
مهندسي برق - سيستم هاي الكترونيك ديجيتال
دانشكده
فني و مهندسي
تاريخ دفاع
1403/02/05
صفحه شمار
80
استاد راهنما
محمد كاظمي ورنامخاستي
كليدواژه فارسي
آرايه¬هاي پياده¬سازي در محل , شبكه¬هاي عصبي عميق , واحدهاي پردازش سيگنال ديجيتال , دقت شبكه , جفت¬وزن
چكيده فارسي
در سال¬هاي اخير، يادگيري ماشين و شبكه¬هاي عصبي بسياري از كاربردها از پزشكي و صنعت تا اقتصاد و امنيت را در بر مي¬گيرد. با پيشرفت در اين حوزه براي رسيدن به دقت بالاتر، شبكه¬ها عميق¬تر شده و تعداد پارامترها به طور قابل توجهي افزايش پيدا كرده¬اند؛ در نتيجه حجم محاسبات و پيچيدگي آن¬ها به خصوص در لايه¬هاي كانولوشني در شبكه¬هاي عصبي كانولوشني افزايش يافته است كه پياده¬سازي آن¬ها را چالش-برانگيزتر مي¬كند. از ميان بسترهايي مانند CPU، GPU، ASIC و FPGA براي پياده¬سازي در مرحله استنتاج شبكه¬هاي عصبي عميق، FPGAها با قابليت برنامه¬ريزي مجدد، امكان اعمال معماري¬هاي موازي، بهره¬وري انرژي و سفارشي¬سازي پياده¬سازي، شرايط بهتري دارد. با اين وجود براي اين كار چالش-هايي نيز وجود دارد كه مي¬توان به در نظر گرفتن عرض بيت محدودتر وزن¬هاي شبكه با توجه به محدوديت منابع و حافظه در دسترس، اشاره كرد كه مي¬تواند بر روي دقت خروجي نهايي شبكه تأثير بگذارد.
معماري Double MAC يك شتاب¬دهنده مبتني بر FPGA است كه براي افزايش سرعت محاسبات در شبكه¬هاي عصبي كانولوشني معرفي شده است. در اين معماري با قرار دادن دو عمل MAC در يك بلوك DSP به صورت SIMD، دو خروجي به صورت هم¬زمان توليد و سرعت پردازش را دو برابر مي¬كند. اين پايان¬نامه بر بهبود دقت شبكه با تنظيم عرض بيت وزن¬ها با استفاده از معماري Double MAC تمركز دارد. در اين رويكرد، ورودي بلوك DSP اختصاص داده شده به وزن¬هاي شبكه، به طور كامل براي يك وزن از دو كانال فيلتر كانولوشن مجزا كه هر كدام از دقت 8 بيتي استفاده مي¬كنند، قرار داده مي¬شود و خروجي وزن دوم از خروجي DSP به¬دست مي¬آيد. سپس وزن¬ها به صورت دو به دو از نظر چهار شرط مقايسه مي¬شوند: برابري وزن¬ها، يك وزن قرينه ديگري، يك وزن دو برابر وزن ديگر و بالعكس. خروجي مربوط به وزن دوم نيز بسته به نياز از خروجي DSP، مكمل دو و يا خروجي شيفت يافته آن به دست مي¬آيد.
اين ساختار با پياده¬سازي شبكه سبك¬وزن 0.5 MobileNet-160 با مجموعه داده ImageNet بر روي بورد FPGA مبتني بر Xilinx Vittex-6 ارزيابي شده است. نتايج نشان مي¬دهد كه با استفاده از 4 درصد حافظه و 15 درصد LUT (Look-Up table) و FF (Flip-Flop) بيشتر، دقت شبكه تا 5/7 درصد در مقايسه با ساختار استاندارد كه در آن همه ضرايب 8 بيتي هستند، بهبود يافته است
كليدواژه لاتين
FPGA , Deep Neural Networks (DNN) , DSP block , Network accuracy , weightpair
عنوان لاتين
Improving the implementation of Deep Neural Networks on FPGA, based on developing Double MAC architecture
گروه آموزشي
مهندسي برق
چكيده لاتين
In recent years, machine learning and neural networks have founds their way into a variety of applications, ranging from medicine and industry to economics and security. With advancements in this field driving the need for higher accuracy, networks have grown deeper and the number of parameters has extended significantly. Consequently, the computational workload and complexity, especially within convolutional layers of convolutional neural networks (CNNs), have increased, making their implementation more challenging. Among various platforms such as CPUs, GPUs, ASICs, and FPGAs used for the inference stage in deep neural networks, FPGAs stand out due to their reprogrammable properties, ability to support parallel architectures, energy efficiency, and customizability. However, challenges remain, particularly regarding limited bit-widths for network’s weights due to resource constraints and memory limitations, which can impact the network’s final output accuracy.
The Double MAC architecture is an FPGA-based accelerator designed to enhance computational speed in CNNs. By placing two MAC (Multiply and Accumulate) operations within a single DSP (Digital Signal Processing) block in a SIMD (single Instruction Multiple Data) fashion, it produces two outputs simultaneously, effectively doubling the processing speed. This thesis focuses on improving network accuracy by adjusting the bit-width of weights within the Double MAC architecture. In this approach, the input to the DSP block dedicated to network weights is fully assigned to one weight from two distinct convolution filter channels, each using 8-bit precision and the second weight output is derived from the DSP output. The weights are then compared in pairs under four conditions: weight equality, one weight being the negative of the other, one weight being twice the other, and vice versa. The output for the second weight is obtained from the DSP output, its two’s complement, or a shifted DSP output as needed.
This structure was evaluated by implementing the 0.5 MobileNet-160 lightweight network with ImageNet Dataset on a Xilinx Virtex-6 FPGA board. Results show that by using 4% more memory and 15% more LUT (Look-Up Table) and FF (Flip-Flop), network accuracy improved by up to 7.5% compared to the standard configuration where all coefficients are 8-bit
تعداد فصل ها
5
فهرست مطالب pdf
31541
نويسنده