مغز انسان پیچیدهترین سیستم شناخته شده در کل گیتی است؛ با این حال مغز انسان نه ابعاد بسیار گستردهای مانند کهکشانها دارد و نه اجزای سازنده آن بیشتر از پردازندههای ابررایانههای پیشرفته است. پیچیدگی بینظیر آن به اتصالهای بسیار فراوان میان اجزای آن مربوط است و دقیقا این همان چیزی است که مغز کمتر از دو کیلوگرمی انسان را از سایر سیستمهای دیگر متمایز ساخته است؛ پیدایش شبکه عصبی مصنوعی (Artificial Neural Networks) از مدل کردن ویژگیهای پردازشی مغز انسان برای انجام محاسبات با روش پردازش زیستی است.
مغز انسان و پیدایش شبکه عصبی مصنوعی
برخی از فرآیندهایی که در مغز انسان شکل میگیرند آنقدر پیچیده هستند که هیچ ابررایانهای امکان پردازش آنها را ندارند. با این حال تحقیقات نشان داده است که یونیتهای سازنده مغز، از نظر سرعت و کارایی، حدود یک میلیون بار کندتر از تراشههای سیلیکونی سی پی یو رایانه هستند؛ اما سرعت و قدرت پردازش بینظیر مغز انسان، به ارتباطهای بسیار انبوه میان سلولها سازنده آن بازمیگردد. چه بسا اگر چنین ارتباطاتی (لینکها) در مغز انسان وجود نداشت، قدرت پردازش آن از یک رایانه معمولی هم پایینتر میبود.
از اینرو، آرزوی نهایی معماران سخت افزاری و نرم افزاری جهان ساخت نزدیکترین مدلی است که بتواند به مانند مغز انسان عمل کند. در واقع اگر روزی فرا برسد که بتوانیم رایانهای با ظرفیت قدرت پردازش مغز انسان بسازیم، بدون شک بزرگترین انقلاب بزرگ در علم، صنعت و زندگی انسان رخ خواهد داد.
شبیهسازی عملکرد مغز انسان
چند دههای از امکان پیاده سازی الگوریتمهای محاسباتی در رایانهها میگذرد و در راستای شبیهسازی رفتار محاسباتی مغز انسان نیز کارهای پژوهشی بسیاری صورت گرفته است که به وجود آمدن شاخه جدیدی از علوم به نام هوش مصنوعی دامن زده است.
یکی از زیرشاخههای علم هوش مصنوعی (AI) شبکه عصبی مصنوعی (ANN) است که در آن مدلهای ریاضی و نرم افزاری متعددی با الهام گرفتن از مغز انسان پیشنهاد شدهاند؛ از شبکه عصبی مصنوعی در حل مسائل علمی، مهندسی و غیره استفاده میشود.
شبکه عصبی مصنوعی به زبان ساده
شبکههای عصبی مصنوعی از ۳ لایه ورودی، پردازش و خروجی تشکیل شدهاند. هر یک از لایهها دارای طیف وسیعی از سلولهای عصبی (Neuron) هستند و با کلیه سلولهای عصبی لایههای دیگر در ارتباط میباشند درحالی که در این شبکه نورونهای هر لایه با دیگر سلولهای عصبی همان لایه هیچ ارتباطی ندارند.
نورونها کوچکترین واحد پردازشگر اطلاعات هستند که بر اساس عملکرد در جایگاه خاص خوب شبکههای عصبی را تشکیل میدهند. یک شبکه عصبی (طبیعی) از پیوست میلیاردها نورون تشکیل میشود و با قرار گرفتن در لایههای مختلف، معماری خاصی را تولید میکنند.
در شبکه عصبی هر سلول عصبی مستقل از دیگر سلولها است و رفتار کلی شبکه از برآیند رفتار نورونها به وجود میآید. میتوان گفت نورونها طی روند کاری خود، یکدیگر را تصحیح میکنند. حالا با استفاده از دانش کدنویسی رایانهای میتوان سیستمی طراحی کرد که مانند نورونها عمل کند. سپس با ایجاد شبکهای از نورونهای مصنوعی به هم وصل شده میتوان شبکههای عصبی مصنوعی ایجاد کرد.
کاربردهای شبکه عصبی مصنوعی و انواع آن
در قرن بیست و یکم استفاده از سیستمهای هوشمند به خصوص شبکه عصبی مصنوعی به قدری گسترش یافته است که میتوان رد پای آن را در اکثر رشتههای دانشگاهی که نیاز به تحلیل، تصمیمگیری، تخمین، پیشبینی، طراحی و ساخت دارند، جستجو کرد؛ در ادامه فهرستی از کاربردهای شبکههای عصبی مصنوعی در حوزههای مختلف را آوردهایم تا بیشتر با این موضوع آشنا شوید:
استفاده از شبکههای عصبی مصنوعی در طبقه بندی کردن اسناد و اطلاعات در شبکههای کامپیوتری و همچنین توسعه نرم افزارهای نظارتی مانند آنتی ویروسها دیده میشود؛ همچنین برای مدلسازی سیستمها و استفاده از مهندسی معکوس از این نوع شبکه استفاده میشود؛ در موارد زیر نیز رد پای شبکههای عصبی مصنوعی به چشم میخورد:
- طراحی انواع سیستمهای کنترلی
- عیبیابی در سیستمهای صنعتی
- ارزیابی و تخمین درستیِ فرضیهها
- شبیهسازی پدیدههای فیزیکی و فنی
- پیشبینی نتایج تستهای مختلف
همچنین علوم مربوط به پزشکی یکی از زمینههایی است که شبکههای عصبی مصنوعی نقش پررنگی را در آن ایفا میکنند. شبیهسازی فرآیندهای زیستی، تشخصی بیماریها با توجه به نتایج آزمایشگاهی و تصویربرداری، پیشبینی نتایج درمان و عمل، شبیهسازی و پیشبینی رفتارهای فردی و اجتماعی و غیره از فرآیندهایی هستند که در آنها شبکههای عصبی مصنوعی بسیار پرکاربرد هستند؛ به طور کلی شبکههای عصبی مصنوعی به دو نوع پیشخور و پسخور تقسیم میشوند که شرح هر دو آنها میپردازیم.
شبکهی پیشخور (FeedForward)
در این نوع شبکه، فرآیند پاسخدهی همیشه رو به جلو است و به نورونهای لایه قبلی خود باز نخواهند گشت؛ از آنجایی که سیگنالها اجازه عبور از یک مسیر یک طرفه را دارند، بازخورد و یا فیدبکی هم وجود نخواهد داشت. در شبکههای پیشخور لایههای نورونی تنها به لایه بعد از خود اثر میگذارند و تغییری در لایه خود ایجاد نمیکنند.
شبکهی پسخور (FeedBack)
در این نوع شبکه عصبی مصنوعی امکان برگشت حداقل یک سیگنال از یک نورون به همان لایه از نورونها وجود دارد. در این صورت اگر سلول عصبی دارای فیدبک باشد بدین مفهوم است که پاسخ نورون در لحظه نه تنها به ورودی بلکه به مقدار خروجی خود نورون در لحظه بازگشت نیز وابسته است.
در روشهای محاسباتی سنتی، از مجموعه عبارات منطقی برای اجرای یک عمل استفاده میشود، اما در سیستم شبکه عصبی مصنوعی از مجموعه نورونها و سیناپسها برای پردازش دادهها استفاده میگردد. برای مثال فرض کنید میخواهید به رایانه خود آموزش دهید که تصویر دوچرخه را از موتو و اجسام دیگر تشخیص دهد.
برای این منظور باید عکس میلیونها دوچرخه را به عنوان ورودی وارد شبکه کنیدو در مرحله بعدی کاربر میتواند به سیستم بگوید که کدام یک از خروجیها دقیقا عکس دوچرخه است. بدین شکل مسیرهایی که به تشخیص موارد درست منجر خواهند شد، به تقویت سیستم کمک خواهد کرد. با تکرار مکرر این فرآیند رایانه شما قادر خواهد شد تا به صورت کاملا دقیق وظیفه خود را انجام دهد.
شرکتهای گوگل و مایکروسافت از شبکه عصبی مصنوعی برای تقویت برنامههای ترجمه خود استفاده میکنند که به نتایج قابل توجهی هم دست یافتهاند. لازم به ذکر است که فرآیند ترجمه از جمله پروسههای بسیار پیچیده محسوب میشود. با استفاده از قابلیت یادگیری شبکه عصبی مصنوعی ترجمه، میتواند ترجمههای صحیح را از بین میلیاردها ترجمه تشخیص دهد و به مرور زمان دقت و کارآمدی خود را افزایش دهد.
همچنین شرکت گوگل در نسخههای تشخیص گفتار از شبکه عصبی مصنوعی استفاده کرده که پس از آن خطاهای اپلیکیشن تا ۴۹ درصد کاهش یافته است. گفتنی است که عملکرد این گونه اپلیکیشنها هیچگاه بدون نقص نخواهد شد اما به مرور زمان میتوان شاهد پیشرفت آنها باشیم.