شبکه های عصبی مصنوعی – Mohammad Vand Jalili https://www.vandjalili.ir Diagnosis of Cancer and Brain Tumors Sat, 25 Jun 2022 09:01:10 +0000 fa-IR hourly 1 https://wordpress.org/?v=6.5.2 https://www.vandjalili.ir/wp-content/uploads/2022/06/cropped-a-i-artificial-intelligence-logo-EC5FBC89DC-seeklogo.com_-32x32.png شبکه های عصبی مصنوعی – Mohammad Vand Jalili https://www.vandjalili.ir 32 32 یادگیری ماشین (Machine Learning) چیست؟ https://www.vandjalili.ir/%db%8c%d8%a7%d8%af%da%af%db%8c%d8%b1%db%8c-%d9%85%d8%a7%d8%b4%db%8c%d9%86-machine-learning-%da%86%db%8c%d8%b3%d8%aa%d8%9f/ https://www.vandjalili.ir/%db%8c%d8%a7%d8%af%da%af%db%8c%d8%b1%db%8c-%d9%85%d8%a7%d8%b4%db%8c%d9%86-machine-learning-%da%86%db%8c%d8%b3%d8%aa%d8%9f/#comments Fri, 28 Feb 2020 04:40:09 +0000 https://pxltheme.com/wp/bolby?p=249 در علم یادگیری ماشین (Machine Learning)، به موضوع طراحی ماشین‌هایی پرداخته می‌شود که با استفاده از مثال‌های داده شده به آن‌ها و تجربیات خودشان، بیاموزند. در واقع، در این علم تلاش می‌شود تا با بهره‌گیری از الگوریتم‌ها، یک ماشین به شکلی طراحی شود که بدون آنکه صراحتا برنامه‌ریزی و تک تک اقدامات به آن دیکته شود بتواند بیاموزد و عمل کند. در یادگیری ماشین، به جای برنامه‌نویسی همه چیز، داده‌ها به یک الگوریتم عمومی داده می‌شوند و این الگوریتم است که براساس داده‌هایی که به آن داده شده منطق خود را می‌سازد. یادگیری ماشین روش‌های گوناگونی دارد که از آن جمله می‌توان به یادگیری نظارت شده، نظارت نشده و  یادگیری تقویتی اشاره کرد. الگوریتم‌های مورد استفاده در یادگیری ماشین جزو این سه دسته هستند.

 فهرست مطالب این نوشته

 مثال‌هایی از یادگیری ماشین

 نیازهای یادگیری ماشین

 انواع یادگیری ماشین

 یادگیری تقویتی

 ریاضیات هوشمندی

الگوریتم دسته‌بندی مثالی برای مطلب بیان شده است. این الگوریتم می‌تواند داده‌ها را در گروه‌های (دسته‌های) مختلف قرار دهد. الگوریتم دسته‌بندی که برای بازشناسی الفبای دست‌خط استفاده می‌شود را می‌توان برای دسته‌بندی ایمیل‌ها به هرزنامه و غیر هرزنامه نیز استفاده کرد.

تام میشل (Tom M. Mitchell) در تعریف یادگیری ماشین می‌گوید: «(یک برنامه یادگیرنده) برنامه رایانه‌ای است که به آن گفته شده تا از تجربه E مطابق با برخی وظایف T، و کارایی عملکرد P برای وظیفه T که توسط P سنجیده می‌شود، یاد بگیرد که تجربه E را بهبود ببخشد.»

به عنوان مثالی دیگر، می‌توان بازی دوز (چکرز) را فرض کرد.

  • E: تجربه بازی کردن بازی دوز به دفعات زیاد است.
  • T: وظیفه انجام بازی دوز است.
  • P: احتمال آنکه برنامه بتواند بازی بعدی را ببرد است.

مثال‌هایی از یادگیری ماشین

مثال‌های متعددی برای یادگیری ماشین وجود دارند. در اینجا چند مثال از مسائل طبقه‌بندی زده می‌شود که در آن‌ها هدف دسته‌بندی اشیا به مجموعه‌ای مشخص از گروه‌ها است.

  • تشخیص چهره: شناسایی چهره در یک تصویر (یا تشخیص اینکه آیا چهره‌ای وجود دارد یا خیر).
  • فیلتر کردن  ایمیل‌ها: دسته‌بندی ایمیل‌ها در دو دسته هرزنامه و غیر هرزنامه.
  • تشخیص پزشکی: تشخیص اینکه آیا بیمار مبتلا به یک بیماری است یا خیر.
  • پیش‌بینی آب و هوا: پیش‌بینی اینکه برای مثال فردا باران می‌بارد یا خیر.

نیازهای یادگیری ماشین

یادگیری ماشین زمینه مطالعاتی است که از هوش مصنوعی سر بر آورده. بشر با استفاده از هوش مصنوعی به‌دنبال ساخت ماشین‌های بهتر و هوشمند است. اما پژوهشگران در ابتدا به جز چند وظیفه ساده، مانند یافتن کوتاه‌ترین مسیر بین نقطه A و B، در برنامه‌ریزی ماشین‌ها برای انجام وظایف پیچیده‌تری که به‌طور مداوم با چالش همراه هستند ناتوان بودند. بر همین اساس، ادراکی مبنی بر این شکل گرفت که تنها راه ممکن برای تحقق بخشیدن این مهم، طراحی ماشین‌هایی است که بتوانند از خودشان یاد بگیرند. ماشین در این رویکرد به مثابه کودکی است که از خودش می‌آموزد. بنابراین، یادگیری ماشین به‌عنوان یک توانایی جدید برای رایانه‌ها مطرح شد. امروزه این علم در بخش‌های گوناگون فناوری مورد استفاده قرار می‌گیرد، و بهره‌گیری از آن به اندازه‌ای زیاد شده که افراد اغلب از وجودش در ابزارها و لوازم روزمره‌ خود بی‌خبرند.

یافتن الگوها در داده‌های موجود در سیاره زمین، تنها برای مغز انسان امکان‌پذیر است. اما هنگامی که حجم داده‌ها بسیار زیاد می‌شود و زمان لازم برای انجام محاسبات افزایش می‌یابد، نیاز به یادگیری ماشین به عنوان علمی مطرح می‌شود که به افراد در کار با داده‌های انبوه در حداقل زمان کمک می‌کند.

با وجود آنکه مباحث مِه‌داده (کلان داده/big data) و پردازش ابری به دلیل کاربردی که در جنبه‌های گوناگون زندگی بشر دارند حائز اهمیت شده‌اند، اما در حقیقت یادگیری ماشین فناوری است که به دانشمندان داده در تحلیل بخش‌های بزرگ داده، خودکارسازی فرآیندها، بازشناسی الگوها و ارزش‌آفرینی کمک می‌کند.

روشی که اکنون برای داده‌کاوی استفاده می‌شود برای سال‌ها مطرح بوده، اما موثر واقع نشده زیرا قدرت رقابتی برای اجرای الگوریتم‌ها نداشته. این در حالی است که امروزه اگر به‌عنوان مثال یک الگوریتم یادگیری عمیق با دسترسی به داده‌های خوب اجرا شود، خروجی دریافت شده منجر به پیشرفت‌های چشم‌گیری در یادگیری ماشین می‌شود.

انواع یادگیری ماشین

الگوریتم‌های یادگیری ماشین بر سه نوع هستند:

  • یادگیری نظارت شده
  • یادگیری نظارت نشده
  • یادگیری تقویتی

یادگیری نظارت شده

اغلب روش‌های یادگیری ماشین از یادگیری نظارت شده استفاده می‌کنند. در یادگیری ماشین نظارت شده، سیستم تلاش می‌کند تا از نمونه‌های پیشینی بیاموزد که در اختیار آن قرار گرفته. به عبارت دیگر، در این نوع یادگیری، سیستم تلاش می‌کند تا الگوها را بر اساس مثال‌های داده شده به آن فرا بگیرد.

به بیان ریاضی، هنگامی که متغیر ورودی (X) و متغیر خروجی (Y) موجودند و می‌توان بر اساس آن‌ها از یک الگوریتم برای حصول یک تابع نگاشت ورودی به خروجی استفاده کرد در واقع یادگیری نظارت شده است. تابع نگاشت به صورت (Y = f(X نشان داده می‌شود.

مثال:

برای باز شدن مساله در ادامه توضیحات بیشتری ارائه می‌شود. همانطور که پیش از این بیان شد، در یادگیری ماشین مجموعه داده (هایی) به الگوریتم داده می‌شود و ماشین منطق خود را بر اساس آن مجموعه داده (ها) شکل می‌دهد. این مجموعه داده دارای سطرها و ستون‌هایی است. سطرها (که از آن‌ها با عنوان رکورد و نمونه داده نیز یاد می‌شود) نماینده نمونه داده‌ها هستند. برای مثال اگر مجموعه داده مربوط به بازی‌های فوتبال (وضعیت جوی) باشد، یک سطر حاوی اطلاعات یک بازی خاص است. ستون‌ها (که از آن‌ها با عنوان خصیصه، ویژگی، مشخصه نیز یاد می‌شود) در واقع ویژگی‌هایی هستند که هر نمونه داده را توصیف می‌کنند.https://beta.kaprila.com/a/templates_ver2/templates.php?ref=blog.faradars&id=string-1&w=760&h=140&t=string&bg=fffff3&hover=ffffcb&rows=3&cid=1871,391,2560&wr=cat_2_data_mining,cat_data_mining,cat_2_data_mining

در مثالی که پیش‌تر بیان شد، مواردی مانند وضعیت هوا شامل ابری بودن یا نبودن، آفتابی بودن یا نبودن، وجود یا عدم وجود مه، بارش یا عدم بارش باران و تاریخ بازی از جمله ویژگی‌هایی هستند که وضعیت یک مسابقه فوتبال را توصیف می‌کنند. حال اگر در این مجموعه داده به عنوان مثال، ستونی وجود داشته باشد که مشخص کند برای هر نمونه داده در شرایط جوی موجود برای آن نمونه خاص بازی فوتبال انجام شده یا نشده (برچسب‌ها) اصطلاحا می‌گوییم مجموعه داده برچسب‌دار است. اگر آموزش الگوریتم از چنین مجموعه داده‌ای استفاده شود و به آن آموخته شود که بر اساس نمونه داده‌هایی که وضعیت آن‌ها مشخص است (بازی فوتبال انجام شده یا نشده)، درباره نمونه داده‌هایی که وضعیت آن‌ها نامشخص است تصمیم‌گیری کند، اصطلاحا گفته می‌شود یادگیری ماشین نظارت شده است.

مسائل یادگیری ماشین نظارت شده قابل تقسیم به دو دسته «دسته‌بندی» و «رگرسیون» هستند.

دسته‌بندی: یک مساله، هنگامی دسته‌بندی محسوب می‌شود که متغیر خروجی یک دسته یا گروه باشد. برای مثالی از این امر می‌توان به تعلق یک نمونه به دسته‌های «سیاه» یا «سفید» و یک ایمیل به دسته‌های «هرزنامه» یا «غیر هرزنامه» اشاره کرد.

رگرسیون: یک مساله هنگامی رگرسیون است که متغیر خروجی یک مقدار حقیقی مانند «قد» باشد. در واقع در دسته‌بندی با متغیرهای گسسته و در رگرسیون با متغیرهای پیوسته کار می‌شود.

یادگیری نظارت نشده

در یادگیری نظارت نشده، الگوریتم باید خود به تنهایی به‌دنبال ساختارهای جالب موجود در داده‌ها باشد. به بیان ریاضی، یادگیری نظارت نشده مربوط به زمانی است که در مجموعه داده فقط متغیرهای ورودی (X) وجود داشته باشند و هیچ متغیر داده خروجی موجود نباشد. به این نوع یادگیری، نظارت نشده گفته می‌شود زیرا برخلاف یادگیری نظارت شده، هیچ پاسخ صحیح داده شده‌ای وجود ندارد و ماشین خود باید به دنبال پاسخ باشد.

به بیان دیگر، هنگامی که الگوریتم برای کار کردن از مجموعه داده‌ای بهره گیرد که فاقد داده‌های برچسب‌دار (متغیرهای خروجی) است، از مکانیزم دیگری برای یادگیری و تصمیم‌گیری استفاده می‌کند. به چنین نوع یادگیری، نظارت نشده گفته می‌شود. یادگیری نظارت نشده قابل تقسیم به مسائل خوشه‌بندی و انجمنی است.

قوانین انجمنی: یک مساله یادگیری هنگامی قوانین انجمنی محسوب می‌شود که هدف کشف کردن قواعدی باشد که بخش بزرگی از داده‌ها را توصیف می‌کنند. مثلا، «شخصی که کالای الف را خریداری کند، تمایل به خرید کالای ب نیز دارد».

خوشه‌بندی: یک مساله هنگامی خوشه‌بندی محسوب می‌شود که قصد کشف گروه‌های ذاتی (داده‌هایی که ذاتا در یک گروه خاص می‌گنجند) در داده‌ها وجود داشته باشد. مثلا، گروه‌بندی مشتریان بر اساس رفتار خرید آن‌ها.

یادگیری تقویتی

یک برنامه رایانه‌ای که با محیط پویا در تعامل است باید به هدف خاصی دست‌یابد (مانند بازی کردن با یک رقیب یا راندن خودرو). این برنامه بازخوردهایی را با عنوان پاداش‌ها و تنبیه‌ها فراهم و فضای مساله خود را بر همین اساس هدایت می‌کند. با استفاده از یادگیری تقویتی، ماشین می‌آموزد که تصمیمات مشخصی را در محیطی که دائم در معرض آزمون و خطا است اتخاذ کند.

مثال:

ریاضیات هوشمندی

نظریه یادگیری ماشین، زمینه‌ای است که در آن آمار و احتمال، علوم رایانه و مباحث الگوریتمی – بر مبنای یادگیری تکرار شونده – کاربرد دارد و می‌تواند برای ساخت نرم‌افزارهای کاربردی هوشمند مورد استفادده قرار بگیرد.

چرا نگرانی از ریاضیات؟

دلایل متعددی وجود دارد که آموختن ریاضیات برای یادگیری ماشین را الزامی می‌کند. برخی از این دلایل در ادامه آورده شده‌اند.

  • انتخاب الگوریتم مناسب برای یک مساله خاص، که شامل در نظر گرفتن صحت، زمان آموزش، پیچیدگی مدل، تعداد پارامترها و تعداد مشخصه‌ها است.
  • استفاده از موازنه واریانس-بایاس برای شناسایی حالاتی که بیش‌برازش با کم‌برازش در آن‌ها به وقوع پیوسته است.
  • انتخاب تنظیمات پارامترها و استراتژی‌های اعتبارسنجی.
  • تخمین دوره تصمیم‌گیری صحیح و عدم قطعیت.

چه سطحی از ریاضیات مورد نیاز است؟

پرسشی که برای اغلب افراد علاقمند به آموختن علم یادگیری ماشین مطرح است و بارها در مقالات و کنفرانس‌های گوناگون این حوزه به آن پاسخ داده شده این است که چه میزان تسلط بر ریاضیات برای درک این علم مورد نیاز محسوب می‌شود. پاسخ این پرسش چند بُعدی و وابسته به سطح دانش ریاضی هر فرد و میزان علاقمندی آن شخص به یادگیری است. در ادامه حداقل دانش ریاضی که برای مهندسان یادگیری ماشین و تحلیل‌گران داده مورد نیاز است آورده شده.

  • جبر خطی: ماتریس‌ها و عملیات روی آن‌ها، پروجکشن، اتحاد و تجزیه، ماتریس‌های متقارن، متعامدسازی.
  • نظریه آمار و احتمالات: قوانین احتمال و اصل (منطق)، نظریه بیزی، متغیرهای تصادفی، واریانس و امید ریاضی، توزیع‌های توام و شرطی، توزیع استاندارد.
  • حساب: حساب دیفرانسیل و انتگرال، مشتقات جزئی.
  • الگوریتم‌ها و بهینه‌سازی پیچیدگی‌ها: درخت‌های دودویی، هیپ، استک.
]]>
https://www.vandjalili.ir/%db%8c%d8%a7%d8%af%da%af%db%8c%d8%b1%db%8c-%d9%85%d8%a7%d8%b4%db%8c%d9%86-machine-learning-%da%86%db%8c%d8%b3%d8%aa%d8%9f/feed/ 1
شبکه‌های عصبی مصنوعی https://www.vandjalili.ir/%d8%b4%d8%a8%da%a9%d9%87%d9%87%d8%a7%db%8c-%d8%b9%d8%b5%d8%a8%db%8c-%d9%85%d8%b5%d9%86%d9%88%d8%b9%db%8c/ https://www.vandjalili.ir/%d8%b4%d8%a8%da%a9%d9%87%d9%87%d8%a7%db%8c-%d8%b9%d8%b5%d8%a8%db%8c-%d9%85%d8%b5%d9%86%d9%88%d8%b9%db%8c/#respond Wed, 26 Feb 2020 03:25:00 +0000 https://pxltheme.com/wp/bolby?p=1 پیدایش شبکه‌های عصبی مصنوعی

مغر انسان، به اذعان بسیاری از دانشمندان، پیچیده‌ترین سیستمی است که تا کنون در کل گیتی مشاهده شده و مورد مطالعه قرار گرفته است. اما این سیستم پیچیده نه ابعادی در حد کهشکشان دارد و نه تعداد اجزای سازنده‌اش، بیشتر از پردازنده‌های ابررایانه‌های امروزی است. پیچیدگی راز آلود این سیستم بی نظیر، به اتصال‌های فراوان موجود میان اجزای آن بازمی‌گردد. این همان چیزی است که مغز 1400 گرمی انسان را از همه سیستم‌های دیگر متمایز می کند.

فرایندهای خودآگاه و ناخودآگاهی که در حدود جغرافیایی بدن انسان رخ می‌دهند، همگی تحت مدیریت مغز هستند. برخی از این فرایندها آن‌قدر پیچیده هستند، که هیچ رایانه یا ابررایانه‌ای در جهان امکان پردازش و انجام آن را ندارد. با این حال، تحقیقات نشان می‌دهند که واحدهای سازنده مغز انسان، از نظر سرعت عملکرد، حدود یک میلیون بار کندتر از ترانزیستورهای مورد استفاده در تراشه‌های سیلیکونی CPU رایانه هستند.

سرعت و قدرت پردازش بسیار بالای مغز انسان، به ارتباط‌های بسیار انبوهی باز می‌گردد که در میان سلول‌های سازنده مغز وجود دارد و اساساً، بدون وجود این لینک‌های ارتباطی، مغز انسان هم به یک سیستم معمولی کاهش می‌یافت و قطعاً امکانات فعلی را نداشت.

گذشته از همه این‌ها، عملکرد عالی مغز در حل انواع مسائل و کارایی بالای آن، باعث شده است تا شبیه سازی مغز و قابلیت‌های آن به مهم‌ترین آرمان معماران سخت‌افزار و نرم‌افزار تبدیل شود. در واقع اگر روزی فرا برسد (که البته ظاهرا خیلی هم دور نیست) که بتوانیم رایانه‌ای در حد و اندازه‌های مغز انسان بسازیم، قطعاً یک انقلاب بزرگ در علم، صنعت و البته زندگی انسان‌ها، رخ خواهد داد.

از چند دهه گذشته که رایانه‌ها امکان پیاده‌سازی الگوریتم‌های محاسباتی را فراهم ساخته‌اند، در راستای شبیه‌سازی رفتار محاسباتی مغز انسان، کارهای پژوهشی بسیاری از سوی متخصصین علوم رایانه، مهندسین و همچنین ریاضی‌دان‌ها شروع شده است، که نتایج کار آن‌ها، در شاخه‌ای از علم هوش مصنوعی و در زیر‌شاخه هوش محاسباتی تحت عنوان موضوع «شبکه‌های عصبی مصنوعی» یا Artificial Neural Networks (به اختصار: ANNs) طبقه‌بندی شده است. در مبحث شبکه‌های عصبی مصنوعی، مدل‌های ریاضی و نرم‌افزاری متعددی با الهام گرفتن از مغز انسان پیشنهاد شده‌اند، که برای حل گستره وسیعی از مسائل علمی، مهندسی و کاربردی، در حوزه های مختلف کاربرد دارند.

کاربردهای شبکه‌های عصبی مصنوعی

امروز به قدری استفاده از سیستم‌های هوشمند و به ویژه شبکه عصبی مصنوعی گسترده شده است که می‌توان این ابزارها را در ردیف عملیات پایه ریاضی و به عنوان ابزارهای عمومی و مشترک، طبقه‌بندی کرد. چرا که کمتر رشته دانشگاهی است که نیازی به تحلیل، تصمیم‌گیری، تخمین، پیش‌بینی، طراحی و ساخت داشته باشد و در آن از موضوع شبکه‌های عصبی استفاده نشده باشد. فهرستی که در ادامه آمده است، یک فهرست نه چندان کامل است. اما همین فهرست مختصر نیز گستردگی کاربردهای شبکه‌های عصبی مصنوعی را تا حدود زیادی به تصویر می‌کشد.

زمینه کلیکاربرد
علوم کامپیوترطبقه‌بندی اسناد و اطلاعات در شبکه‌های کامپیوتری و اینترنتتوسعه نرم‌افزارهای نظارتی و نرم‌افزارهای آنتی‌ویروس‌
علوم فنی و مهندسیمهندسی معکوس و مدل‌سازی سیستم‌هاپیش‌بینی مصرف بار الکتریکیعیب‌یابی سیستم‌های صنعتی و فنیطراحی انواع سیستم‌های کنترلطراحی و بهینه‌سازی سیستم‌های فنی و مهندسیتصمیم‌گیری بهینه در پروژه‌های مهندسی
علوم پایه و نجومپیش‌بینی نتایج آزمایش‌هاارزیابی و تخمین صحت فرضیه‌ها و نظریه‌هامدل‌سازی پدیده‌های فیزیکی پیچیده
علوم پزشکیمدل‌سازی فرایندهای زیست-پزشکیتشخیص بیماری‌ها با توجه به نتایج آزمایش پزشکی و تصویر‌برداریپیش‌بینی نتایج درمان و عمل جراحیپیاده‌سازی ادوات و الگوهای درمانی اختصاصی بیمار
علوم تجربی و زیستیمدل‌سازی و پیش‌بینی پدیده‌های زیستی و محیطیپیش‌بینی سری‌های زمانی با کاربرد در علوم زیست-محیطیطبقه‌بندی یافته‌های ناشی از مشاهدات تجربیشناسایی الگوهای مخفی و تکرار شونده در طبیعت
علوم اقتصادی و مالیپیش‌بینی قیمت سهام و شاخص بورسطبقه‌بندی علائم و نمادهای بورستحلیل و ارزیابی ریسکتخصیص سرمایه و اعتبار
علوم اجتماعی و روانشناسیطبقه‌بندی و خوشه‌بندی افراد و گروه‌هامدل‌سازی و پیش‌بینی رفتارهای فردی و اجتماعی
هنر و ادبیاتپیش‌بینی موفقیت و مقبولیت عمومی آثار هنریاستخراج مولفه‌های اساسی از متون ادبی و آثار هنریطبقه‌بندی و کاوش متون ادبی
علوم نظامیهدف‌گیری و تعقیب در سلاح‌های موشکیپیاده‌سازی سیستم‌های دفاعی و پدافند هوشمندپیش‌بینی رفتار نیروی مهاجم و دشمنپیاده‌سازی حملات و سیستم‌های دفاعی در جنگ الکترونیک (جنگال)

