پروژه FPGA: شتابدهنده CNN برای شناسایی ارقام
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- درک اصول CNN
- درک مدل Python شبکه عصبی CNN
- درک طراحی RTL شتابدهنده CNN
- یکپارچهسازی شتابدهنده CNN با پردازنده ARM بر روی FPGA Zynq
- توسعه رابط کاربری گرافیکی مبتنی بر وب برای تعامل با شتابدهنده CNN
پیشنیازهای دوره
- دانش FPGA ،Verilog HDL و معماری کامپیوتر
- تسلط به توسعه Zynq FPGA و Vivado
- تسلط به برنامهنویسی Python و عملیات خط فرمان لینوکس
توضیحات دوره
آیا میخواهید شتابدهی هوش مصنوعی روی FPGA را بیاموزید؟
این دوره آنلاین مبتنی بر پروژه، بینشهای عملی در مورد طراحی شتابدهندههای هوش مصنوعی، به ویژه یک الگوریتم CNN برای طبقهبندی ارقام دستنویس ارائه میدهد. تمرکز این دوره بر سطح طراحی سیستم و چگونگی یکپارچهسازی ماژول CNN (نوشته شده به زبان Verilog RTL) با پردازنده کاربردی که لینوکس اجرا میکند است. نتیجه نهایی این پروژه یک وب اپلیکیشن برای دریافت یک رقم دستنویس و سپس ارسال این داده برای پردازش با شتابدهنده CNN بر روی FPGA است. به طور متوسط، با استفاده از این شتابدهنده در مقایسه با CPU، فاکتور افزایش سرعت 12 برابری حاصل میشود.
توجه:
- این دوره برای مبتدیان مطلق در توسعه FPGA در نظر گرفته نشده است. انتظار میرود قبل از شرکت، درک اولیهای از طراحی FPGA با استفاده از Zynq و چارچوب PYNQ داشته باشید، زیرا این اصول پوشش داده نخواهند شد. آشنایی با Verilog و Python نیز الزامی است.
- در این دوره از Vivado 2022.1 و برد Xilinx Kria KV260 استفاده میشود، اما مفاهیم محدود به این ابزارها یا پلتفرمها نیستند. شما میتوانید با استفاده از سایر نسخههای Vivado یا بردهای FPGA مختلف نیز دوره را دنبال کنید.
شبکه عصبی کانولوشنی (CNN) چیست؟
شبکه عصبی کانولوشنی (CNN) نوعی مدل یادگیری عمیق است که به ویژه برای پردازش دادهی با ساختار شبکهای، مانند تصاویر، مناسب است. این مدل با یادگیری خودکار سلسلهمراتب مکانی ویژگیها از طریق لایههایی که عملیات کانولوشن را انجام میدهند، کار میکند عملیات ریاضی که ویژگیهایی مانند لبهها، تکسچرها و شکل ها را از داده ورودی استخراج میکنند. این لایهها معمولاً با لایههای ادغام دنبال میشوند که ابعاد مکانی را کاهش میدهند تا محاسبات کارآمدتر شده و از بیشبرازش جلوگیری شود. لایههای نهایی معمولاً کاملاً متصل هستند و طبقهبندی یا رگرسیون را بر اساس ویژگیهای یاد گرفته شده انجام میدهند. CNNها به دلیل توانایی در ثبت موثر الگوهای مکانی، به طور گسترده در تسک های بینایی کامپیوتر مانند تشخیص تصویر، تشخیص اشیاء و تشخیص چهره استفاده میشوند.
شتابدهنده CNN چیست؟
CNNها به شتابدهی روی FPGA نیاز دارند زیرا شامل محاسبات فشردهای هستند، به ویژه در طول عملیات کانولوشن، که میتواند روی پردازندههای عمومی کند و پرمصرف باشد. FPGAها پردازش موازی، معماری قابل تنظیم و تأخیر کمتر را ارائه میدهند که آنها را برای سرعت بخشیدن به تسک های CNN و در عین حال حفظ بهرهوری انرژی ایدهآل میکند. این امر به ویژه برای کاربردهای بلادرنگ مانند رانندگی خودکار یا دستگاههای لبه که در آنها محدودیتهای عملکرد و توان حیاتی هستند، ارزشمند است.
چرا از FPGA Zynq استفاده کنیم؟
FPGA Zynq که توسط Xilinx توسعه یافته است، به دلیل ترکیب منطق قابل برنامهریزی (FPGA fabric) و پردازندههای ARM یکپارچه روی یک تراشه واحد، برای شتابدهی CNN بسیار مناسب است. این معماری ترکیبی امکان پردازش موازی با عملکرد بالای لایههای CNN در بخش FPGA را فراهم میکند، در حالی که تسک های کنترلی و پیش/پسپردازش را روی هستههای ARM مدیریت میکند. Zynq با انعطافپذیری، تأخیر کم و بهرهوری انرژی خود، پیادهسازی کارآمد شتابدهندههای سفارشی CNN را امکانپذیر میسازد و آن را برای کاربردهای تعبیهشده و بلادرنگ مانند رباتیک، وسایل نقلیه خودکار و دوربینهای هوشمند ایدهآل میکند.
یادگیری را از امروز شروع کنید. همین حالا در این دوره شرکت کنید!
این دوره برای چه کسانی مناسب است؟
- دانشجویان دانشگاهی که پروژههای شتابدهی هوش مصنوعی را روی FPGA توسعه میدهند.
- مهندسان FPGA که به دنبال تجربه عملی در زمینه شتابدهی هوش مصنوعی هستند.
- هر کسی که علاقهمند به یادگیری و ساخت سیستمهای مبتنی بر FPGA است.
پروژه FPGA: شتابدهنده CNN برای شناسایی ارقام
-
مقدمهای بر شبکه عصبی کانولوشنی (CNN) 10:51
-
معماری CNN برای ارقام MNIST 05:57
-
مدل CNN برای ارقام MNIST 05:57
-
ماژول RTL بافر کانولوشن 04:16
-
ماژول RTL محاسبه کانولوشن 03:14
-
ماژول RTL بیشینه ادغام و ReLU 03:06
-
ماژول RTL لایه تماماً متصل 03:33
-
یکپارچهسازی لایههای CNN 03:03
-
ماژول RTL بستهبندی جریان AXI 05:19
-
طراحی بلوکی سیستم ZYNQ 02:57
-
تست عملکردی و کارایی 03:32
-
توسعه بک اند و فرانت اند 05:45
مشخصات آموزش
پروژه FPGA: شتابدهنده CNN برای شناسایی ارقام
- تاریخ به روز رسانی: 1404/10/04
- سطح دوره:همه سطوح
- تعداد درس:12
- مدت زمان :59:05
- حجم :446.0MB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy