مقالات حوزه شبیه سازی
شبکه‌ های عصبی با الهام از ساختار مغز، فراسوی عملکردهای انسانی می‌روند (قسمت اول)

شبکه‌ های عصبی با الهام از ساختار مغز، فراسوی عملکردهای انسانی می‌روند (قسمت اول)

شبکه‌های عصبی یا همان شبکه‌های عصبی مصنوعی، به منظور شبیه‌سازی سیستم عصبی انسان برای وظایف یادگیری ماشین ساخته شدند. آن‌ها اینکار را با درنظرگرفتن واحدهای محاسباتی در یک مدل یادگیری به روشی مشابه سلول‌های عصبی انسان انجام می‌دهند.

چشم‌انداز کلی شبکه های عصبی، ایجاد هوش مصنوعی با ساختن ماشین هایی است که معماری آن‌ها، محاسبات سیستم عصبی انسان را شبیه سازی می‌کند. بدیهی است که این امر، کار ساده‌ای نیست، زیرا قدرت محاسباتی سریع‌ترین کامپیوتر امروزی، کسر کوچکی از توان محاسباتی مغز یک انسان است. شبکه‌های عصبی به سرعت پس از ظهور کامپیوترها در دهه 50 و ۶۰ توسعه یافتند. الگوریتم پرسپترون روزنبلت (Rosenblatt’s perceptron)، سنگ بنای اساسی شبکه‌های عصبی بود که باعث ایجاد یک هیجان اولیه در مورد چشم‌اندازهای هوش مصنوعی گردید. با این حال، پس از این هیجان اولیه، یک دوره ناامیدی رخ داد، دوره‌ای که ماهیت کمبود داده و از نظر محاسباتی پرهزینه‌ی شبکه های عصبی، مانعی برای کاربردپذیری آن‌ها دیده می‌شد.

سرانجام با آغاز قرن جدید، در دسترس بودن داده‌های بیشتر و افزایش قدرت محاسباتی منجر به موفقیت‌های بیشتر شبکه‌های عصبی شد و این حوزه، تحت عنوان جدید «یادگیری عمیق» دوباره متولد گردید. اگرچه ما هنوز از روزی که هوش مصنوعی نزدیک به عملکرد انسان باشد، دور هستیم، اما حوزه‌های خاصی مانند تشخیص تصویر‌، اتومبیل‌های خودران و انجام بازی، مثال‌هایی هستند که هوش مصنوعی، یا با عملکرد انسان تطابق یافته یا حتی فراتر از آن رفته است. از طرفی، پیش‌بینی اینکه هوش مصنوعی در آینده قادر به انجام چه کارهایی خواهد بود، دشوار است. به عنوان مثال، دو دهه قبل، تعداد اندکی از متخصصان بینایی کامپیوتری (computer vision) فکر می‌کردند که یک سیستم خودکار بتواند یک وظیفه‌ی شهودی مانند دسته‌بندی یک تصویر را دقیق‌تر از یک انسان انجام دهد.

شبکه های عصبی از لحاظ نظری، قادر به یادگیری هر عملکرد ریاضی با داده‌های آموزشی کافی بوده و معلوم شده برخی از آن‌ها مانند شبکه های عصبی بازگشتی (recurrent neural networks)، تورینگ کامل هستند. کامل بودن تورینگ (Turing completeness) به این حقیقت اشاره دارد که یک شبکه عصبی می‌تواند هر الگوریتم یادگیری را با توجه به داده‌های آموزشی کافی شبیه‌سازی کند. نکته مهم این است که میزان داده‌های مورد نیاز برای یادگیری حتی کارهای ساده نیز، غالباً فوق‌العاده زیاد است. این امر باعث افزایش زمان آموزش می‌شود (اگر در وهله اول فرض کنیم اطلاعات آموزشی کافی، در دسترس است). به عنوان مثال، زمان آموزش برای تشخیص تصویر، که کاری ساده برای انسان است، حتی در سیستم های با کارایی بالا نیز می تواند از مرتبه‌ی چند هفته باشد. علاوه بر این، مسائلی عملی در ارتباط با پایداری آموزش شبکه عصبی وجود دارد که هنوز در حال حل شدن هستند. با این وجود، با توجه به اینکه انتظار می‌رود سرعت کامپیوترها در طول زمان افزایش یابد و اساساً الگوواره‌های قدرتمندتری مانند محاسبات کوانتومی در افق وجود داشته باشند، شاید در نهایت معلوم شود مسئله محاسباتی به اندازه‌ای که تصور می‌شد، حیاتی نیست.

