شبکه عصبی و اهمیت مدل سازی مغز انسان
شبکه عصبی یک روشی در هوش مصنوعی است که به کامپیوتر یاد میدهد تا داده ها را به روشی پردازش کند که از مغز انسان الهام گرفته شده است. ولی سوال اساسی این است که چرا میخواهیم مغز انسان را مدل کنیم و اینکه چرا امروزه مدلسازی مغز انسان انقدر اهمیت پیدا کرده است. در این پست میخواهیم با اهمیت و نحوه مدلسازی مغز انسان آشنا شویم.
اهمیت مدل سازی مغز انسان
به تصویر زیر توجه کنید. به نظر شما چقدر طول کشید تا ما تصویر خانم میرزاخانی را در این منظره نا آشنا تشخیص دهیم؟
گفته میشه که حدودا 100-200 میلی ثانیه طول میکشه تا مغز انسان یک تصویر آشنا را در یک منظره ناآشنا تشخیص دهد. همین تسک ساده رو اگر بدیم به کامپیوتر (البته اونایی که براساس شبکه های عصبی نیستند) ممکنه وقت خیلی زیادی رو ببره تا بتونه تشخیص بدهد.
یا بازی تنیس رو در نظر بگیرید، ببنید مغز ما باید در کسری از ثانیه کلی اطلاعات رو پردازش بکنه و پیش بینی کنه که توپ از چه جهتی با چه شتابی میاد، بعد همزمان بررسی کنه که باید در چه جهتی با چه شتابی باید به توپ ضربه بزند.
یک تسک بسیار سختی هست، ولی مغز این همه اطلاعات رو در کسری از ثانیه پردازش میکنه و تصمیم گیری میکند. حالا شما همین رو بدید به کامپیوتر! به نظرتون میتونه از عهدش بربیاد!؟ حداقل آیا میتونه مثل مغز سریع و البته دقیق این همه اطلاعات رو پردازش بکنه و تصمیم گیری کنه!
همین قابلیتهای مغز است که ما را مشتاق میکند تا بیشتر در موردش بدانیم!
مقایسه مغز با کامپیوتر
بیاید از منظر سخت افزاری هم به مسئله نگاه کنیم. و مغز و کامپیوتر رو باهم مقایسه کنیم.تا الان تحلیلهای ما داره اینو نشون میده که گویا مغز به عنصر پردازشی بسیار قدرتمند و فوق العاده سریعی مجهز است که باعث شده اینطور سریع و دقیق اطلاعات رو پردازش کرده و تصمیم گیری بکند.
خب کوچکترین عنصر اساسی مغز ما نورون عصبی یا همان نورون بیولوژیکی است. از کنارهم قرار گرفتن این ها در مغز شبکه ای از نورون ها، یا به اصطلاح شبکه های عصبی ساخته شده است.
تخمین زده میشه که حدودا 10 بیلیون نورون در مغز انسان وجود دارد که توسط 60 تریلیون سیناپس باهم در ارتباط هستند.
خب کوچکترین عنصر سازنده مغز کامپیوتر یا همان CPU هم ترانزیستورها هستند. خب بیایید ببینیم یک زمان پاسخ دهی یک نورون عصبی و ترانزیستور به یک محرک چقدر است؟
اگر ما یک تحریکی را به ترانزیستور و نورون عصبی بدهیم، نورون حدودا 1میلی ثانیه (10e-3) طول میکشه تا به این تحریک پاسخ بدهد. ولی ترانزیستور حدودا 1 نانوثانیه (10e-9) طول میکشه تا به این تحریک پاسخ بدهد. یعنی تقریبا یک ترانزیستور 10e6 برابر سریعتر از نورون به یک محرک پاسخ میدهد!
ولی سوال اینه که پس چرا در انجام تسکها، مغز انقدر بهتر عمل میکند! چه از لحاظ زمانی و چه از لحاظ دقت؟؟ قطعا چیزی که مشخصه اینه که مغز به شکلی متفاوت به مسئله نگاه میکند.
همین قابلیتها است که محقیق رو کنجکاو میکند تا ببینند در مغز چه میگذرد و با شناخت آن، بتوانند مدلهایی شبیه مغز بسازند.از اینجاست که بحث مدلسازی مغز انسان اهمیت پیدا میکند. در این حد این مسئله اهمیت دارد که در آمریکا مدلسازی مغز انسان یک پروژه ملی هست!
فرایند مدلسازی مغز انسان
اگر به صورت ساده به این مسئله نگاه کنیم، میتوان گفت که فرایند مدسازی مغز انسان به شکل زیر است.
مغز ما از میلیونها نورون تشکیل شده که اینها کنار هم شبکه های عصبی را تشکیل میدهند و این شبکه های عصبی هم اطلاعات را پردازش کرده و تصمیم گیری های لازم را میکنند.
ما هم اگر بخواهیم مدلی طراحی کنیم که همانند مغز انسان به مسئله نگاه کنه. اول باید بتوانیم ساختاری شبیه به شبکه های عصبی در مغز (هر چند بسیار ساده) داشته باشیم.
برای همین اولین مرحله در فرایند مدلسازی مغز انسان، مدلسازی عنصر سازنده و اساسی مغز انسان است. ما باید در ابتدا با ساختار و عملکرد یک نورون بیولوژیکی مغز آشنا شویم و سپس آنرا مدل کنیم.
نورون بیولوژیکی
ساختار یک نورون بیولوژیکی همانند شکل زیر است.
نورون بیولوژیکی از 4 بخش اساسی تشکیل شده است:
- دندریتها (dendrites)
- جسم سلولی (cell body)
- آکسون(axon)
- ترمینالهای سیناپسی (synaptic terminals)
در حالت استراحت پتانسیل background نورون حدود -70mv است. پیام عصبی (ایمپالسهای الکتریکی) سایر نورونها از طریق دندریت ها وارد جسم سلولی میشوند، و در جسم سلولی این پتانسیلها جمع می شوند و اگر از حد آستانه (-50mv) بیشتر باشد، نورون فعال می شود و یا به اصطلاح fire می کند، و پتانسیل عمل تولید میکند. این پتانسیل عمل از طریق آکسون به ترمینالهای سیناپسی میرسد و از طریق این پایانه سناپسی به نورون دیگری منتقل می شود. این پایانه های سیناپسی مشخص میکنند که چه میزان از پتانسیل به نورون بعدی منتقل شود. دندریتهای یک نورون به پایانه سیناپسی نورونهای دیگه ای وصل است و به این طریق از سایر نورونها پیام عصبی دریافت میکند.
پیام عصبی در بین نورونهای مغز به این طریق انتقال پیدا میکند.
نورون مصنوعی
ما برای مدل کردن یک نورون مصنوعی به موارد زیر نیاز داریم:
- ورودی ها (نقش دندریتها را بازی کنند و از سایر نورونها ورودی بگیرند)
- وزنهای سیناپسی (نقش ترمینالهای سیناپسی را باز کند و به هر ورودی یک ارزش یا وزنی اختصاص دهد)
- جمع کننده (نقش جسم سلولی را بازی کند و ورودیها را به صورت وزندار باهم ترکیب کند)
- حد آستانه (نقش همان میزان آستانه در نورون بیولوژیکی را بازی کند)
- تابع فعال (شکل و رنج خروجی را کنترل کند و همچنین خاصیت غیرخطی را به نورون بدهد)
در شکل بالا یک نورون مصنوعی را میبینید. در این مدل مصنوعی نورون، چندین ووردی وجود دارد که قرار است از سایر نورونها مقدار بگیرند. برای هر کدام از ورودیها یک وزنی لحاظ شده است که ارزش آن ورودی را مشخص می کند. این ورودیها ضربدر وزنهای خود شده و وارد جمع کننده می شوند و به صورت وزندار باهم ترکیب میشوند و v بدست میاد. سپس از مقدار بدست آماده، حد آستانه کم می شود، و در نهایت مقدار حاصل از تابع فعال عبور میکند و خروجی نورون بدست می آید.
از کنارهم قرار دادن این نورونهای مصنوعی شبکه های عصبی ساخته می شود. دانش شبکه عصبی، از طریق داده بدست میاید و در بین وزنهای سیناپسی نهفته می شود.
حال سوال اساسی این است که این دانش چطور بدست میاد یا به عبارتی وزنهای سناپسی یک نورون، یا در یک شبکه عصبی-وزنهای سناپسی بین نورونها، چطور تنظیم می شوند تا بتوانند کنار هم یک مسئله ای را حل کنند؟
اینجاست که مفاهیم یادگیری شبکه های عصبی و قوانین یادگیری/روشهای بهینه سازی مطرح می شود.
دوره شبکه عصبی و همچنین دوره پایتورچ به این مفاهیم به صورت عمیق و تخصصی میپردازیم.
موفق باشید…
دیدگاه ها