در پست شروع هوش مصنوعی، اولین قدم برای یادگیری هوش مصنوعی چیست؟ در مورد پیش نیازهای مربوطه صحبت کردیم. حال شبکههای عصبی مصنوعی که از مهمترین پیش نیازهای هوش مصنوعی است را بررسی میکنیم.
مطالعه شبکه های عصبی مصنوعی تا حد زیادی ملهم از سیستم های یادگیر طبیعی است که در آنها یک مجموعه پیچیده از نرونهای به هم متصل درکار یادگیری دخیل هستند.
گمان میرود که مغز انسان از تعداد 1011 نرون تشکیل شده باشد که هر نرون با تقریبا 104 نرون دیگر در ارتباط است. سرعت سوئیچنگ نرونها در حدود 3-10 ثانیه است که در مقایسه با کامپیوترها 10-10 ثانیه بسیار ناچیز مینماید. با این وجود آدمی قادر است در 0.1 ثانیه تصویر یک انسان را بازشناسائی نماید. ولی برای کامپیتر دقایقی طول می کشد که این بازشناسی انجام شود.
شاید بد نباشد ابتدا به این سوال فکر کنید، چرا با اینکه سرعت سوئیچنگ نرونهای کامپیوتر از مغز انسان بیشتر است ولی انسانها سریعتر چهره یک شخص را به یاد میآورند؟
ساختار شبکه عصبی
هر دو تصویر بالا را مشاهده کنید. چه شباهتهایی میبینید؟
همانطور که ملاحظه می کنید، تصویر اول یک نرون طبیعی بیولوژیکی است. اطلاعات از طریق ورودی یا همان دندریت وارد نرون می شوند، همان ورودیها در تصویر دوم با مقادیر (x1,…….,xm) قابل مشاهده هستند. در مدل شبکه عصبی مصنوعی به هر ورودی یک وزن (w1,…….,wm) اختصاص می دهیم. این وزنها در واقع اهمیت ورودیها برای ما هستند، یعنی هر چه وزن بیشتر باشد، ورودی برای آموزش شبکه مهمتر است. سپس تمامی ورودیها با هم جمع (Σ) شده و به صورت یکلایه به آکسون وارد می شوند. در مرحله بعد Activation Function را بر روی دادهها اعمال میکنیم.
Activation Function در واقع نسبت به نیاز مسئله و نوع شبکه عصبی ما (در آموزش های بعدی به آن می پردازیم) تعریف می شود. این function شامل یک فرمول ریاضی برای بروزرسانی وزنها در شبکه است.
پس از انجام محاسبات در این مرحله اطلاعات ما از طریق سیناپس های خروجی وارد نرون دیگر میشوند، و این مرحله تا جایی ادامه پیدا میکند که شبکه اصطلاحا train شده باشد.
زمان تفکر:
شاید الان به این موضوع فکر می کنید که چقدر کاربرد شبکههای عصبی ساده است ! ولی کاملا در اشتباه هستید.
توضیحاتی که خواندید به مانند همان جمع و تفریق دوران کودکی است، آیا روزی فکرش را می کردید که از یک جمع و تفریق ساده بتوان بحث کوانتوم را مطرح کرد؟
اکنون من از شما می پرسم، اصول اولیه شبکههای عصبی را فرا گرفتید، حال چطور می توان از این جمع و تفریق ساده به رباتهای خود فراگیر رسید؟