شنبه, 6 مرداد 1403 Saturday, 27 July , 2024 ساعت تعداد کل نوشته ها : 42789 تعداد نوشته های امروز : 1 تعداد دیدگاهها : 2422×
آشنایی با شبکه‌های عصبی در یادگیری عمیق
16 آذر 1402 ساعت: 21:17
شناسه : 269013
0

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

پ
پ

word image 269013 1 - آشنایی با شبکه‌های عصبی در یادگیری عمیق - Nima Hajian

در این گفتگو، دقایقی را با آقای نیما حاجیان افراکتی پژوهشگر مدیریت تکنولوژی و آینده‌پژوهی همراه خواهیم بود.

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

word image 269013 2 scaled - آشنایی با شبکه‌های عصبی در یادگیری عمیق - Nima Hajian

شبکه عصبی چیست؟

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

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

شبکه عصبی عمیق

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

یادگیری عمیق

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

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

word image 269013 3 - آشنایی با شبکه‌های عصبی در یادگیری عمیق - Nima Hajian

اجزای تشکیل دهنده‌ی شبکه عصبی

یک شبکه‌ی عصبی شامل موارد زیر است:

نورون

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

وزن

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

تابع

n ورودی به صورت X1 تا Xn به وزن‌های مربوطه از Wk1 تا Wkn داده شده‌اند. ابتدا وزن‌ها در ورودی‌های خودشان ضرب، سپس با مقدار bias جمع می‌شوند و حاصل را u می‌نامیم.

u=∑w×x+b

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

word image 269013 4 scaled - آشنایی با شبکه‌های عصبی در یادگیری عمیق - Nima Hajian

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

شبکه های عصبی کانولوشن (CNN)

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

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

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

شبکه عصبی بازگشتی (RNN)

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

تشکر داریم از حضور جناب آقای نیما حاجیان افراکتی و همچنین حسن توجه شما عزیزان

ثبت دیدگاه

  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.