انواع شبکه‌های عصبی مصنوعی

انواع مختلفی از مدل‌های محاسباتی تحت عنوان کلی شبکه‌های عصبی مصنوعی معرفی شده‌اند که هر یک برای دسته‌ای از کاربردها قابل استفاده هستند و در هر کدام از وجه مشخصی از قابلیت‌ها و خصوصیات مغز انسان الهام گرفته شده است.

در همه این مدل‌ها، یک ساختار ریاضی در نظر گرفته شده است که البته به صورت گرافیکی هم قابل نمایش دادن است و یک سری پارامترها و پیچ‌های تنظیم دارد. این ساختار کلی، توسط یک الگوریتم یادگیری یا تربیت (Training Algorithm) آن قدر تنظیم و بهینه می‌شود، که بتواند رفتار مناسبی را از خود نشان دهد.https://beta.kaprila.com/a/templates_ver2/templates.php?ref=blog.faradars&id=string-1&w=760&h=140&t=string&bg=fffff3&hover=ffffcb&rows=3&cid=200,42,33&wr=score_2,cat_2_neural_network,cat_low_neural_network

نگاهی به فرایند یادگیری در مغز انسان نیز نشان می‌دهد که در واقع ما نیز در مغزمان فرایندی مشابه را تجربه می‌کنیم و همه مهارت‌ها، دانسته‌ها و خاطرات ما، در اثر تضعیف یا تقویت ارتباط میان سلول‌های عصبی مغز شکل می‌گیرند. این تقویت و تضعیف در زبان ریاضی، خود را به صورت تنظیم یک پارامتر (موسوم به وزن یا Weight) مدل‌سازی و توصیف می‌کند.

اما طرز نگاه مدل‌های مختلف شبکه‌های عصبی مصنوعی کاملا متفاوت است و هر یک، تنها بخشی از قابلیت‌های یادگیری و تطبیق مغز انسان را هدف قرار داده و تقلید کرده‌اند. در ادامه به مرور انواع مختلف شبکه‌های عصبی پرداخته‌ایم که مطالعه آن در ایجاد یک آشنایی اولیه بسیار موثر خواهد بود.

پرسپترون چند‌لایه یا MLP

یکی از پایه‌ای‌ترین مدل‌های عصبی موجود، مدل پرسپترون چند لایه یا Multi-Layer Perceptron (به اختصار MLP) است که عملکرد انتقالی مغز انسان را شبیه‌سازی می‌کند. در این نوع شبکه عصبی، بیشتر رفتار شبکه‌ای مغز انسان و انتشار سیگنال در آن مد نظر بوده است و از این رو، گهگاه با نام شبکه‌های پیش‌خورد (Feedforward Networks) نیز خوانده می‌شوند. هر یک از سلول‌های عصبی مغز انسان، موسوم به نورون (Neuron)، پس از دریافت ورودی (از یک سلول عصبی یا غیر عصبی دیگر)، پردازشی روی آن انجام می‌دهند و نتیجه را به یک سلول دیگر (عصبی یا غیر عصبی) انتقال می‌دهند. این رفتار تا حصول نتیجه‌ای مشخص ادامه دارد، که احتمالاً در نهایت منجر به یک تصمیم، پردازش، تفکر و یا حرکت خواهد شد.

شبکه‌های عصبی شعاعی یا RBF

مشابه الگوی شبکه‌های عصبی MLP، نوع دیگری از شبکه‌های عصبی وجود دارند که در آن‌ها، واحدهای پردازنده، از نظر پردازشی بر موقعیت خاصی متمرکز هستند. این تمرکز، از طریق توابع شعاعی یا Radial Basis Functions (به اختصار RBF) مدل‌سازی می‌شود. از نظر ساختار کلی، شبکه‌های عصبی RBF تفاوت چندانی با شبکه‌های MLP ندارند و صرفا نوع پردازشی که نورون‌ها روی ورودهای‌شان انجام می‌دهند، متفاوت است. با این حال، شبکه‌های RBF غالبا دارای فرایند یادگیری و آماده‌سازی سریع‌تری هستند. در واقع، به دلیل تمرکز نورون‌ها بر محدوده عملکردی خاص، کار تنظیم آن‌ها، راحت‌تر خواهد بود.

ماشین‌های بردار پشتیبان یا SVM

در شبکه‌های عصبی MLP و RBF، غالبا توجه بر بهبود ساختار شبکه عصبی است، به نحوی که خطای تخمین و میزان اشتباه‌های شبکه عصبی کمینه شود. اما در نوع خاصی از شبکه عصبی، موسوم به ماشین بردار پشتیبان یا Support Vector Machine (به اختصار SVM)، صرفا بر روی کاهش ریسک عملیاتی مربوط به عدم عملکرد صحیح، تمرکز می‌شود. ساختار یک شبکه SVM، اشتراکات زیادی با شبکه عصبی MLP دارد و تفاوت اصلی آن عملاً در شیوه یادگیری است.

نگاشت‌های خود‌سازمان‌ده یا SOM

