موضوع مقاله: یادگیری عمیق | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # یادگیری عمیق | مقدمه: جایگزین=گرافی سلسله‌مراتبی، کامل، جهت‌دار و یک‌طرفه، تشکیل‌شده از سه رأس در ستون نخست، سه رأس در ستون دوم و دو رأس در ستون سوم. | ## بخش 1: یادگیری عمیق | لایه(ها) ی میانی، عموماً لایه(ها) ی پنهان نامیده‌شده و نه ورودی (برای دریافت داده‌های خام) هستند و نه خروجی (برای تحویل نتایج نهایی). شبکه‌های عصبی عمیق از یک یا چند لایهٔ پنهان تشکیل می‌شوند (توافقی جامع و مشخص برای تعیین حداقل تعداد لایه‌های مورد نیاز در یک شبکهٔ عصبی عمیق وجود ندارد). یادگیری عمیق، یادگیری ژرف یا ژرف‌آموزی (به بیانی دیگر: یادگیری ژرف ماشین، یادگیری ساختار ژرف یا یادگیری سلسله مراتبی) یک زیر شاخه از یادگیری ماشین و بر مبنای مجموعه‌ای از الگوریتم‌ها است که در تلاشند تا مفاهیم انتزاعی سطح بالا در دادگان را مدل کنند که این فرایند را با استفاده از یک گراف عمیق که دارای چندین لایه پردازشی متشکل از چندین لایه تبدیلات خطی و غیرخطی اند، مدل می‌کنند. الگوریتم‌های DL از مجموعه‌های بزرگی از داده‌های آموزشی برای شناسایی روابط بین عناصری مانند اَشکال، کلمات و رنگ‌ها استفاده می‌کنند. الگوریتم‌های DL می‌توانند بسیاری از روابط (از جمله روابطی که شاید توسط انسان تشخیص داده نشوند) را شناسایی کرده و داده‌های بسیار پیچیده را تفسیر یا پیش‌بینی کنند. به قولی دیگر «یادگیری عمیق» یک نوع «یادگیری ماشین» به همراه شبکه‌های عصبی چندلایه است که با دقتی فزاینده الگوهای موجود در داده‌ها کشف کرده و به همین‌خاطر می‌تواند علائق کاربر را بشناسد، اشیا را شناسایی کرده و زبان‌ها را بفهمد. یک نمونه آموزشی (برای نمونه: تصویر یک گربه) می‌تواند به صورت‌های گوناگون بسان یک بردار ریاضی پر شده از مقدار به ازای هر پیکسل و در دید کلی‌تر به شکل یک مجموعه از زیرشکل‌های کوچک‌تر (نظیر اعضای صورت گربه) مدل‌سازی شود. برخی از این روش‌های مدل‌سازی سبب ساده شدن فرایند یادگیری ماشین (برای نمونه: تشخیص تصویر گربه) می‌شوند. انگیزهٔ نخستین در به وجود آمدن این ساختار یادگیری از راه بررسی ساختار عصبی در مغز انسان الهام گرفته شده‌است که در آن یاخته‌های عصبی با فرستادن پیام به یکدیگر درک را امکان‌پذیر می‌کنند.Olshausen, Bruno A. بسته به فرض‌های گوناگون در مورد نحوهٔ اتصال این یاخته‌های عصبی، مدل‌ها و ساختارهای مختلفی در این حوزه پیشنهاد و بررسی شده‌اند، هرچند که این مدل‌ها به صورت طبیعی در مغز انسان وجود ندارد و مغز انسان پیچیدگی‌های بیشتری دارد. این مدل‌ها نظیر شبکه عصبی عمیق، شبکه عصبی هم‌گشتی، شبکه باور عمیق و چندین نمونه دیگر؛ پیشرفت‌های خوبی را در حوزه‌های پردازش زبان‌های طبیعی و پردازش تصویر ایجاد کرده‌اند. تعریف یادگیری عمیق، رده‌ای از الگوریتم‌های یادگیری ماشین است که از چندین لایه برای استخراج ویژگی‌های سطح بالا از ورودی خام استفاده می‌کنند. به بیانی دیگر، رده‌ای از تکنیک‌های یادگیری ماشین که از چندین لایهٔ پردازش اطلاعات و به‌ویژه اطلاعات غیرخطی بهره می‌برد تا عملیات تبدیل یا استخراج ویژگی نظارت‌شده یا نظارت‌نشده را عموماً با هدف تحلیل یا بازشناخت الگو، کلاس‌بندی، خوشه‌بندی انجام دهد. برای نمونه، در پردازش تصویر، لایه‌های پست‌تر می‌توانند لبه‌ها را تشخیص دهند، در حالی که لایه‌های عالی‌تر ممکن است ویژگی‌های پرمعناتر برای انسان، همچون حروف یا چهره‌ها، را تشخیص دهند. جایگزین=نموداری چندلایه که در پست‌ترین لایه، عکس چند جانور (فیل، کانگورو و پنگوئن) قرار گرفته و فیل به عنوان ورودی برگزیده شده‌است. یادگیری عمیق زیرشاخه‌ای از یادگیری ماشین است که از لایه‌های متعدد تبدیلات خطی به منظور پردازش سیگنال‌های حسی مانند صدا و تصویر استفاده می‌کند. ماشین در این روش هر مفهوم پیچیده را به مفاهیم ساده‌تری تقسیم می‌کند، و با ادامهٔ این روند به مفاهیم پایه‌ای می‌رسد که قادر به تصمیم‌گیری برای آن‌ها است و بدین ترتیب نیازی به نظارت کامل انسان برای مشخص کردن اطلاعات لازم ماشین در هر لحظه نیست. ارائه دادن اطلاعات به ماشین باید به شیوه‌ای باشد که ماشین در کمترین زمان اطلاعات کلیدی را که می‌تواند با استناد به آن‌ها تصمیم بگیرد را دریافت کند. هنگام طراحی الگوریتم‌های یادگیری عمیق می‌بایست به عوامل دگرگونی (به انگلیسی: factors of variation) که اطلاعات مشاهده شده را توضیح می‌دهند توجه کنیم، این عوامل معمولاً عوامل قابل‌مشاهده‌ای نیستند بلکه عواملی هستند که بر روی دستهٔ قابل‌مشاهده تأثیرگذار بوده یا زادهٔ ساختارهای ذهنی انسان برای ساده‌تر کردن مسائل هستند. برای مثال در هنگام پردازش گفتار عوامل دگرگونی می‌توانند لهجهٔ گوینده، سن یا جنسیت او باشند. برای مثال بسیاری از پیکسل‌های دریافتی از یک ماشین قرمز در شب ممکن است سیاه دیده بشوند. برای حل این مشکلات بعضاً به درک بالای اطلاعات (در حدود انسان) نیازمندیم و در واقع گاهی یافتن نحوهٔ مناسب نمایش اطلاعات به اندازهٔ خود مسئله سخت و زمان‌بر است. مبانی ریاضیاتی اگرچه شبکه های عصبی (و شبکه های عصبی عمیق) در ابتدا به عنوان یک رویکرد عملگرایانه (و کمتر مبتنی بر طرح ریزی نظریاتی) مورد استفاده و پذیرش قرار گرفتند، ولی هم در قرن بیستم (در کارهای امثال کلمگرفKolmogorov, A. تاریخچه نخستین الگوریتم عملی یادگیرنده برای پرسپترون‌های چندلایهٔ نظارت‌شده، عمیق و پیش‌خور، در دههٔ ۱۹۶۰ توسط الکسی ایواخننکو - معروف به «پدر یادگیری عمیق» - و والنتن لاپا منتشر شد.Ivakhnenko, A. در سال ۱۹۷۱، مقاله‌ای یک شبکهٔ عمیق با هشت لایه را توصیف کرد که عملیات یادگیری را با متد گروهی مدیریت داده (GMDH) انجام داده بود. سایر معماری‌های یادگیری عمیق و به ویژه آن‌هایی که برای بینایی رایانه ساخته شده بودند، در ۱۹۸۰ و با Neocognitron معرفی‌شده توسط کونیهیکو فوکوشیما آغاز گشتند. تحلیل این راه‌حل‌های ذخیره‌شده امکان کنترل بهتر در تلاش‌های بعدی را ممکن می‌ساخت، و به دنبال آن در همان مراحل نخستین از گیر کردن در بن‌بست‌های احتمالی نیز جلوگیری می‌کرد.Rina Dechter (1986). در سال ۱۹۸۹، یان لی‌کان و همکاران الگوریتم استاندارد پس‌انتشار را برای یک شبکهٔ عصبی عمیق با هدف تشخیص متن‌های دست‌نویس (به‌طور خاص با هدف بازشناسی کدهای پستی دست‌نویس روی نامه‌های پستی) به کار بست. مدل مورد استفاده از یک لایهٔ ورودی با ۲۵۶ واحد (پیکسل‌های یک تصویر مربعی ۱۶×۱۶)، یک لایهٔ خروجی با ۱۰ واحد (که مشخص می‌کرد تصویر رقمی که به ورودی داده‌شده‌است، کدام یک از ارقام ۰ تا ۹ است) و سه لایهٔ پنهان در میان این دو تشکیل شده بود. با ارزیابی مدل بر روی مجموعه‌دادهٔ تست، ۸/۱٪ رده‌بندی اشتباه و ۱۹/۴٪ بازپس‌زنی برای ۱٪ نرخ خطا در میان الگوهای تست باقی‌مانده به دست آمد که نشان می‌داد که این مدل نسبت به مدل‌های ارائه‌شدهٔ پیشین از دقت بالاتری برخوردار است و استفاده از الگوریتم پس‌انتشار، روشی مناسب در فرایند تعلیم شبکه‌های عصبی عمیق است. (PDF) تا سال ۱۹۹۱، چنین سامانه‌هایی عموماً برای تشخیص ارقام دوبُعدی دست‌نویس ایزوله‌شده (به این معنا که ارقام به صورت تنها و بدون جزئیات و ویژگی‌های اضافهٔ دیگری در پس‌زمینه - مثلاً متن و حروف اضافه - نوشته‌شده‌اند) به کار می‌رفتند؛ درحالی که بازشناسی اجسام سه‌بُعدی همچنان یک چالش بود. از آن‌جایی که این مدل می‌توانست مستقیماً تصاویر طبیعی (سوژه‌های سه‌بعدی، با حضور عناصر دیگر در پس‌زمینه) را به عنوان ورودی دریافت کند، تبدیل به بنیانی برای یادگیری بصری همه‌منظوره شد. در سال ۱۹۹۴، آندره د کاروالیو به همراه مایک فیرهورست و دیوید بیسیت، معماری‌ای مبتنی بر یک شبکهٔ عصبی بولی چندلایه را ارائه داد که تحت عنوان شبکهٔ عصبی بی‌وزن نیز شناخته می‌شد. | ## بخش 2: یادگیری عمیق | در ماژول استخراج ویژگی، تصویر ورودی به چند زیرمجموعه تقسیم شده و هر قسمت به یک بلاک از نورون‌ها (که دارای سلسله‌مراتب بوده و در چند لایه تقسیم شده‌بودند) داده می‌شد و هر بلاک به صورت موازی با دیگر بلاک‌ها و مستقل از آن‌ها آموزش می‌دید. و در ۱۹۴۴ نیز برای مسائل بهینه‌سازی غیرخطی مورد مطالعه قرار گرفته بود) به همراه یورگن اشمیدهوبر، معماری ال‌اس‌تی‌ام را ارائه دادS. در همان سال ۱۹۹۵، برندن فرِی به همراه جفری هینتون و پیتر دایان نشان دادند که می‌توان با استفاده از الگوریتم بیدار-خواب، شبکه‌ای تشکیل‌شده از شش لایهٔ کاملاً هم‌بند و با چندصد واحد پردازشی مخفی را آموزش داد.Hinton, Geoffrey E. علت محبوبیت یادگیری عمیق تا قبل از پیدایش یادگیری عمیق، روش‌های یادگیری ماشین سنتی، بیش‌از حد به بازنمایی‌هایی (انتخاب ویژگی‌ها) که از داده‌ها به‌دست می‌آورند، وابسته بودند. این روش‌ها، نیاز به یک متخصص در دامنه موضوع داشت تا استخراج ویژگی‌ها را به‌صورت دستی انجام دهد. چرا که می‌توانست استخراج ویژگی‌ها را به‌صورت خودکار متناسب با هر مسئله به‌دست آورد. یادگیری عمیق هندسی در حالی‌که مدل‌های یادگیری عمیق در دهه گذشته، در برخورد با ورودی‌هایی به شکل تصاویر، گفتار یا ویدیو که اساس ساختار آن‌ها اقلیدسی است، موفقیت‌آمیز عمل کرده، اخیراً، علاقه محققان در تلاش برای استفاده از یادگیری بر روی داده‌های غیراقلیدسی افزایش یافته‌است. یادگیری عمیق هندسی، زمینه نوظهور تحقیقاتی است که سعی در تعمیم معماری یادگیری عمیق برای کار با داده‌های غیراقلیدسی دارد، تا این شکاف را پر کند. شبکه عصبی گراف شبکه‌های عصبی گراف، دسته‌ای از روش‌های یادگیری عمیق هستند که به‌طور خاص، برای استنباط بر داده‌های توصیف‌شده توسط گراف‌ها طراحی شده‌اند. شبکه‌های عصبی گراف، به‌طور مستقیم برروی گراف‌ها اعمال می‌شوند و روشی آسان برای انجام وظایفی همانند، پیش‌بینی سطح گره، یال و گراف ارائه می‌کنند. تا پیش از، توسعه شبکه‌های عصبی گراف، روش‌های یادگیری عمیق توانایی اعمال برروی یال‌ها در جهت استخراج دانش و پیش‌بینی را نداشتند. کاربردها بینایی رایانه یکی از نخستین زمینه‌های بسیار موفق برای یادگیری عمیق که پتانسیل بالقوهٔ این روش در حل مسائل را نشان داد، در حوزهٔ بازشناسی تصویر رخ داد. از سال ۲۰۱۰ و در پروژه‌ای موسوم به ایمیج‌نت مسابقه‌ای سالانه برگزار می‌شود که شرکت‌کنندگان با ارائهٔ الگوریتم‌های کامپیوتری گوناگون، تلاش به بازشناسی تصاویر دیجیتالی در مقیاس کلان کرده و بر سر دست‌یابی به دقّت‌های بالاتر با یک‌دیگر رقابت می‌کنند. حال در سال ۲۰۱۲، یک شبکهٔ عصبی هم‌گشتی به نام الکس‌نت در این رقابت به کار رفت و با کسب نتایجی بسیار چشم‌گیر، توجه‌های گسترده‌ای را به سوی روش یادگیری عمیق جلب کرد؛ به شکلی که به باور برخی، در این سال «انقلاب یادگیری عمیق» رخ داد. لازم است ذکر شود که دقت الکس‌نت در تشخیص تصاویر پایگاه داده‌ی ایمیج‌نت از دقت انسان نیز فراتر بود (هرچند البته حتی پیش از ارائهٔ الکس‌نت نیز الگوریتم‌های دیگری به عملکرد فراانسانی دست پیدا کرده بودند). امروزه نیز شبکه‌های عصبی در بینایی رایانه دارای نقشی کلیدی بوده و برای اهداف گوناگونی چون بازشناسی تصویر، تشخیص چهره، رهگیری اجسام، حذف نویز، رنگی‌کردن تصاویر سیاه و سفید، ترمیم تصاویر آسیب‌دیده، رده‌بندی تصاویر پزشکی و… به کار می‌رود. بازشناسی خودکار گفتار از دیگر زمینه‌های موفق برای یادگیری عمیق، تشخیص و بازشناسی خودکار گفتار در مقیاس گسترده است که معمولاً توسط مدل‌های مبتنی بر شبکه عصبی بازگشتی (به ویژه از نوع ال‌اس‌تی‌ام) و شبکه عصبی هم‌گشتی انجام می‌گیرد. پردازش زبان‌های طبیعی یادگیری عمیق اثر بزرگی در پیشرفت شاخهٔ پردازش زبان‌های طبیعی ایجاد کرده و با ایجاد یک چهارچوب مدل‌سازی قدرتمند، به نتایج چشم‌گیری دست یافته‌است. به عنوان نمونه، مدل زبانی جی‌پی‌تی-۳ از اوپن ای‌آی با بهره‌گیری روش‌های یادگیری عمیق قادر به تولید متونی مشابه متون نوشته‌شده توسط انسان است. تشخیص الکترومیوگرافی سیگنال‌های الکترومیوگرافی می‌توانند به عنوان رابطی میان انسان و ماشین عمل کرده و با تحلیل آن‌ها از مقصود کاربر جهت کنترل تجهیزات گوناگون بهره برد. به عنوان نمونه، افراد دچار نقص عضو می‌توانند اعضایی مصنوعی را جایگزین عضو قطع‌شدهٔ خود کرده و آن‌ها را به شیوهٔ مؤثری کنترل کنند. یا با همین روش می‌توان اعضایی کمکی و تقویت‌کننده همچون اسکلت خارجی را کنترل کرد. برای تحلیل این سیگنال‌های خام و ارائهٔ خروجی مناسب برای کنترل دستگاه، بهره‌گیری از روش یادگیری عمیق می‌تواند بسیار کاربردی باشد. سامانهٔ پیشنهادگر سامانه‌های پیشنهادگر از یادگیری عمیق جهت استخراج ویژگی‌های معنادار برای یک مدل فاکتورهای پنهان به منظور پیشنهادهای محتوا-محور موسیقی و مجله بهره برده‌اند. سرمایه‌گذاری در طرح‌های سرمایه‌گذاری، از یادگیری عمیق برای افزایش میزان بازده استفاده می‌شود. خودروی خودران گوگل و تسلا امروزه ثابت کرده‌اند که خودروهای بدون سرنشین یا خودران امکان‌پذیر هستند. اما به هرحال باید گفت این خودروها هنوز نیاز به یادگیری بیشتر و تمرین و آزمایش‌های متفاوتی هستند و فعالیت‌ها و متغیرهای بسیاری باید مورد بررسی قرار بگیرد. تحلیل صدای ورودی برای یک سامانه هوش مصنوعی بسیار سخت است؛ زیرا که عوامل متعددی در تشخیص درست صدا نقش دارند. به‌طور مثال وجود نویز در پیش‌زمینه، لهجه‌ها، خلاقیت‌ها و بازی‌های زبانی افراد و همچنین ناتوانی‌های خاص گفتاری و عوامل دیگر تشخیص دقیق واژه‌های به کار رفته در صدای به چیزی که رایانه بتواند آن را تحلیل کند، سخت می‌کند. تشخیص الگو استفاده از شبکه‌های «یادگیری عمیق» می‌تواند در نرم‌افزارهای متعددی با تشخیص الگوی به‌کار رفته توسط کاربر، کیفیت ارائهٔ خدمات را بالا ببرد. هوش مصنوعی‌ای که به خوبی با کاربر خود تطابق یافته باشد، می‌تواند اطلاعات غیر مرتبط را نادیده گرفته و برای کاربر اطلاعات مرتبط ارائه کند. برنامه‌نویسی کامپیوتری هوش مصنوعی ضعیف، موفقیت‌هایی در حوزه تولید متن با معنا و پیشرفت در حوزه کدنویسی داشته‌است. به‌طور مثال GPT-۳ از شرکت OpenAI یک نرم‌افزار اوپن سورس زبان تولیدکننده است که می‌تواند با کمترین دستورالعمل از سوی کاربر، کدنویسی کرده یا برنامه‌های ساده کامپیوتری ایجاد کند. | ## بخش 3: یادگیری عمیق | در آینده احتمالاً شاهد حضور نرم‌افزارهای بیشتری که از این نوع فناوری‌ها بهره‌مندند خواهیم بود و کار با نرم‌افزارهای تخصصی رنگ و بوی دیگری به خود خواهد گرفت. امنیت سایبری هوش مصنوعی نقش مهم‌تری در معیارهای امنیت سایبری سازمان‌ها، افراد و دولت‌ها به عهده خواهد گرفت که شامل نظارت، شناسایی تهدیدهای اطلاعاتی، اطلاع از نفوذ امنیتی، پاسخ به اتفاقات و تحلیل ریسک خواهد بود. هوش مصنوعی همچنان می‌تواند ابزارهای نظارتی قدرتمندی در اختیار دولت‌ها قرار دهد تا به‌طور راحت‌تری مخالفان خود را شناسایی کنند. حوزه سرگرمی و تولید محتوا برنامه‌های رایانه‌ای روزبه‌روز در تولید محتوا بهتر می‌شوند و هوش مصنوعی هم‌اکنون نیز در شناسایی موارد تخلف قانون حق نشر، ساخت بازی‌های ویدیویی و فیلم‌های سینمایی نقش مهمی دارند و در آینده این نقش برجسته‌تر خواهد شد. تصویربرداری پزشکی تشخیص تصویر و تشخیص شی در فرآیندهایی مانند تشدید مغناطیسی (MR) و توموگرافی کامپیوتری (CT) برای کارهایی مانند تقسیم‌بندی تصویر، تشخیص بیماری و پیش‌بینی استفاده می‌شود. مدل‌های یادگیری عمیق به‌طور مؤثر داده‌های تصویربرداری را با در نظر گرفتن فاکتورهایی مانند اندازه، حجم و شکل بافت تفسیر می‌کنند و می‌توانند قسمت‌های مهم در تصاویر را برجسته کنند. کاربردها شامل تشخیص رتینوپاتی دیابتی، تشخیص زودهنگام آلزایمر و تشخیص اولتراسوند ندول‌های پستان است. انتظار می‌رود پیشرفت در یادگیری عمیق امکان بررسی جامع تصاویر پاتولوژی و رادیولوژی را در آینده فراهم کند. الگوریتم‌های یادگیری عمیق تجزیه و تحلیل داده‌های پیچیده را ساده می‌کنند و دقت تشخیص ناهنجاری را افزایش می‌دهند. شبکه‌های عصبی کانولوشنال (CNN) بینش‌هایی را ارائه می‌کنند که به متخصصان پزشکی در شناسایی به موقع و دقیق مسائل بهداشتی کمک می‌کند. در یک مطالعه در سال ۲۰۱۸، CNNها بیش از ۱۰ درصد دقت بالاتری را در شناسایی ملانوم در مقایسه با متخصصان نشان دادند. تجزیه و تحلیل داده‌های بهداشت و درمان مدل‌های یادگیری عمیق به‌طور مؤثر داده‌های ساختاریافته و بدون ساختار را در پرونده‌های الکترونیک سلامت (EHR)، از جمله یادداشت‌های بالینی، نتایج آزمایش، تشخیص‌ها و داروها تجزیه و تحلیل می‌کنند. تلفن‌های هوشمند و دستگاه‌های پوشیدنی اطلاعات ارزشمندی دربارهٔ شیوه زندگی ارائه می‌دهند و به تغییر داده‌ها برای نظارت بر عوامل خطر پزشکی با استفاده از برنامه‌های تلفن همراه کمک می‌کنند. چت ربات سلامت روان استفاده از برنامه‌های سلامت روان مبتنی بر هوش مصنوعی، از جمله ربات‌های چت، در حال افزایش است و برخی از آنها از یادگیری عمیق برای تعاملات واقعی تر با بیمار استفاده می‌کنند. مطالعات نشان می‌دهد که عوامل مکالمه هوشمند می‌توانند به‌طور قابل توجهی علائم افسردگی و اضطراب را کاهش دهند و از سلامت روانی کارآمد و جذاب پشتیبانی کنند. درمان‌های پزشکی شخصی راه حل‌های یادگیری عمیق با تجزیه و تحلیل تاریخچه پزشکی، علائم و آزمایش‌ها، مراقبت شخصی از بیمار را امکان‌پذیر می‌کند. پردازش زبان طبیعی (NLP) بینش‌هایی را از اطلاعات پزشکی متن آزاد استخراج می‌کند تا مناسب‌ترین درمان‌ها را تعیین کند. حل معادلات دیفرانسیل با مشتقات جزیی امکان استفاده از یادگیری عمیق به جای روش‌های متداولی مانند روش تفاضل محدود یا روش اجزا محدود وجود دارد. از آنجا که FPGAها یک زیرساخت قابل‌برنامه‌نویسی برای شتاب‌دادن به محاسبات می‌دهند و همچنین امروزه در بیشتر دنیا به سادگی قابل دسترس‌اند، FPGAها یک انتخاب خیلی خوب برای پیاده‌سازی مدل‌های DNN هستند. اما استفاده از FPGAها به دلیل اینکه به‌دست آوردن کارایی و مصرف انرژی کم آنها به‌طور همزمان کار خیلی سختی است و همچنین DNNها به حافظه زیادی نیاز دارند (در FPGA معمولاً حافظه روی برد کم است)، پیاده‌سازی مدل‌ها با FPGA بسیار دشوار است. روند کلی کار این برنامه به این صورت است که ابتدا مدل ورودی را به یک زبان میانی تبدیل می‌کند که یک گراف از جریان داده کلی را نشان می‌دهد. بعد از آن نتیجه نهایی یک کد سنتزپذیر است که با بالاترین کارایی روی FPGA موردنظر تمامی نیازهای مدل ورودی را برآورده می‌سازد. دید کلی از نساج شبکه‌های عصبی این کار کمک می‌کند تا چرخه طولانی لازم برای استفاده از FPGA در شبکه‌های عصبی عمیق کوتاه‌تر شود. هدف از این کار تولید یک چارچوب خودکار است که اولاً برنامه‌نویس را از جزئیات مربوط به طراحی و بهینه‌سازی سخت‌افزار جدا می‌کند. Caffe یکی از پراستفاده‌ترین چارچوب‌های یادگیری عمیق است که توصیف شبکه را به عنوان ورودی می‌گیرد و به مدلی قابل اجرا روی CPU یا GPU تبدیل می‌کند. DNNWEAVER از چهار بخش نرم‌افزاری تشکیل شده‌است: ترجمه‌گر نقشه‌کش طرح نسّاج طرح مجتمع‌کننده ترجمه‌گر ترجمه‌گر شبکه عمیق توصیف‌شده را به معماری مجموعه دستورها خاصی که مسیر داده را مشخص می‌کند تبدیل می‌کند. این روش یک واسط نرم‌افزار-سخت‌افزار یکپارچه را فراهم می‌کند؛ بنابراین به کمک این معماری مجموعه دستورها انواع گوناگونی از پیاده‌سازی شتاب‌دهنده‌ها را که با محدودیت‌های FPGA مقصد سازگار است، امکان‌پذیر می‌کند. نقشه‌کش طرح محاسبات هر لایه را به گروه‌هایی از عملگرها بخش‌بندی می‌کند که داده‌ها را به اشتراک می‌گذارند یا استفاده مجدد می‌کنند. هر تکه بعد از محاسبه در حافظه ریخته می‌شود و FPGA به سراغ محاسبه تکه بعدی می‌رود. از آنجایی که FPGAهای مختلف از رابط‌های مختلفی برای ارتباط با DRAM خارجی استفاده می‌کنند، این بخش شامل کتابخانه‌هایی از رابط‌های DRAM است که در هر بار کد لازم را اضافه می‌کند. دیگر کارهای مربوط در این حوزه کاری چندین سخت‌افزار با اهداف مختلف ایجاد شده‌است. | ## جمع‌بندی | روی طرحی تحلیلی بر اساس مدل خط بیشترین کار می‌کند تا با استفاده از آن سریع‌ترین طرح را برای شبکه عصبی عمیق مربوط روی FPGA بیابند.