ایجاد شبکه عصبی بدون کتابخانه در پایتون (قسمت 1)
ایجاد شبکه عصبی بدون کتابخانه در پایتون (قسمت 1)
در این پست من نحوه انجام این کار را توضیح خواهم داد به طوریکه شما به راحتی بنوانید کد خود را بنویسید. من همچنین یک نسخه طولانی تر ، اما زیباتر از کد پایتون را ارائه می کنم.
شبکه عصبی چیست؟
مغز انسان از 100 میلیارد سلول به نام نورون تشکیل شده است که توسط سیناپس به هم متصل شده اند. اگر ورودی های سیناپسی کافی برای تحریک یک نورون وجود داشته باشد ، آن نورون فعال می شود.
ما این فرایند را “تفکر” می نامیم.
ما می توانیم این فرایند را با ایجاد یک شبکه عصبی بر روی کامپیوتر مدل کنیم. مدل سازی پیچیدگی بیولوژیکی مغز انسان در سطح مولکولی ضروری نیست ، فقط قوانین سطح بالاتر آن مدل می شود
. ما از یک روش ریاضی به نام ماتریس استفاده می کنیم که شبکه ای از اعداد است. برای ساده تر گفتن ، ما فقط یک نورون واحد را با سه ورودی و یک خروجی مدل می کنیم.
ما قصد داریم نورون را برای حل مشکل زیر آموزش دهیم. چهار مثال اول مجموعه آموزشی نامیده می شود. آیا می توانید الگو را اجرا کنید؟ به جای “؟” باید 0 یا 1 باشد؟
شاید متوجه شده باشید که خروجی همیشه برابر با مقدار سمت چپ ترین ستون ورودی است. بنابراین پاسخ این است که “؟” باید 1 باشد.
فرایند آموزش
اما چگونه به نورون خود آموزش دهیم که به درستی پاسخ دهد؟ ما به هر ورودی وزنی می دهیم که می تواند یک عدد مثبت یا منفی باشد. ورودی با وزن مثبت بزرگ یا وزن منفی بزرگ ، تأثیر شدیدی بر خروجی نورون خواهد داشت. قبل از شروع ، هر وزن را روی یک عدد تصادفی تنظیم می کنیم.
سپس فرایند آموزش را شروع می کنیم:
1-ورودی های مثال مجموعه آموزشی را بگیرید
2-وزن آنها را تنظیم کنید
3- آنها را از طریق فرمول خاصی برای محاسبه خروجی نورون عبور دهید
4-خطا را که تفاوت بین خروجی نورون و خروجی مورد نظر در مثال مجموعه آموزش است محاسبه کنید.
5- بستگی به جهت خطا ، وزن آنها را کمی تنظیم کنید.
6-این روند را 10،000 بار تکرار کنید.
در نهایت وزن نورون برای مجموعه آموزش به حداکثر می رسد. اگر به نورون اجازه دهیم در مورد وضعیت جدیدی فکر کند که از همان الگو پیروی می کند ، باید پیش بینی خوبی انجام دهد.
دیدگاهتان را بنویسید