شبکه عصبی کوهونن (Kohonen) یا نگاشت خود‌سازمان‌ده و یا Self-Organizing Map (به اختصار SOM) نوع خاصی از شبکه عصبی است که از نظر شیوه عملکرد، ساختار و کاربرد، کاملاً با انواع شبکه عصبی که پیش از این مورد بررسی قرار گرفتند، متفاوت است. ایده اصلی نگاشت خود‌سازمان‌ده، از تقسیم عملکردی ناحیه قشری مغز، الهام گرفته شده است و کاربرد اصلی آن در حل مسائلی است که به مسائل «یادگیری غیر نظارت شده» معروف هستند. در واقع کارکرد اصلی یک SOM، در پیدا کردن شباهت‌ها و دسته‌های مشابه در میان انبوهی از داده‌هایی است که در اختیار آن قرار گرفته است. این وضعیت مشابه کاری است که قشر مغز انسان انجام می‌دهد و انبوهی از ورودی‌های حسی و حرکتی به مغز را در گروه‌های مشابهی طبقه‌بندی (یا بهتر است بگوییم خوشه‌بندی) کرده است.

یادگیرنده رقمی‌ساز بردار یا LVQ

این نوع خاص شبکه عصبی، تعمیم ایده شبکه‌های عصبی SOM برای حل مسائل یادگیری نظارت شده است. از طرفی شبکه عصبی LVQ (یا Learning Vector Quantization)، می‌تواند به این صورت تعبیر شود که گویا شبکه عصبی MLP با یک رویکرد متفاوت، کاری را که باید انجام بدهد یاد می‌گیرد. اصلی‌ترین کاربرد این نوع شبکه عصبی در حل مسائل طبقه‌بندی است که گستره وسیعی از کاربردهای سیستم‌های هوشمند را پوشش می‌دهد.

شبکه عصبی هاپفیلد یا Hopfield

این نوع شبکه عصبی، بیشتر دارای ماهیتی شبیه به یک سیستم دینامیکی است که دو یا چند نقطه تعادل پایدار دارد. این سیستم با شروع از هر شرایط اولیه، نهایتا به یکی از نقاط تعادلش همگرا می‌شود. همگرایی به هر نقطه تعادل، به عنوان تشخیصی است که شبکه عصبی آن را ایجاد کرده است و در واقع می‌تواند به عنوان یک رویکرد برای حل مسائل طبقه‌بندی استفاده شود. این سیستم، یکی از قدیمی‌ترین انواع شبکه‌های عصبی است که دارای ساختار بازگشتی است و در ساختار آن فیدبک‌های داخلی وجود دارند.

خانواده «شبکه‌های عصبی مصنوعی» (Artificial Neural Networks) هر روز شاهد حضور اعضای جدیدی است. با توجه به تعدد انواع شبکه های عصبی موجود، در این مطلب، یک راهنمای جامع از انواع شبکه های عصبی مصنوعی ارائه شده است. در این راهنما، توپولوژی انواع شبکه های عصبی مصنوعی روش عملکرد و کاربرد شبکه‌های عصبی مصنوعی مورد بررسی قرار گرفته است. برای آشنایی با مفهوم شبکه‌های عصبی مصنوعی و پیاده‌سازی آن در زبان‌های برنامه‌نویسی گوناگون، مطالعه مطالب زیر پیشنهاد می‌شود.

 فهرست مطالب این نوشته

 انواع شبکه‌های عصبی مصنوعی

انواع شبکه‌های عصبی مصنوعی

در ادامه، ۲۷ مورد از انواع شبکه های عصبی مصنوعی، معرفی شده است. در تصویر زیر، راهنمای جامع انواع شبکه‌های عصبی ارائه شده است. برای مشاهده این راهنمای جامع در ابعاد بزرگ، کلیک کنید.

برای مشاهده تصویر بالا، در ابعاد بزرگ، کلیک کنید.

شبکه عصبی پرسپترون

انواع شبکه های عصبی مصنوعی -- راهنمای جامع

«پرسپترون» (Perceptron | P)، ساده‌ترین و قدیمی‌ترین مدل از نورون محسوب می‌شود که تاکنون توسط بشر شناخته شده است. پرسپترون، تعدادی ورودی را دریافت، آن‌ها را تجمیع و تابع فعال‌سازی را روی آن‌ها اعمال می‌کند و در نهایت، آن‌ها را به لایه خروجی پاس می‌دهد. در این قسمت، معجزه اصلی شبکه‌های عصبی مصنوعی به وقوع نمی‌پیوندد. برای مطالعه بیش‌تر پیرامون پرسپترون چند لایه، مطالعه مطلب «پرسپترون چند لایه در پایتون — راهنمای کاربردی» پیشنهاد می‌شود.

شبکه عصبی پیش‌خور

انواع شبکه های عصبی مصنوعی -- راهنمای جامع

«شبکه‌های عصبی پیش‌خور» (Feed Forward Neural Networks | FF) نیز از اعضای قدیمی خانواده شبکه‌های عصبی محسوب می‌شوند و رویکرد مربوط به آن‌ها از دهه ۵۰ میلادی نشأت می‌گیرد. عملکرد این الگوریتم، به طور کلی از قواعد زیر پیروی می‌کند:

  • همه گره‌ها کاملا متصل هستند.
  • فعال‌سازی از لایه ورودی به خروجی، بدون داشتن حلقه رو به عقب، جریان پیدا می‌کند.
  • یک لایه (لایه پنهان) بین ورودی و خروجی وجود دارد.

در اغلب مواقع، این نوع از شبکه‌های عصبی با استفاده از روش «پس‌انتشار» (Backpropagation) آموزش داده می‌شوند.

شبکه عصبی شعاعی پایه

انواع شبکه های عصبی مصنوعی -- راهنمای جامع

