پرسپترون در شبکه عصبی چگونه یاد میگیرد؟

پیش نیاز این درس:

درس های قبلی این دوره را حتما مطالعه داشته باشید.

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

از درس گذشته به یاد داریم که خروجی پرسپترون ما یک عدد ۰ یا ۱ بود. مثلا اگر عدد ۰ در خروجی قرار میگرفت ماشین پراید بود و اگر عدد ۱ در خروجی قرار میگرفت شبکه عصبی اتوبوس را تشخیص داده بود. برای این کار هم گفتیم که از جمع ضرب بردار X در بردار وزن ها(W) استفاده میکنیم. این جمع ضرب به دو صورت زیر نوشته می شود:

در تصویر با میبینید که ما دو بردار داریم. بردار X و W. بردار X در شبکه های عصبی همان ورودی های ماست و بردار W وزن های ما(به ازای هر ورودی یک وزن داریم). وقتی از جمع ضرب صحبت میکنیم دقیقا مانند کاریست که در تصویر بالا انجام شده است. یعنی تک تک عناصر بردار X را در عنصر نظیر آن در بردار W ضرب کرده و حاصل آن ها را با یکدیگر جمع میکنیم. به این کار در ریاضیات ضرب داخلی یا dot product میگویند. حاصل این ضرب یک عدد است. اگر این عدد بالاتر از یک مقدار آستانه(Threshold) باشد خروجی پرسپترون ۱ و اگر کمتر از این مقدار باشد خروجی پرسپترون ۰ است. اجازه بدهید این خروجی را b-(منفی b) بخوانیم:

همان طور که میبینید اگر ضرب داخلی W در X کمتر از b-  شود خروجی پرسپترون ۰ و اگر بیشتر از b- شود خروجی پرسپترون ۱ می شود. مثال پراید یا اتوبوس در درس قبل را به یاد بیاورید. دو ویژگی داشتیم یکی طول و یکی دیگر ارتفاع. برای یادآوری تصویر ویژگی های اتوبوس و پراید را دوباره با یکدیگر مرور کنیم:

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

میبینید که با انتخاب وزن طول برابر ۱ و وزن ارتفاع برابر ۲ اعداد تولید شده برای اتوبوس و پراید از یک دیگر تفکیک شدند. حال اگر عدد b-(همان حد آستانه) را برابر ۹ در نظر بگیریم، پرسپترون ضرب داخلی های بالای این عدد را اتوبوس و پایین این عدد را پراید در نظر میگیرد. به همین سادگی.

به این دست از مسئله ها تفیک پذیر خطی(Linear Separability) می گویند. یعنی میتوان آن ها را با یک خط(مانند مثال درس قبل) از یک دیگر جدا کرد.

نکته آخری که در این درس به آن میرسیم، مقدار انحراف(بایاس) است. به تصویر زیر نگاه کنید:

در اینجا همان عدد b- به سمت چپ آمده است و با ضرب داخلی X و W جمع می شود. اگر نتیجه بزرگتر از صفر شد، پرسپترون عدد ۱ و اگر کوچکتر از ۰ شد پرسپترون عدد ۰ را برمیگرداند. تفاوت زیادی در این دید نیست، فقط اینجا میتوانیم مقدار b را که انحراف(Bias) نام دارد نیز کم و زیاد کنیم. در درس های بعد بیشتر به این موضوع میپردازیم.

منابع این بحث و اطلاعات بیشتر

» وب سایت neuralnetworksanddeeplearning

» دانشگاه استنفورد

» ویکیپدیا(ضرب داخلی)

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *