چپ: لایهٔ ورودی که در این مثال شامل سه نورون دریافتکننده است. راست: لایهٔ خروجی با یک یا چند نورون خروجی (در این عکس دو عدد). لایه(ها) ی میانی، عموماً لایه(ها) ی پنهان نامیدهشده و نه ورودی (برای دریافت دادههای خام) هستند و نه خروجی (برای تحویل نتایج نهایی).شبکههای عصبی عمیق از یک یا چند لایهٔ پنهان تشکیل میشوند (توافقی جامع و مشخص برای تعیین حداقل تعداد لایههای مورد نیاز در یک شبکهٔ عصبی عمیق وجود ندارد).
یادگیری عمیق،یادگیری ژرف یاژرفآموزی(بهانگلیسی:Deep learning) (به بیانی دیگر:یادگیری ژرف ماشین،یادگیری ساختار ژرف یایادگیری سلسله مراتبی) یک زیر شاخه ازیادگیری ماشین و بر مبنای مجموعهای از الگوریتمها است که در تلاشند تا مفاهیم انتزاعی سطح بالا در دادگان را مدل کنند که این فرایند را با استفاده از یکگراف عمیق که دارای چندین لایه پردازشی متشکل از چندین لایه تبدیلات خطی وغیرخطی اند، مدل میکنند. به بیان دیگر پایهٔ آن بر یادگیرینمایش دانش و ویژگیها در لایههای مدل است.[۱]
الگوریتمهای DL از مجموعههای بزرگی از دادههای آموزشی برای شناسایی روابط بین عناصری مانند اَشکال، کلمات و رنگها استفاده میکنند. این روابط به الگوریتمهای DL برای پیشبینی کمک میکنند. الگوریتمهای DL میتوانند بسیاری از روابط (از جمله روابطی که شاید توسط انسان تشخیص داده نشوند) را شناسایی کرده و دادههای بسیار پیچیده را تفسیر یا پیشبینی کنند.[۱]
به قولی دیگر «یادگیری عمیق» یک نوع «یادگیری ماشین» به همراه شبکههای عصبی چندلایه است که با دقتی فزاینده الگوهای موجود در دادهها کشف کرده و به همینخاطر میتواند علائق کاربر را بشناسد، اشیا را شناسایی کرده و زبانها را بفهمد.[۲]
یک نمونه آموزشی (برای نمونه: تصویر یک گربه) میتواند به صورتهای گوناگون بسان یک بردار ریاضی پر شده از مقدار به ازای هرپیکسل و در دید کلیتر به شکل یک مجموعه از زیرشکلهای کوچکتر (نظیر اعضای صورت گربه) مدلسازی شود. برخی از این روشهای مدلسازی سبب ساده شدن فرایند یادگیری ماشین (برای نمونه: تشخیص تصویر گربه) میشوند.در یادگیری عمیق امید به جایگزینی استخراج این ویژگیهای تصویر به دست بشر (مانند اعضای گربه) با روشهای کاملخودکاربینظارت و نیمهنظارتی وجود دارد.[۳]
انگیزهٔ نخستین در به وجود آمدن این ساختار یادگیری از راه بررسی ساختار عصبی درمغز انسان الهام گرفته شدهاست که در آنیاختههای عصبی با فرستادن پیام به یکدیگر درک را امکانپذیر میکنند.[۴]بسته به فرضهای گوناگون در مورد نحوهٔ اتصال این یاختههای عصبی، مدلها و ساختارهای مختلفی در این حوزه پیشنهاد و بررسی شدهاند، هرچند که این مدلها به صورت طبیعی در مغز انسان وجود ندارد و مغز انسان پیچیدگیهای بیشتری دارد. این مدلها نظیرشبکه عصبی عمیق،شبکه عصبی همگشتی،شبکه باور عمیق و چندین نمونه دیگر؛ پیشرفتهای خوبی را در حوزههایپردازش زبانهای طبیعی وپردازش تصویر ایجاد کردهاند.
برای نمونه، درپردازش تصویر، لایههای پستتر میتوانند لبهها را تشخیص دهند، در حالی که لایههای عالیتر ممکن است ویژگیهای پرمعناتر برای انسان، همچون حروف یا چهرهها، را تشخیص دهند.
نمایی از چگونگی استخراج ویژگی جهت کلاسبندی تصاویر با روش یادگیری عمیق[۹]
یادگیری عمیق زیرمجموعه ای از یادگیری ماشینی است و چگونه یادگیری ماشین زیرمجموعه ای از هوش مصنوعی است.
یادگیری عمیق زیرشاخهای ازیادگیری ماشین است که از لایههای متعدد تبدیلات خطی به منظور پردازش سیگنالهای حسی مانند صدا و تصویر استفاده میکند. ماشین در این روش هر مفهوم پیچیده را به مفاهیم سادهتری تقسیم میکند، و با ادامهٔ این روند به مفاهیم پایهای میرسد که قادر به تصمیمگیری برای آنها است و بدین ترتیب نیازی به نظارت کامل انسان برای مشخص کردن اطلاعات لازم ماشین در هر لحظه نیست. موضوعی که در یادگیری عمیق اهمیت زیادی دارد، نحوهٔ ارائهٔ اطلاعات است. ارائه دادن اطلاعات به ماشین باید به شیوهای باشد که ماشین در کمترین زمان اطلاعات کلیدی را که میتواند با استناد به آنها تصمیم بگیرد را دریافت کند. هنگام طراحی الگوریتمهای یادگیری عمیق میبایست به عوامل دگرگونی (به انگلیسی: factors of variation) که اطلاعات مشاهده شده را توضیح میدهند توجه کنیم، این عوامل معمولاً عوامل قابلمشاهدهای نیستند بلکه عواملی هستند که بر روی دستهٔ قابلمشاهده تأثیرگذار بوده یا زادهٔ ساختارهای ذهنی انسان برای سادهتر کردن مسائل هستند. برای مثال در هنگامپردازش گفتار عوامل دگرگونی میتوانند لهجهٔ گوینده، سن یا جنسیت او باشند. در هنگام پردازش تصویر یک ماشین، میزان درخشش خورشید یک عامل دگرگونی است. یکی از مشکلاتهوش مصنوعی تأثیر زیاد عوامل دگرگونی بر روی اطلاعات دریافتی است. برای مثال بسیاری از پیکسلهای دریافتی از یک ماشین قرمز در شب ممکن است سیاه دیده بشوند. برای حل این مشکلات بعضاً به درک بالای اطلاعات (در حدود انسان) نیازمندیم و در واقع گاهی یافتن نحوهٔ مناسب نمایش اطلاعات به اندازهٔ خود مسئله سخت و زمانبر است.
اگرچه شبکه های عصبی (و شبکه های عصبی عمیق) در ابتدا به عنوان یک رویکرد عملگرایانه (و کمتر مبتنی بر طرح ریزی نظریاتی) مورد استفاده و پذیرش قرار گرفتند، ولی هم در قرن بیستم (در کارهای امثالکلمگرف[۱۰][۱۱]و دیگران) و هم در دهه سوم قرن بیست و یکم[۱۲]، مبانی نظری برای توصیف عمیقِ مفاهیمِ ساختار، عملکرد و رفتار این شبکه ها توسط محققین فراهم آمد.
نخستینالگوریتم عملی یادگیرنده برایپرسپترونهای چندلایهٔ نظارتشده، عمیق وپیشخور، در دههٔ ۱۹۶۰ توسطالکسی ایواخننکو - معروف به «پدر یادگیری عمیق»[۱۳] - و والنتن لاپا منتشر شد.[۱۴] در سال ۱۹۷۱، مقالهای یک شبکهٔ عمیق با هشت لایه را توصیف کرد که عملیات یادگیری را بامتد گروهی مدیریت داده (GMDH) انجام داده بود.[۱۵] سایر معماریهای یادگیری عمیق و به ویژه آنهایی که برایبینایی رایانه ساخته شده بودند، در ۱۹۸۰ و با Neocognitron معرفیشده توسطکونیهیکو فوکوشیما آغاز گشتند.[۱۶]
لفظیادگیری عمیق، نخستینبار در ۱۹۸۶ و توسطرینا دِختِر در زمینهٔ یادگیری ماشین به کار رفت؛ وی در مقالهای تحت عنوانیادگیری به هنگامجستجو درمسائل ارضای محدودیت (Learning While Searching in Constraint-Satisfaction-Problems) از این لفظ برای پروسهای استفاده کرد که در آن تمامی راهحلها در یک فضای جستجو که به پاسخ مناسب نمیرسیدند نیز ذخیره میشدند. تحلیل این راهحلهای ذخیرهشده امکان کنترل بهتر در تلاشهای بعدی را ممکن میساخت، و به دنبال آن در همان مراحل نخستین ازگیر کردن در بنبستهای احتمالی نیز جلوگیری میکرد.[۱۷][۱۸] با این وجود امروزه لفظ یادگیری عمیق عموماً در حوزهٔشبکههای عصبی مصنوعی به کار میرود که نخستینبار در سال ۲۰۰۰ و توسط ایگور آیزنبرگ و همکاران در حوزهٔ یادشده استفاده شد؛ بهطور دقیقتر، در کتابنورونهای دودویی چندمقداری و جهانی: نظریه، یادگیری و کاربردها (Multi-Valued and Universal Binary Neurons: Theory, Learning and Applications) و در زمینهٔ نورونهای حدآستانهٔبولی.[۱۹][۲۰]
در سال ۱۹۸۹،یان لیکان و همکاران الگوریتم استانداردپسانتشار را برای یک شبکهٔ عصبی عمیق با هدفتشخیص متنهای دستنویس (بهطور خاص با هدف بازشناسی کدهای پستی دستنویس روی نامههای پستی) به کار بست. درحالی که الگوریتم کار میکرد، عملیات یادگیری آن به سه روز زمان نیاز داشت. مدل مورد استفاده از یک لایهٔ ورودی با ۲۵۶ واحد (پیکسلهای یک تصویر مربعی ۱۶×۱۶)، یک لایهٔ خروجی با ۱۰ واحد (که مشخص میکرد تصویر رقمی که به ورودی دادهشدهاست، کدام یک از ارقام ۰ تا ۹ است) و سه لایهٔ پنهان در میان این دو تشکیل شده بود. با ارزیابی مدل بر روی مجموعهدادهٔ تست، ۸/۱٪ ردهبندی اشتباه و ۱۹/۴٪ بازپسزنی برای ۱٪ نرخ خطا در میان الگوهای تست باقیمانده به دست آمد که نشان میداد که این مدل نسبت به مدلهای ارائهشدهٔ پیشین از دقت بالاتری برخوردار است و استفاده از الگوریتم پسانتشار، روشی مناسب در فرایند تعلیم شبکههای عصبی عمیق است.[۲۱] لازم است ذکر شود که خود الگوریتم پسانتشار، از پیش و از ۱۹۷۰ نیز به عنوان حالت معکوس مشتق خودکار وجود داشت.[۲۲][۲۳]
تا سال ۱۹۹۱، چنین سامانههایی عموماً برای تشخیص ارقام دوبُعدی دستنویس ایزولهشده (به این معنا که ارقام به صورت تنها و بدون جزئیات و ویژگیهای اضافهٔ دیگری در پسزمینه - مثلاً متن وحروف اضافه - نوشتهشدهاند) به کار میرفتند؛ درحالی که بازشناسی اجسام سهبُعدی همچنان یک چالش بود. در سال ۱۹۹۲، پژوهشی از جان ونگ و همکاران با توضیح معایب و محدودیتهای شبکههای عصبی سهلایهای که برای این منظور به کار میرفتند، از مفهومشبکهٔ سلسلهمراتبی (به انگلیسی: hierarchical network) استفاده کرده و مدلی موسوم به Cresceptron را ارائه دادند که قادر بود اجسام سهبعدی در محیطهای شلوغ را نیز تشخیص دهد.[۲۴][۲۵][۲۶] مفهومتجمیع حداکثری (به انگلیسی: max pooling) نیز نخستینبار در همین پژوهش پیادهسازی شد.[نیازمند منبع] از آنجایی که این مدل میتوانست مستقیماً تصاویر طبیعی (سوژههای سهبعدی، با حضور عناصر دیگر در پسزمینه) را به عنوان ورودی دریافت کند، تبدیل به بنیانی برای یادگیری بصری همهمنظوره شد.
در سال ۱۹۹۴، آندره د کاروالیو به همراه مایک فیرهورست و دیوید بیسیت، معماریای مبتنی بر یک شبکهٔ عصبی بولی چندلایه را ارائه داد که تحت عنوان شبکهٔ عصبی بیوزن نیز شناخته میشد. این معماری از یک ماژول شبکهٔ عصبی سهلایهای خودساماندهندهٔ استخراج ویژگی (به انگلیسی: self-organising feature extraction یا SOFT) به همراه یک ماژول شبکهٔ عصبی چندلایهٔردهبندی (بهطور خاص یک شبکه با معماری GSN یا goal-seeking network) تشکیل شده بود که به صورت مستقل عملیات یادگیری را انجام میدادند. در ماژول استخراج ویژگی، تصویر ورودی به چند زیرمجموعه تقسیم شده و هر قسمت به یک بلاک از نورونها (که دارای سلسلهمراتب بوده و در چند لایه تقسیم شدهبودند) داده میشد و هر بلاک به صورت موازی با دیگر بلاکها و مستقل از آنها آموزش میدید.[۲۷][۲۸]
در سال ۱۹۹۵،یوزف زِپ هُخرایتر که پیشتر و در ۱۹۹۱ در پایاننامهٔ خود - تحت عنوان:بررسیهایی در شبکههای عصبی پویا (بهآلمانی: Untersuchungen zu dynamischen neuronalen Netzen) - به بررسی مسئلهٔگرادیان کاهشی پرداخته بود[۲۹] (که خود پیشتر و در ۱۸۴۷مطرح شده[۳۰] و در ۱۹۴۴ نیز برای مسائل بهینهسازی غیرخطی مورد مطالعه قرار گرفته بود[۳۱]) به همراهیورگن اشمیدهوبر، معماریالاستیام را ارائه داد[۳۲] و در مقالهٔ دیگری در سال ۱۹۹۷، آن را بهبود بخشید[۳۳] که زمینهٔ بزرگی را برای پیشرفتشبکههای عصبی بازگشتی فراهم ساخت[نیازمند منبع]. در همان سال ۱۹۹۵، برندن فرِی به همراهجفری هینتون و پیتر دایان نشان دادند که میتوان با استفاده ازالگوریتم بیدار-خواب، شبکهای تشکیلشده از شش لایهٔکاملاً همبند و با چندصد واحد پردازشی مخفی را آموزش داد.[۳۴]
تا قبل از پیدایش یادگیری عمیق، روشهای یادگیری ماشین سنتی، بیشاز حد به بازنماییهایی (انتخاب ویژگیها) که از دادهها بهدست میآورند، وابسته بودند. این روشها، نیاز به یک متخصص در دامنه موضوع داشت تا استخراج ویژگیها را بهصورت دستی انجام دهد. حال آنکه، این استخراج ویژگیها به صورت دستی فرآیندی چالشانگیز و زمانبر است. پیدایش یادگیری عمیق توانست بهسرعت جایگزین این روشهای سنتی شود. چرا که میتوانست استخراج ویژگیها را بهصورت خودکار متناسب با هر مسئله بهدست آورد.[۳۵]
در حالیکه مدلهای یادگیری عمیق در دهه گذشته، در برخورد با ورودیهایی به شکل تصاویر، گفتار یا ویدیو که اساس ساختار آنها اقلیدسی است، موفقیتآمیز عمل کرده، اخیراً، علاقه محققان در تلاش برای استفاده از یادگیری بر روی دادههای غیراقلیدسی افزایش یافتهاست. یادگیری عمیق هندسی، زمینه نوظهور تحقیقاتی است که سعی در تعمیم معماری یادگیری عمیق برای کار با دادههای غیراقلیدسی دارد، تا این شکاف را پر کند.[۳۵]
شبکههای عصبی گراف، دستهای از روشهای یادگیری عمیق هستند که بهطور خاص، برای استنباط بر دادههای توصیفشده توسط گرافها طراحی شدهاند. ایجاد مدلهایی که مستقیماً بروی گرافها کار میکنند، مطلوبتر است. چراکه، میتوانیم اطلاعات بیشتری در مورد ساختار و خصوصیات آنها را بهدست آوریم.
شبکههای عصبی گراف، بهطور مستقیم برروی گرافها اعمال میشوند و روشی آسان برای انجام وظایفی همانند، پیشبینی سطح گره، یال و گراف ارائه میکنند. تا پیش از، توسعه شبکههای عصبی گراف، روشهای یادگیری عمیق توانایی اعمال برروی یالها در جهت استخراج دانش و پیشبینی را نداشتند. در عوض، تنها بر اساس ویژگیهای گره عمل میکردند.[۳۵]
یکی از نخستین زمینههای بسیار موفق برای یادگیری عمیق که پتانسیل بالقوهٔ این روش در حل مسائل را نشان داد، در حوزهٔ بازشناسی تصویر رخ داد.از سال ۲۰۱۰ و در پروژهای موسوم بهایمیجنت مسابقهای سالانه برگزار میشود که شرکتکنندگان با ارائهٔ الگوریتمهای کامپیوتری گوناگون، تلاش به بازشناسی تصاویر دیجیتالی در مقیاس کلان کرده و بر سر دستیابی به دقّتهای بالاتر با یکدیگر رقابت میکنند. حال در سال ۲۰۱۲، یکشبکهٔ عصبی همگشتی به نامالکسنت در این رقابت به کار رفت و با کسب نتایجی بسیار چشمگیر، توجههای گستردهای را به سوی روش یادگیری عمیق جلب کرد؛ به شکلی که به باور برخی، در این سال «انقلاب یادگیری عمیق» رخ داد. لازم است ذکر شود که دقت الکسنت در تشخیص تصاویرپایگاه دادهی ایمیجنت از دقت انسان نیز فراتر بود (هرچند البته حتی پیش از ارائهٔ الکسنت نیز الگوریتمهای دیگری به عملکرد فراانسانی دست پیدا کرده بودند).[۳۶][۳۷]
امروزه نیز شبکههای عصبی در بینایی رایانه دارای نقشی کلیدی بوده و برای اهداف گوناگونی چون بازشناسی تصویر، تشخیص چهره، رهگیری اجسام، حذف نویز، رنگیکردن تصاویر سیاه و سفید، ترمیم تصاویر آسیبدیده،ردهبندی تصاویر پزشکی و… به کار میرود.[۳۸]
از دیگر زمینههای موفق برای یادگیری عمیق، تشخیص و بازشناسی خودکار گفتار در مقیاس گسترده است که معمولاً توسط مدلهای مبتنی برشبکه عصبی بازگشتی (به ویژه از نوعالاستیام) و شبکه عصبی همگشتی انجام میگیرد.[۳۹]
یادگیری عمیق اثر بزرگی در پیشرفت شاخهٔ پردازش زبانهای طبیعی ایجاد کرده و با ایجاد یک چهارچوب مدلسازی قدرتمند، به نتایج چشمگیری دست یافتهاست.[۴۰] به عنوان نمونه، مدل زبانیجیپیتی-۳ ازاوپن ایآی با بهرهگیری روشهای یادگیری عمیق قادر به تولید متونی مشابه متون نوشتهشده توسط انسان است.[۴۱]
سیگنالهایالکترومیوگرافی میتوانند به عنوان رابطی میان انسان و ماشین عمل کرده و با تحلیل آنها از مقصود کاربر جهت کنترل تجهیزات گوناگون بهره برد. به عنوان نمونه، افراد دچار نقص عضو میتوانند اعضایی مصنوعی را جایگزین عضو قطعشدهٔ خود کرده و آنها را به شیوهٔ مؤثری کنترل کنند. یا با همین روش میتوان اعضایی کمکی و تقویتکننده همچون اسکلت خارجی را کنترل کرد. برای تحلیل این سیگنالهای خام و ارائهٔ خروجی مناسب برای کنترل دستگاه، بهرهگیری از روش یادگیری عمیق میتواند بسیار کاربردی باشد.[۴۲]
سامانههای پیشنهادگر از یادگیری عمیق جهت استخراج ویژگیهای معنادار برای یک مدلفاکتورهای پنهان به منظور پیشنهادهای محتوا-محور موسیقی و مجله بهره بردهاند.[۴۳][۴۴] یادگیری عمیق چنددیدگاهی (به انگلیسی: multi-view deep learning) جهت یادگیری ترجیحهای کاربر از چندین دامنه به کار میرود.[۴۵]
گوگل و تسلا امروزه ثابت کردهاند که خودروهای بدون سرنشین یا خودران امکانپذیر هستند. اما به هرحال باید گفت این خودروها هنوز نیاز به یادگیری بیشتر و تمرین و آزمایشهای متفاوتی هستند و فعالیتها و متغیرهای بسیاری باید مورد بررسی قرار بگیرد.
تشخیص صدا جزئی جدانشدنی از فرایند زبان است. تحلیل صدای ورودی برای یک سامانه هوش مصنوعی بسیار سخت است؛ زیرا که عوامل متعددی در تشخیص درست صدا نقش دارند.
بهطور مثال وجود نویز در پیشزمینه، لهجهها، خلاقیتها و بازیهای زبانی افراد و همچنین ناتوانیهای خاص گفتاری و عوامل دیگر تشخیص دقیق واژههای به کار رفته در صدای به چیزی که رایانه بتواند آن را تحلیل کند، سخت میکند.
استفاده از شبکههای «یادگیری عمیق» میتواند در نرمافزارهای متعددی با تشخیص الگوی بهکار رفته توسط کاربر، کیفیت ارائهٔ خدمات را بالا ببرد.
هوش مصنوعیای که به خوبی با کاربر خود تطابق یافته باشد، میتواند اطلاعات غیر مرتبط را نادیده گرفته و برای کاربر اطلاعات مرتبط ارائه کند. تشخیص الگو همچنین میتواند تحلیل کلان داده را موثرتر سازد.
هوش مصنوعی ضعیف، موفقیتهایی در حوزه تولید متن با معنا و پیشرفت در حوزه کدنویسی داشتهاست. بهطور مثال GPT-۳ از شرکت OpenAI یک نرمافزار اوپن سورس زبان تولیدکننده است که میتواند با کمترین دستورالعمل از سوی کاربر، کدنویسی کرده یا برنامههای ساده کامپیوتری ایجاد کند. در آینده احتمالاً شاهد حضور نرمافزارهای بیشتری که از این نوع فناوریها بهرهمندند خواهیم بود و کار با نرمافزارهای تخصصی رنگ و بوی دیگری به خود خواهد گرفت.
هوش مصنوعی نقش مهمتری در معیارهای امنیت سایبری سازمانها، افراد و دولتها به عهده خواهد گرفت که شامل نظارت، شناسایی تهدیدهای اطلاعاتی، اطلاع از نفوذ امنیتی، پاسخ به اتفاقات و تحلیل ریسک خواهد بود. هوش مصنوعی همچنان میتواند ابزارهای نظارتی قدرتمندی در اختیار دولتها قرار دهد تا بهطور راحتتری مخالفان خود را شناسایی کنند.
برنامههای رایانهای روزبهروز در تولید محتوا بهتر میشوند و هوش مصنوعی هماکنون نیز در شناسایی موارد تخلف قانون حق نشر، ساخت بازیهای ویدیویی و فیلمهای سینمایی نقش مهمی دارند و در آینده این نقش برجستهتر خواهد شد.
تشخیص تصویر و تشخیص شی در فرآیندهایی مانند تشدید مغناطیسی (MR) و توموگرافی کامپیوتری (CT) برای کارهایی مانند تقسیمبندی تصویر، تشخیص بیماری و پیشبینی استفاده میشود.
مدلهای یادگیری عمیق بهطور مؤثر دادههای تصویربرداری را با در نظر گرفتن فاکتورهایی مانند اندازه، حجم و شکل بافت تفسیر میکنند و میتوانند قسمتهای مهم در تصاویر را برجسته کنند.
کاربردها شامل تشخیص رتینوپاتی دیابتی، تشخیص زودهنگام آلزایمر و تشخیص اولتراسوند ندولهای پستان است.
انتظار میرود پیشرفت در یادگیری عمیق امکان بررسی جامع تصاویر پاتولوژی و رادیولوژی را در آینده فراهم کند.
الگوریتمهای یادگیری عمیق تجزیه و تحلیل دادههای پیچیده را ساده میکنند و دقت تشخیص ناهنجاری را افزایش میدهند. شبکههای عصبی کانولوشنال (CNN) بینشهایی را ارائه میکنند که به متخصصان پزشکی در شناسایی به موقع و دقیق مسائل بهداشتی کمک میکند. در یک مطالعه در سال ۲۰۱۸، CNNها بیش از ۱۰ درصد دقت بالاتری را در شناسایی ملانوم در مقایسه با متخصصان نشان دادند.
مدلهای یادگیری عمیق بهطور مؤثر دادههای ساختاریافته و بدون ساختار را در پروندههای الکترونیک سلامت (EHR)، از جمله یادداشتهای بالینی، نتایج آزمایش، تشخیصها و داروها تجزیه و تحلیل میکنند.
تلفنهای هوشمند و دستگاههای پوشیدنی اطلاعات ارزشمندی دربارهٔ شیوه زندگی ارائه میدهند و به تغییر دادهها برای نظارت بر عوامل خطر پزشکی با استفاده از برنامههای تلفن همراه کمک میکنند.
استفاده از برنامههای سلامت روان مبتنی بر هوش مصنوعی، از جمله رباتهای چت، در حال افزایش است و برخی از آنها از یادگیری عمیق برای تعاملات واقعی تر با بیمار استفاده میکنند.
مطالعات نشان میدهد که عوامل مکالمه هوشمند میتوانند بهطور قابل توجهی علائم افسردگی و اضطراب را کاهش دهند و از سلامت روانی کارآمد و جذاب پشتیبانی کنند.
نمودار ون درباره رابطه میان یادگیری عمیق و مفهوم هوش مصنوعی
شبکههای عصبی عمیق (DNNs) مدلهای یادگیری هستند که دارای محاسبات خیلی زیادیاند. این مدلها کاربردهای روزافزونی در بخشهای مختلف دارند. از آنجا که FPGAها یک زیرساخت قابلبرنامهنویسی برای شتابدادن به محاسبات میدهند و همچنین امروزه در بیشتر دنیا به سادگی قابل دسترساند، FPGAها یک انتخاب خیلی خوب برای پیادهسازی مدلهای DNN هستند. اما استفاده از FPGAها به دلیل اینکه بهدست آوردن کارایی و مصرف انرژی کم آنها بهطور همزمان کار خیلی سختی است و همچنین DNNها به حافظه زیادی نیاز دارند (در FPGA معمولاً حافظه روی برد کم است)، پیادهسازی مدلها با FPGA بسیار دشوار است.نساج یا بافنده شبکههای عصبی (DNNWEAVER) یک چارچوب است که به صورت خودکار یک کد قابلسنتز برای یکزوج مرتب (DNN, FPGA) تولید میکند. مدل DNN را به صورتی که در Caffe معرفی میکنند به عنوان ورودی میدهند.
روند کلی کار این برنامه به این صورت است که ابتدا مدل ورودی را به یک زبان میانی تبدیل میکند که یکگراف از جریان داده کلی را نشان میدهد. در این مرحله باالگوریتمهای مختلفمدل داده شده را گروهبندی میکند تا با توجه به حافظه FPGA و دیگر منابع موجود روی FPGA به حداکثر استفاده مجدد از دادهها و بالاترین سطح کارایی برسد. بعد از آن نتیجه نهایی یک کد سنتزپذیر است که با بالاترین کارایی روی FPGA موردنظر تمامی نیازهای مدل ورودی را برآورده میسازد.
این کار کمک میکند تا چرخه طولانی لازم برای استفاده از FPGA در شبکههای عصبی عمیق کوتاهتر شود. هدف از این کار تولید یک چارچوب خودکار است که اولاً برنامهنویس را از جزئیات مربوط به طراحی و بهینهسازی سختافزار جدا میکند. دوماً خود چارچوب به منابع محدود موجود روی FPGA دست و پنجه نرم میکند؛ و در نهایت چارچوب پایدار برای FPGA فراهم میکند که کارایی بالایی را برای پیادهسازی مدلهای مختلف شبکههای عصبی عمیق روی FPGAهای گوناگون ارائه میکند. برای رسیدن به چنین هدفهایی DNNWEAVER طراحی شدهاست. در مرحله اول DNNWEAVER نیاز به یک مدل شبکه عصبی عمیق دارد که با استفاده از یک رابط سطح بالا مشخص شدهاست.
ترجمهگر شبکه عمیق توصیفشده را به معماری مجموعه دستورها خاصی که مسیر داده را مشخص میکند تبدیل میکند. هر دستور در این مجموعه نشان دهنده یک گره در گراف مسیر داده شبکه است. توجه کنید که FPGA مستقیماً این دستورها را اجرا نمیکند.کامپایلر DNNWEAVER این دستورها را به سیگنالهای کنترلی FPGA مینگارد و یک تقویم اجرا را درست میکند. این روش یک واسط نرمافزار-سختافزار یکپارچه را فراهم میکند؛ بنابراین به کمک این معماری مجموعه دستورها انواع گوناگونی از پیادهسازی شتابدهندهها را که با محدودیتهای FPGA مقصد سازگار است، امکانپذیر میکند.
نقشهکش طرح دستورها تولید شده در مرحله قبل را به عنوان ورودی میگیرد و با کمک الگوریتم بهینهسازی منابع الگو قالبهای سختافزاری را برای FPGA مقصد بهینه میکند. نقشهکش طرح محاسبات هر لایه را به گروههایی از عملگرها بخشبندی میکند که دادهها را به اشتراک میگذارند یا استفاده مجدد میکنند. به هرکدام این بخشها تکه میگوییم. هر تکه بعد از محاسبه در حافظه ریخته میشود و FPGA به سراغ محاسبه تکه بعدی میرود. شتابدهنده شبکههای عصبی مشکل اساسی با مقدار زیاد حافظه موردنیاز برخلاف حافظه کم FPGA دارد که DNNWEAVER این مشکل را با استفاده از الگوریتم بهینهسازی منابع الگو بهبود میدهد و به کمک آن یک تعادل بین عملگرهای موازی و استفاده مجدد از دادهها با توجه به محدودیتهای FPGA مقصد برقرار میکند.
نسّاجی طرح مرحله یکیمانده به آخر از DNNWEAVER است که ورودی آن مقدار منابع موردنیاز و تقویم اجرای تولید شده در مرحله قبل است و به کمک آن هسته شتابدهنده را تولید میکند. DNNWEAVER از تعدادی قالب بهینهسازی دستی استفاده میکند که با توجه به گرفتن منابع و سازماندهی سختافزار که در مرحله قبل تولید شده از آن قالبها استفاده میکند.
آخرین قسمت DNNWEAVER مجتمعکننده است. در این مرحله کدهای رابط حافظه به کدهای شتابدهنده اضافه میشود. از آنجایی که FPGAهای مختلف از رابطهای مختلفی برای ارتباط با DRAM خارجی استفاده میکنند، این بخش شامل کتابخانههایی از رابطهای DRAM است که در هر بار کد لازم را اضافه میکند.
در این حوزه کاری چندین سختافزار با اهداف مختلف ایجاد شدهاست. هر چند که DNNWEAVER یک شتابدهنده نیست، بلکه تولیدکننده کد یک شتابدهنده است.
Tabla[۴۹] یک شتابدهنده FPGA برای فاز آموزش الگوریتمهای یادگیری ماشین ارائه میکند در حالی که DNNWEAVER رو رابط شبکههای عصبی تمرکز دارد. Tabla از زبان ریاضیاتی مختص به خودش استفاده میکند در حالی که DNNWEAVER از زبان Caffe برای مشخص کردن مدل استفاده میکند.
کار انجام شده توسط چن و همکارانش[۵۰] روی طرحی تحلیلی بر اساس مدل خط بیشترین کار میکند تا با استفاده از آن سریعترین طرح را برای شبکه عصبی عمیق مربوط روی FPGA بیابند. اما این کار برخی لایهها مثل ائتلافی (Pooling) را دربر نمیگیرد.
↑Song, Hyun Ah, and Soo-Young Lee. "Hierarchical Representation Using NMF." Neural Information Processing. Springer Berlin Heidelberg, 2013.
↑Olshausen, Bruno A. "Emergence of simple-cell receptive field properties by learning a sparse code for natural images." Nature 381.6583 (1996): 607-609.
↑Kolmogorov, A. N. "On representation of continuous function of many varibales using superposition of continuous single-variable functions and addition."Proceedings of AS USSR 114 (1957): 679-681.
↑Joudaki, Amir. "On a Mathematical Understanding of Deep Neural Networks." PhD diss., ETH Zurich, 2024.
↑Yangqing Jia, Evan Shelhamer, Jeff Donahue, Sergey Karayev, Jonathan Long, Ross Girshick, Sergio Guadarrama, and Trevor Darrell. Caffe: Convolutional architecture for fast feature embedding. arXiv preprint
↑Divya Mahajan, Jongse Park, Emmanuel Amaro, Hardik Sharma, Amir Yazdanbakhsh, Joon Kyung Kim, and Hadi Esmaeilzadeh. Tabla: A unified template-based framework for accelerating statistical machine
↑Chen Zhang, Peng Li, Guangyu Sun, Yijin Guan, Bingjun Xiao, and Jason Cong. Optimizing fpga-based accelerator design for deep convolutional neural networks. In FPGA, 2015.