«شبکه‌های عصبی شعاعی پایه» (Radial Basis Networks | RBF) در واقع شبکه‌های عصبی پیش‌خوری (FF) هستند که از «تابع شعاعی پایه» (Radial Basis Function)، به جای «تابع لجستیک» (Logistic Function)، به عنوان تابع فعال‌سازی استفاده می‌کنند. سوالی که در این وهله مطرح می‌شود این است که تفاوت شبکه عصبی شعاعی پایه با شبکه عصبی پیش‌خور چیست؟ تابع لجستیک برخی از مقادیر دلخواه را به یک بازه ۰ تا ۱ نگاشت می‌کند تا به یک پرسش «بله یا خیر» (پرسش دودویی) پاسخ دهد. این نوع از شبکه‌های عصبی برای «دسته‌بندی» (Classification) و «سیستم‌های تصمیم‌گیری» (Decision Making Systems) مناسب هستند، ولی برای مقادیر پیوسته عملکرد بدی دارند.

این در حالی است که توابع شعاعی پایه به این پرسش پاسخ می‌دهند که «چقدر از هدف دوریم؟» و این امر موجب می‌شود تا این شبکه‌های عصبی برای تخمین تابع و کنترل ماشین (برای مثال، به عنوان جایگزینی برای کنترل کننده PID) مناسب محسوب شوند. به طور خلاصه باید گفت که شبکه‌های عصبی شعاعی پایه در واقع نوعی از شبکه‌های عصبی پیش‌خور با تابع فعال‌سازی و ویژگی‌های متفاوت هستند.

شبکه عصبی پیش‌خور عمیق

انواع شبکه های عصبی مصنوعی -- راهنمای جامع

«شبکه عصبی پیش‌خور عمیق» (Deep Feed Forward Neural Networks | DFF)، در اوایل دهه ۹۰ میلادی، مقدمه‌ای بر بحث شبکه‌های عصبی شد. این نوع از شبکه‌های عصبی نیز شبکه‌های عصبی پیش‌خور هستند، ولی بیش از یک «لایه پنهان» (Hidden Layer) دارند. سوالی که در این وهله پیش می‌آید آن است که تفاوت این نوع از شبکه‌های عصبی با شبکه‌های عصبی پیش‌خور سنتی در چیست؟

در هنگام آموزش دادن یک شبکه عصبی پیش‌خور، تنها بخش کوچکی از خطا به لایه پیشین پاس داده می‌شود. به همین دلیل، استفاده از لایه‌های بیشتر، منجر به رشد نمایی زمان آموزش می‌شود و همین موضوع، موجب می‌شود که شبکه‌های عصبی پیش‌خور عمیق، عملا بدون کاربرد و غیر عملی باشند. در اوایل سال دو هزار میلادی، رویکردهایی توسعه پیدا کردند که امکان آموزش دادن یک شبکه عصبی پیش‌خور عمیق (DFF) را به صورت موثر فراهم می‌کردند. امروزه، این شبکه‌های عصبی، هسته سیستم‌های یادگیری ماشین مدرن را تشکیل می‌دهند و هدفی مشابه با هدف شبکه‌های عصبی پیش‌خور (FF) را پوشش می‌دهند؛ اما نتایج بهتری را دربردارند.

شبکه‌های عصبی بازگشتی

انواع شبکه های عصبی مصنوعی -- راهنمای جامع

«شبکه‌های عصبی بازگشتی» (Recurrent Neural Networks | RNN) نوع متفاوتی از سلول‌ها با عنوان «سلول‌های بازگشتی» (Recurrent Cells) را معرفی می‌کنند. اولین شبکه از این نوع، «شبکه جردن» (Jordan Network) است؛ در این نوع از شبکه، هر یک از سلول‌های پنهان، خروجی خود را با تاخیر ثابت – یک یا تعداد بیشتری تکرار- دریافت می‌کنند. صرف نظر از این موضوع، شبکه جردن مشابه با شبکه‌های عصبی پیش‌خور متداول بود.https://beta.kaprila.com/a/templates_ver2/templates.php?ref=blog.faradars&id=string-1&w=760&h=140&t=string&bg=fffff3&hover=ffffcb&rows=3&cid=2021,33,1651&wr=score,score,score_3

البته، تغییرات گوناگونی مانند پاس دادن حالت به «گره‌های ورودی» (Input Nodes)، تأخیر متغیرها و دیگر موارد در این نوع از شبکه‌ها اتفاق افتاده، اما ایده اصلی به همان صورت باقی مانده است. این نوع از شبکه‌های عصبی (NN) اساسا هنگامی استفاده می‌شوند که «زمینه» (Context) مهم است و در واقع یعنی هنگامی که تصمیم‌گیری‌ها از تکرارهای قبلی یا نمونه‌ها، می‌تواند نمونه‌های کنونی را تحت تاثیر قرار دهد. به عنوان مثالی متداول از این نوع از زمینه‌ها، می‌توان به «متن» (Text) اشاره کرد. در متن، یک کلمه را می‌توان تنها در زمینه کلمه یا جمله پیشین تحلیل کرد.

حافظه کوتاه مدت بلند

انواع شبکه های عصبی مصنوعی -- راهنمای جامع

«حافظه کوتاه مدت بلند» (Long/Short Term Memory | LSTM) نوع جدیدی از «سلول حافظه» (Memory Cell) را معرفی می‌کند. این سلول می‌تواند داده‌ها را هنگامی که دارای شکاف زمانی (یا تاخیر زمانی) هستند، پردازش کند. شبکه عصبی پیش‌خور می‌تواند متن را با «به خاطر سپردن» ده کلمه پیشین پردازش کند. این در حالی است که LSTM می‌تواند قاب‌های ویدئو را با «به خاطر سپردن» چیزی که در قاب‌های بسیار پیشین اتفاق افتاده است پردازش کند. شبکه‌های LSTM به طور گسترده‌ای برای «بازشناسی گفتار» (Speech Recognition) و «بازشناسی نوشتار» (Writing Recognition) مورد استفاده قرار می‌گیرند. سلول‌های حافظه اساسا ترکیبی از یک جفت عنصر که به آن‌ها گیت گفته می‌شود هستند. این عنصرها، بازگشتی هستند و چگونگی به یاد آوردن و فراموش کردن اطلاعات را کنترل می‌کنند. ساختار این نوع از شبکه‌ها، در تصویر زیر به خوبی مشخص است. این نکته که هیچ تابع فعال‌سازی بین بلوک‌ها وجود ندارد نیز شایان توجه است.

انواع شبکه های عصبی مصنوعی -- راهنمای جامع

X‌های موجود در نمودار، گیت‌ها هستند و وزن و گاهی تابع فعال‌سازی خود را دارند. برای هر نمونه، Xها تصمیم می‌گیرند داده‌ها را به جلو پاس دهند یا خیر، حافظه را پاک کنند یا نه و به همین ترتیب. گیت ورودی، تصمیم می‌گیرد که چه میزان اطلاعات از آخرین نمونه در حافظه نگه‌داری می‌شود. گیت خروجی میزان داده‌های پاس داده شده به لایه بعدی را تنظیم می‌کند و گیت فراموشی، نرخ خارج شدن از موارد ذخیره شده در حافظه را کنترل می‌کند. آنچه بیان شد، یک شکل بسیار ساده از سلول‌های LSTM است و معماری‌های متعدد دیگری نیز برای این نوع از شبکه‌های عصبی، موجود است.

شبکه عصبی واحد بازگشتی گِیتی

انواع شبکه های عصبی مصنوعی -- راهنمای جامع

«واحد بازگشتی گیتی» (Gated Recurrent Unit | GRU) نوعی از LSTM با گیت‌ها و دوره زمانی متفاوت است. این نوع از شبکه عصبی ساده به نظر می‌آید. در حقیقت، فقدان گیت خروجی، تکرار چندین باره یک خروجی مشابه را برای ورودی‌ها ساده‌تر می‌سازد. این نوع از شبکه‌های عصبی بازگشتی در حال حاضر بیشتر در «موتور متن به گفتار» (Speech Synthesis) و «ترکیب صدا» (Music Synthesis) به کار می‌رود. البته، ترکیب واقعی LSTM با GRU اندکی متفاوت است. زیرا، همه گیت‌های LSTM در یک گیت که به آن گیت به روز رسانی گفته می‌شود ترکیب شده‌اند و گیت «بازشناسی» (Reset) از نزدیک به ورودی گره خورده است. GRU‌ها نسبت به LSTM‌ها کمتر از منابع استفاده می‌کنند و اثر مشابهی را دارند.

شبکه عصبی خود رمزگذار

انواع شبکه های عصبی مصنوعی -- راهنمای جامع

شبکه‌های عصبی «خود رمزگذار» (Auto Encoder | AE) برای دسته‌بندی، «خوشه‌بندی» (Clustering) و «فشرده‌سازی ویژگی‌ها» (Feature Compression) استفاده می‌شوند. هنگامی که یک شبکه عصبی پیش‌خور برای دسته‌بندی آموزش داده می‌شود، باید نمونه‌های X در Y دسته به عنوان خوراک داده شوند و انتظار می‌رود یکی از سلول‌های Y فعال‌سازی شده باشد. به این مورد، «یادگیری نظارت شده» (Supervised Learning) گفته می‌شود. از سوی دیگر، شبکه‌های عصبی خود رمزگذار را می‌توان بدون نظارت، آموزش داد. با توجه به ساختار این شبکه‌ها (که در آن تعداد لایه‌های پنهان کوچک‌تر از تعداد سلول‌های ورودی است و تعداد سلول‌های خروجی برابر با سلول‌های ورودی است) و اینکه AE به نوعی آموزش داده می‌شود که خروجی تا حد امکان به ورودی نزدیک باشد، شبکه عصبی خود رمزگذار مجبور می‌شود داده‌ها را تعمیم دهد و به دنبال الگوهای متداول بگردد.

شبکه عصبی خود رمزگذار متغیر

انواع شبکه های عصبی مصنوعی -- راهنمای جامع

«شبکه عصبی خود رمزگذار متغیر» (Variational Auto Encoder | VAE) در مقایسه با شبکه عصبی خود رمزگذار، احتمالات را به جای ویژگی‌ها فشرده می‌کند. علارغم تغییرات کوچک که بین دو شبکه عصبی مذکور اتفاق افتاده است، هر یک از این انواع شبکه های عصبی مصنوعی به پرسش متفاوتی پاسخ می‌دهند. شبکه عصبی خودرمزگذار به پرسش «چگونه می‌توان داده‌ها را تعمیم داد؟» پاسخ می‌دهد، در حالی که شبکه عصبی خود رمزگذار متغیر به پرسش «اتصال بین دو رویداد چقدر قوی است؟ آیا باید خطا را بین دو رویداد توزیع کرد یا آن‌ها به طور کامل مستقل هستند؟» پاسخ می‌دهد.

شبکه عصبی خود رمزگذار دینوزینگ

انواع شبکه های عصبی مصنوعی -- راهنمای جامع

با وجود جالب بودن شبکه‌های خود رمزگذار، اما این شبکه‌های عصبی گاهی به جای پیدا کردن مستحکم‌ترین ویژگی، فقط با داده‌های ورودی سازگار می‌شوند (این مورد مثالی از بیش‌برازش یا همان Overfitting است). شبکه عصبی «خود رمزگذار دینوزینگ» (Denoising AutoEncoder | DAE) اندکی نویز به سلول ورودی اضافه می‌کنند. با این کار، شبکه عصبی خود رمزگذار دینوزینگ، مجبور می‌شود که خروجی را از یک ورودی نویزی، مجددا بسازد و آن را عمومی‌تر کند و ویژگی‌های متداول بیشتری را انتخاب کند.

]]>
https://www.vandjalili.ir/%d8%b4%d8%a8%da%a9%d9%87%d9%87%d8%a7%db%8c-%d8%b9%d8%b5%d8%a8%db%8c-%d9%85%d8%b5%d9%86%d9%88%d8%b9%db%8c/feed/ 0