انسان‌ها و کامپیوتر‌ها ذاتاً برای انواع مختلفی از کارها مناسب هستند. مثلاً محاسبه ریشه مکعب یک عدد بزرگ، برای یک کامپیوتر بسیار آسان است، اما برای انسان، فوق‌العاده دشوار است. از طرفی، کاری مانند تشخیص اشیا در یک تصویر، مسئله‌ی ساده‌ای برای انسان است، اما همیشه کاری بسیار دشوار برای الگوریتم یادگیری خودکار بوده است. تنها در سال‌های اخیر، یادگیری عمیق، دقتی بیشتر از انسان را در مورد این وظایف نشان داده است.

بسیاری از معماری‌های یادگیری عمیق که چنین عملکرد خارق‌العاده‌ای را نشان داده‌اند، با اتصال جداگانه‌ی واحدهای محاسباتی ایجاد نمی‌شوند. عملکرد برترشبکه‌ های عصبی عمیق، این واقعیت را نشان می دهد که شبکه های عصبی زیستی، بخش اعظم قدرت خود را از عمق بدست می‌آورند. علاوه بر این، شبکه‌های زیستی به روش‌هایی که ما کاملا نمی‌فهمیم، متصل می‌شوند. در موارد معدودی که ساختار زیستی در برخی سطوح درک می‌شود، پیشرفت‌های چشمگیری با طراحی شبکه‌های عصبی مصنوعی در کنار هم، حاصل شده است. یک نمونه کلاسیک از این نوع معماری، استفاده از شبکه عصبی پیچشی (Convolutional neural network) برای تشخیص تصویر است. این معماری با الهام از آزمایش‌های هوبل (Hubel) و ویسل (Wiesel) در سال 1959 در مورد سازماندهی نورون‌ها در قشر بینایی گربه توسعه یافت. ساختار اتصال نورونی انسان، طی میلیون‌ها سال برای بهینه‌سازی عملکرد بقامحور تکامل یافته است. بقا ارتباط نزدیکی با توانایی ما در ادغام احساس و شهود و با روشی که در حال حاضر با ماشین‌ها امکان‌پذیر نیست، دارد.

شبکه های عصبی مصنوعی (ANN) همانطور که از نامشان مشخص است، شبکه‌های محاسباتی هستند که تلاش می‌کنند، فرایند تصمیم‌گیری شبکه‌های سلول عصبی (نورون‌ها) سیستم عصبی مرکزی موجودات زنده (انسانی یا حیوانی) را شبیه‌سازی کنند. این شبیه‌سازی، یک شبیه‌سازی سلول به سلول (نورون به نورون، عنصر به عنصر) است که از دانش عصب‌شناسی نورون‌های زیستی و شبکه‌های آن‌ها وام گرفته شده است. بنابراین با ماشین‌های محاسباتی مرسوم (دیجیتال یا آنالوگ) که برای جایگزینی، تقویت یا سرعت بخشیدن به محاسبات مغز انسان و بدون توجه به سازماندهی عناصر محاسباتی و شبکه‌ی آن‌ها به کار می‌روند، فرق دارند. با این حال، ما تأکید می‌کنیم که شبیه‌سازی بدست‌آمده توسط شبکه‌های عصبی، بسیار خام است. پس چرا باید شبکه های عصبی مصنوعی را به عنوان چیزی بیشتر از یک تمرین شبیه‌سازی درنظر بگیریم؟ ما باید این سوال را بپرسیم، به خصوص چون حداقل به لحاظ محاسباتی، یک کامپیوتر دیجیتال معمولی می‌تواند همه کارهایی که یک شبکه عصبی مصنوعی قادر به انجام آن‌هاست، انجام دهد.

پاسخ، در دو جنبه‌ی مهم نهفته است. شبکه عصبی، با شبیه‌سازی یک شبکه عصبی زیستی، در واقع یک معماری جدید کامپیوتر؛ و یک معماری جدید الگوریتم‌سازی نسبت به کامپیوترهای معمولی است که به شما اجازه می‌دهد از عملیات محاسباتی بسیار ساده (جمع، ضرب و عناصر بنیادی منطق) برای حل مسائل پیچیده و بدتعریف ریاضی، و مسائل غیرخطی یا تصادفی استفاده کنید. یک الگوریتم معمولی، مجموعه‌های پیچیده‌ای از معادلات را به کار گرفته و به یک مسئله معین اعمال خواهد کرد. ANN الف) از لحاظ محاسباتی و الگوریتمی بسیار ساده خواهد بود و (ب) یک ویژگی خودسازماندهی خواهد داشت که استفاده‌ از آن را برای طیف گسترده‌ای از مسائل امکان‌پذیر خواهد کرد.

به عنوان مثال، اگر یک مگس از یک مانع رد می‌شود یا اگر یک موش از یک گربه فرار می‌کند، مطمئنا هیچ معادله دیفرانسیلی برای مسیرها حل نمی‌کند یا الگوریتم‌های پیچیده‌ی تشخیص الگویی را به کار نمی‌گیرد. مغزش بسیار ساده است و از چند سلول عصبی پایه‌ای که اساساً از ساختار چنین سلول‌هایی در حیوانات و انسان پیروی می‌کنند، استفاده می‌کند. راه حل شبکه عصبی مصنوعی نیز به دنبال چنین سادگی خواهد بود. آلبرت اینشتین اظهار داشت که یک راه حل یا یک مدل، باید تا حد امکان ساده باشد تا بتواند مسئله را حل کند. سیستم‌های زیستی برای اینکه باوجود کندی ذاتی‌شان (گام محاسباتی بنیادی آن‌ها در حدود یک میلی‌ثانیه طول می‌کشد در مقابل گام کمتر از یک نانوثانیه در کامپیوترهای الکترونیکی امروزی)، بتوانند هم کارا و هم تطبیق‌پذیر باشند، باید به ساده‌ترین معماری الگوریتمی ممکن، همگرا شوند. در حالیکه ریاضیات سطح بالا و منطق می‌تواند یک چارچوب کلی گسترده برای راه حل‌ها ارائه داده و به الگوریتم‌سازی خاص، اما پیچیده کاهش یابد، طراحی شبکه عصبی، به دنبال حداکثر سادگی و خودسازماندهی است. یک ساختار الگوریتمی پایه‌ای بسیار ساده، در پشت یک شبکه عصبی قرار دارد که با طیف وسیعی از مسائل، سازگار است. خاطرنشان می‌کنیم که در حالت کنونی، دامنه سازگاری شبکه‌های عصبی،  محدود است. با این حال، طراحی آن‌ها برای دستیابی به این سادگی و خودسازماندهی و با شبیه‌سازی خام شبکه زیستی که با همان اصول راهنمایی می‌شود، هدایت می‌گردد.

جنبه‌ی دیگر شبکه های عصبی که حداقل به طور بالقوه، نسبت به کامپیوترهای معمولی، متفاوت و سودمند است، موازی‌کاری بالای آن‌هاست. یک کامپیوتر دیجیتال معمولی، یک ماشین متوالی‌کار است. اگر یک ترانزیستور (در میان چند میلیون ترانزیستور) خراب شود، کل دستگاه متوقف می‌شود. در سیستم عصبی مرکزی انسان بالغ، سالانه هزاران نورون‌ از بین می‌روند، در حالی که این تلفات بر عملکرد مغز، کاملاً بی‌تأثیر است، به جز وقتی که تعدادی زیادی از سلول‌هایی که در چند مکان کلیدی هستند، بمیرند (مثلاً سکته‌های شدید مغزی). این عدم حساسیت به آسیب چند سلول، به دلیل موازی‌کاری بالای شبکه‌های عصبی زیستی است؛ برخلاف طراحی متوالی کامپیوتر‌های دیجیتال معمولی. همین ویژگی افزونگی در مورد ANN نیز اعمال می شود. با این حال، از آنجا که در حال حاضر بیشتر ANNها هنوز در کامپیوترهای دیجیتال معمولی شبیه‌سازی می‌شوند، این جنبه از عدم حساسیت به خرابی اجزاء وجود ندارد.


ادامه دارد...

كلمات كليدي :
شبکه های عصبی
 
امتیاز دهی
 
 

بيشتر
login