نورون مصنوعی
جواب کوتاه
نورون مصنوعی کوچیکترین تیکهی شبکهی عصبیه، و کارش خیلی سادهست: چند تا عدد ورودی میگیره، هر کدوم رو در یه وزن ضرب میکنه، همه رو با هم جمع میکنه، یه عدد ثابت به اسم بایاس بهش اضافه میکنه، و نتیجه رو از یه تابع به اسم تابع فعالسازی رد میکنه تا جواب بده. مثل تصمیم «جمعه بریم کوه یا نه»: هوا خوبه، دوستا میان، خستهای؛ هر کدوم یه وزنی توی تصمیمت داره. ایدهاش از نورونهای مغز اومده، ولی یه نسخهی خیلی سادهشدهست. وزنها و بایاس همون چیزهاییان که نورون موقع آموزش یاد میگیره.
تصمیم جمعه
جمعهست و دارید فکر میکنید برید کوه یا نه. سه تا چیز توی ذهنتونه: هوا خوبه؟ دوستاتون میان؟ خستهاید؟
هر کدوم از اینها یه وزنی توی تصمیمتون داره. هوای خوب خیلی تشویقتون میکنه (وزن ۳)، اومدن دوستا یه کم کمتر (وزن ۲)، و خستگی شدیدا منصرفتون میکنه (وزن منفی ۴). یه تنبلی همیشگی هم دارید که همیشه یه کم به سمت «نریم» هلتون میده (منفی ۲).
همه رو جمع میکنید؛ اگه بیشتر از صفر شد، میرید. همین. یه نورون مصنوعی دقیقا همین کار رو میکنه، و کوچیکترین تیکهی هر شبکهی عصبیه.
با عدد
هر ورودی یا ۱ هست (آره) یا ۰ (نه). دو تا جمعه رو حساب کنیم: یکی که خسته نیستید، یکی که خستهاید.
جمعهی اول: ۱ ضرب در ۳، بهعلاوهی ۱ ضرب در ۲، بهعلاوهی ۰ ضرب در منفی ۴، بهعلاوهی منفی ۲، میشه ۳. بیشتر از صفره: بریم.
جمعهی دوم همونطوره، فقط خستگی ۱ شده. منفی ۴ میاد وسط و جمع میشه منفی ۱: نریم. ببینید یه ورودی با وزن زیاد چطور کل تصمیم رو عوض کرد.
چهار تیکه
پس هر نورون چهار تیکه داره:
- ورودیها: عددهایی که میگیره؛ مثل یه بردار.
- وزنها: برای هر ورودی یه عدد که میگه چقدر مهمه؛ مثبت یعنی به سمت «آره»، منفی یعنی به سمت «نه».
- بایاس: یه عدد ثابت که به جمع اضافه میشه؛ مثل همون تنبلی همیشگی. تعیین میکنه نورون چقدر راحت «آره» بگه.
- تابع فعالسازی: جمع رو میگیره و جواب آخر رو میده؛ اینجا «بیشتر از صفر؟».
اون ضرب و جمع هم آشناست: همون ضرب داخلی ورودیها و وزنهاست.
از کجا اومده
اسمش از نورونهای مغز اومده. یه نورون مغز از شاخههایی به اسم دندریت سیگنال میگیره و اگه به اندازهی کافی تحریک بشه، از رشتهای به اسم آکسون سیگنال میفرسته:
ورودیهای نورون مصنوعی شبیه سیگنالهای دندریتهان، وزنها شبیه قدرت هر اتصال، و خروجی شبیه سیگنال آکسون. ولی گول اسمش رو نخورید: نورون مصنوعی یه «کاریکاتور» خیلی ساده از نورون واقعیه، نه یه شبیهسازی دقیق.
اولین نورون مصنوعی سال ۱۹۴۳ معرفی شد؛ ورودیهاش فقط صفر و یک بودن و تابع فعالسازیش همون پله.
بعد از جمع
تابع فعالسازی ما یه پله بود: یا صفر یا یک. ولی میتونه نرمتر هم باشه:
سیگموید جای «حتما بریم» یا «حتما نریم»، یه عدد بین صفر و یک میده، مثلا ۰٫۸، یعنی «به احتمال زیاد بریم». جالبش اینه که یه نورون با سیگموید، دقیقا همون رگرسیون لجستیک هست که قبلا دیدیم! پس شما قبلا یه نورون ساخته بودید.
چند تا تابع فعالسازی معروف دیگه هم هست که توی درس تابع فعالسازی میبینیمشون.
یاد گرفتن یعنی چی
توی مثال جمعه، وزنها رو خودمون گذاشتیم. ولی توی یادگیری ماشین، نورون وزنها و بایاس رو خودش پیدا میکنه. بهش مثالهای گذشته رو میدیم، مثلا «این جمعهها رفتم، اون جمعهها نه»، و وزنها اونقدر کم و زیاد میشن تا جوابهای نورون با واقعیت جور بشه. همون گرادیان کاهشی.
یه نورون تنها کار زیادی نمیتونه بکنه. قدرت واقعی وقتیه که هزاران تا از اینها رو کنار هم و پشت سر هم بچینیم. ولی پیش از اون، درس بعد اولین نورونی رو میبینیم که واقعا یاد گرفت: پرسپترون.
جمعبندی. آنچه از این درس با خودتان میبرید.
- ورودی × وزن، همه با هم جمع.
- بهعلاوهی بایاس.
- از تابع فعالسازی رد میشه.
- الهام از مغز، ولی خیلی سادهتر.
- وزن و بایاس رو یاد میگیره.
خودتون رو بسنجید
۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو میبینید: چند تا درست، چند تا نادرست.