دانشجوی دکتری مهندسی کامپیوتر دانشگاه تهران، علاقهمند به حوزه علوم شناختی و اعصاب شناختی، فلسفه، هوش مصنوعی، علوم داده، بصری سازی داده، روانشناسی، اقتصاد و مالی
شبکههای عصبی مصنوعی
در این نوشته میخواهم شبکههای عصبی مصنوعی که این روزها یکی از حوزههای بسیار جدی در علوم کامپیوتر محسوب میشود را از منظر شناختی و علوم شناختی توضیح بدهم. توضیح کامل در مورد این حوزه روزها و ماهها زمان لازم دارد. بنابراین سعی میکنم در حد اختصار تا جایی که بتوانم کلیات اصلی این مدلسازی نظریه پیوندی ذهن را بررسی کنم.
مغز از واحدهای سلولیای به نام نرون تشکیل شده است که به شکلی پیچیده با یکدیگر مرتبط هستند و تشکیل شبکهای را میدهند که در آن فعالیت یک سلول میتواند بر فعالیت سایر سلولهای مرتبط اثر بگذارد. ساختار نرونی مغز، الهام بخش برخی محققان برای طراحی شبکههای عصبی مصنوعی شد. ایده طراحی شبکههای عصبی یا نرونی مصنوعی برای نخستین بار در دهه ۴۰ قرن بیست میلادی مطرح شد. اما در دهه ۸۰ بود که به طور جدی مورد توجه قرار گرفت.
نخستین مدل نرونی توسط مک کلاچ و پیتز(۱۹۴۳) ارایه شد. مدلهای نرونی از جهت تعداد عناصر و پیچیدگی در سطوح مختلف قرار میگیرند. در سادهترین سطح مدلهایی را داریم که یک نرون را شبیهسازی میکنند. در سطح بالاتر، مدلهایی را داریم که از لایهای از نرونها استفاده میکنند. در سطوح بالاتر مدلهای چند لایه و شبکهای از نرونها شبیهسازی میشوند و مورد بررسی قرار میگیرند. مدل مک کلاچ پیتز مدلی بود که عملکرد یک نرون را شبیهسازی میکرد.
ما در این مدل با نرونی مواجه هستیم که دو پاسخ دارد. شلیک یا عدم شلیک. ورودیهای مختلف نرون با حرف X مشخص شدهاند. W ها وزن هر ورودی و همینطور تحریکی یا بازدارنده بودن آنها را مشخص میکند. بعد از اینکه همه ورودیها در وزنهای مربوط به خودشان ضرب شدند، با هم جمع میشوند. یک مقداری حاصل میشود. حال اگر این مقدار از یک مقدار آستانه بیشتر باشد، باعث میشود که نرون شلیک کند. یعنی خروجی نرون برابر با یک شود. اگر مقدار ترکیب ورودیها از حد آستانه کمتر باشد، خروجی شلیک نمیشود و مقدار آن صفر میماند. همانطور که مشخص است این مدل یک مدل ساده شده از عملکرد سلولهای عصبی مغز ما میباشد. حال سوال اساسی این بود که چطور یک نرون مصنوعی میتواند یاد بگیرد؟ اگر مقادیر ارزشی که به متغییرهایی مانند وزن یا آستانه اختصاص پیدا میکند قابل تغییر باشد، آنگاه میتوان تصور کرد که با تغییر یا اصلاح آنها، رفتار نرونها تغییر پیدا بکند. برای انجام ایت تغییرات، باید امکانات دیگری به مدل اضافه کرد. برای مثال میتوان از قانون هب استفاده کرد. اگر دو واحد به طور همزمان فعال شوند، بین آنها پیوند ایجاد میشود.
مدل نرونی مک کلاچ پیتز اولین و سادهترین مدلی بود که برای شبیهسازی شبکههای عصبی نرونی انسان استفاده شد. قدرت ای مدلسازی به اندازهای نبود که بتواند یادگیریهای ارزشمندی را انجام دهد. ولی بعد از آن مدل پیشرفتهتری به نام پرسپترون توسط روزنبلات(۱۹۵۸) مطرح شد. پرسپترون یکی از مدلهای اولیه است که هم از ویژگی یادگیری برخوردار میباشد و نیز از چند لایه سلول برخوردار است. برای همین چند لایه بودن و شکل شبکهای آ میتوان از عنوان شبکه عصبی مصنوعی برای توصیف آن استفاده کرد. پرسپترون از توانایی تشخیص و طبقهبندی الگوهای پیچیدهتری که به او داده میشد، برخوردار بود. تلاشهای روزنبلات و سایر محققان علاقهمند به مدلهای پیوندی، پس از یک شروع پر هیجان، به خاطر انتقاداتی که توسط مینسکی و پاپرت(۱۹۶۹) مطرح شد، برای مدتی مورد بیتوجهی قرار گرفت. اما در دهه ۸۰ با پیشنهاد مدلهای چند لایهای و رفع مشکلات مدل روزنبلات، مجددا مدلهای پیوندی در کانون توجه قرار گرفت. کارهای بسیار ارزشمندی در اواخر قرن بیستم در این زمینه صورت گرفت. ولی درخشش مدلهای پیوندی با ورود شبکههای عصبی مصنوعی عمیق در اوایل قرن بیست و یک بود که هینتون آن را پایه گذاری کرد. این شبکهها که به شبکههای عصبی عمیق معروف هستند سعی کردهاند ساز و کار پیچیدهتری برای مدلسازی مغز استفاده کنند. تعداد لایههای نرونی و تعداد پارامترها و وزنهایی که باید آموزش دیده شود در این شبکهها بسیار بیشتر است.
وقتی به مطالعات اعصاب شناختی و فیزیولوژی مغز نگاهی میاندازیم میتوانیم هوشمندی زیرکانه مدلسازی شبکههای عصبی مصنوعی را مشاهده کنیم. از نظر فیزیولوژی و زیستشناختی عملکرد مغز به صورت شبکههای در هم تنیده سلولهای عصبی(نرون) انجام میشود. محرکهایی که در داخل بدن و یا در خارج از بدن وجود دارند باعث ارسال سیگنالهایی به مغز میشوند. ابتدا یک سری فرآیندهای الکتروشیمیایی بر روی این دادههای ورودی انجام میشود و سپس سیگنالهای المتریکی در سطح مغز پخش میشود. نرونهای دریافت کننده این سیگنالها هر کدام بر اساس یک آستانه شدتی سیگنالها را از خود عبور میدهند. بنابراین نرونها هم میتوانند تحریک کننده سیگنال یا بازدارنده سیگنال باشند. در نهایت سیگنالی که در مغز شروع میشود، در شبکههای نرونی پخش شده و در نهایت تبدیل به یک سیگنال عصبی میشود که باعث ایجاد یک خروجی میشود. این خروجی میتواند عمل دیدن، شنیدن، حرکت دادن اندام و ... باشد. توضیحی که از فیزیولوژی مغز دادم خیلی ابتدایی بود. برای اینکه قصد ندارم در اینجا خیلی تخصصی مساله را بسط بدهم. ولی مدت زمان زیادی طول کشید که دانشمندان بتوانند در این سطح عملکرد مغز را مورد بررسی قرار بدهند و مدلی برای عملکرد مغز در نظر بگیرند. البته ما هنوز از جزییات کامل بعضی از عملکردهای مغز اطلاعاتی نداریم. ولی ریاضیدانها و کسانی که در حوزهی علوم کامپیوتر فعالیت میکنند، خیلی به بحث مطابقت واقعی مساله نمیپردازند. اگر بتوان از همین ساختار عملکردی ساده مغز ایده گرفت برای آنکه بتوان مدلهایی ساخت تا بتواند حل مسایل امروزی ما را بهبود دهد، برای آنها کافی است. مدلسازی شبکههای عصبی مصنوعی و مخصوصا شبکههای عصبی مصنوعی عمیق یکی از گامهای بسیار بزرگ در پیشرفت مدلسازی ریاضی عملکرد مغز به حساب میآید.
انواع مختلف دیگری از شبکههای عصبی مصنوعی نیز وجود دارد که هر کدام یک وجه از عملکرد مغز را پیادهسازی کردهاند. مانند شبکههای عصبی بازگشتی. از طرفی شبکههایی هم وجود دارد که مقداری با الگوریتمهای ریاضی که ارتباطی با عملکرد مغز ندارند ترکیب شدهاند تا جواب بهتری برای مسایل خاص داشته باشند. سخن آخر این است که بعد از ظهور شبکههای عصبی مصنوعی طرفداران نظریه محاسباتی ذهن کمی شجاعتر شدهاند و سرسختانهتر به تبیین نظریههای خود میپردازند. ولی اینکه آیا واقعا تمام جنبههای ذهنی انسان همانند آگاهی قابل محسابه و پیادهسازی است یا خیر هنوز مساله بدون جوابی است.
مطلبی دیگر از این انتشارات
چطوری سرعت کوئری های تحلیلی SQL رو بیش از ۱۰۰۰ برابر افزایش دادم!
مطلبی دیگر از این انتشارات
آینده تشخیص چهره در ایران
مطلبی دیگر از این انتشارات
همه چیزهایی که باید در مورد هوش مصنوعی بدانید