نقش شبکههای عصبی در تکامل هوش مصنوعی
شبکه عصبی یک سیستم نرمافزاری یا سختافزاری است که عملکردی شبیه به نورونهای مغز انسان دارد. شبکههای عصبی شامل تکنولوژیهای مختلفی مانند Deep Learning و یادگیری ماشین هستند و یکی از بخشهایی هستند که به تکامل هوش مصنوعی کمک میکنند.
شبکههای عصبی مصنوعی (Artificial Neural Network) که با اسم مخفف ANN شناخته میشوند، یکی از ابزارهای کلیدی یادگیری ماشین هستند. این سیستمها براساس طرز کار نورونهای مغز انسان ساخته شدهاند و یک کپی از سیستم یادگیری انسان هستند. شبکههای عصبی از لایههای ورودی و خروجی و همچنین لایههای مخفیای که دادههای ورودی را به منظور استفاده توسط لایه خروجی تغییر میدهند ساخته شدهاند. از این شبکهها برای پیدا کردن الگوهایی که تعداد آنها برای برنامهنویسها خیلی زیاد و پیچیده هستند استفاده میشوند. ماشینها نیز به گونهای آموزش میبینند که بتوانند این الگوها را تشخیص دهند.
اکثر نرمافزارهای تجاری و شرکتهای تبلیغاتی از این تکنولوژیها استفاده میکنند. هدف اصلی آنها حل مسائل پیچیدهای مانند تشخیص الگو و یا تشخیص چهره و کارهای دیگری مانند تبدیل گفتار به نوشتار، تحلیل داده، تشخیص دست خط، پیشبینی آب و هوا و پردازش سیگنال است.
ساختار شبکه عصبی
نحوه عملکرد شبکههای عصبی کاملا شبیه به مغز انسان است. ما میتوانیم با ایجاد ارتباطات ضروری عملکرد مغز را با استفاده از سیلیکون و سیم که شباهت زیادی به دندریتها و نورونهای مغز انسان دارند شبیهسازی کنیم. مانند محرکهای بیرونی که توسط دندریتها دریافت میشوند، دادههای ورودی نیز موجهایی ایجاد میکنند که به همان شکل در سطح شبکه عصبی حرکت میکنند. یک شبکه عصبی مصنوعی متشکل از نودهای فراوانی است که مانند نورونهای مغز انسان عمل میکنند. هرکدام از این نودها برای برقراری ارتباط با سیم به نودهای دیگر متصل شده است. هر نود روی دادههای ورودی عملیاتهای کوچکی انجام میدهد و نتیجه این عملیاتها را به نودهای دیگر منتقل میکند. خروجی هر نود به عنوان ارزش نود شناخته میشود. در عکس زیر میتوانید نحوه عملکرد هر نود را مشاهده کنید.
برتریهای شبکه عصبی
برخی از برتریهای شبکههای عصبی عبارتند از:
- خودساماندهی: یک شبکه عصبی میتواند ارائه خودش از اطلاعات ورودی را در زمان یادگیری تولید کند.
- عملکرد بلادرنگ: محاسبات شبکه عصبی میتواند به صورت همزمان انجام شود. سختافزارهایی نیز به منظور استفاده از این قابلیت طراحی شدهاند.
- یادگیری تطبیقی: توانایی یادگیری نحوهی انجام کارها بر پایه دادههایی که برای هرکار به سیستم داده میشود.
- کدگذاری اطلاعات زائد از طریق تحمل خطا: از بین بردن بخشی از لیدهای شبکه هنگام کاهش کارایی. علاوه بر این برخی برخی شبکهها توانایی نگه داشتن دادهها را حتی هنگام آسیب دیدن کلی شبکه را هم دارند.
یک شبکه عصبی مصنوعی شامل تعداد زیادی پردازنده است که به صورت موازی با هم کار میکنند و به صورت لایهای قرار گرفتهاند. لایه اول دادههای خام را به عنوان ورودی دریافت میکند. این لایه مانند اعصاب بینایی چشم انسان عمل میکند. تمام لایههای بعدی این ورودی خام را به عنوان داده خروجی لایه قبلی دریافت میکند. این عمل نیز شبیه به نحوه کار نورونهای اعصاب بینایی که سیگنالهای نزدیک به خودش را دریافت میکند انجام میشود. لایه آخر نیز دادههای خروجی را ایجاد میکند. در شکل زیر میتوانید چند لایه مختلف را ببینید.
شبکههای عصبی تطبیقپذیر هستند؛ یعنی میتوانند خودشان را بسته به آموزشهایی که میبینند تغییر دهند و به منظور کسب اطلاعات بیشتر درمورد دنیا به صورت موازی فعالیت کنند. اگر شبکه بتواند یک نتیجه مطلوب ایجاد کند، نیازی به تغییر دادههای ورودی نخواهد بود. اما اگر شبکه یک نتیجه نامطلوب ایجاد کند که باعث بروز خطا شود، سیستم دادههای را تغییر خواهد داد تا نتیجه بهتری به دست بیاید.
نقش شبکههای عصبی در تکامل هوش مصنوعی
هوش مصنوعی (AI) و شبکه عصبی مصنوعی (ANN) دو مبحث مرتبط به هم در علوم کامپیوتر هستند. اما این دو تفاوتهایی با هم دارند که باید به آنها توجه کرد.
تفاوت کلیدی این دو این است که شبکههای عصبی یکی از پایههای تحقیقات درمورد هوش مصنوعی هستند.
هوش مصنوعی یک میدان وسیع است که هدف آن ایجاد دستگاههای هوشمند میباشد. بسته به تعریف شما از کلمه هوشمند، ممکن است چنین دستگاهی چندین بار در طول تاریخ ایجاد شده باشد. با وجود اینکه ما کامپیوترهایی داریم که میتوانند در مسابقات تلویزیونی برنده شوند و یا قهرمانهای شطرنج را شکست دهند، اما هوش مصنوعی به دنبال ایجاد یک ماشین هوشمند است که بتوانند در شرایط مختلفی از هوش خودش استفاده کند.
به منظور رفع مشکل دستگاههای هوشمندی که فقط به یک منظور ساخته شده بودند، محققان کامپیوتر به کار با شبکههای عصبی مصنوعی روی آوردند. همانطور که اشاره شد مغز ما از شبکههای عصبی بیولوژیکیای ساخته شده است که براساس ادراک ما و محرکهای خارجی با یکدیگر ارتباط برقرار میکنند.
یکی از نمونههای خیلی ساده شبکه عصبی بیولوژیکی درد ناشی از سوختن است. هنگامی که یک فرد برای اولین بار این درد را حس میکند، یک کانکشن در مغز او ایجاد میشود که اطلاعات حسی مربوط به آتش (شعله، بوی دود، حرارت) را شناسایی میکند و آنها را مرتبط با درد میداند. انسان به این شکل در سنین خیلی پائین یاد میگیرد از سوخته شدن دوری کند. با استفاده از این شبکه عصبی موضوعات عمومیای مانند “بستنی خوشمزه است” یا جهشهای قیاسیای مانند “همیشه قبل از باران آسمان ابری خواهد بود” را یاد میگیرید. البته این قیاسها همیشه دقیق نیستند و ممکن است برخی اوقات بستنی بدمزه باشد اما میتوانید با تجربه آنها را اصلاح کنید. این موضوع تحت عنوان یادگیری تطابقی شناخته میشود.
شبکههای عصبی مصنوعی تلاش میکنند این سیستم یادگیری را با استفاده از ایجاد یک چارچوب نرمافزاری ساده بازتولید کنند تا به مشکلات واکنش نشان دهند و بازخورد این واکنش را دریافت کنند. یک کامپیوتر میتواند با هزاران بار حل یک مسئله و سپس تغییر واکنش خودش به آن براساس بازخورد دریافتی نحوه واکنشش را اصلاح کند. سپس کامپیوتر آماده دریافت مسئله جدید و حل آن با روشی است که در زمان حل مسئله قبلی یاد گرفته است. با تغییر مسئلهها و روشهای حل هر مسئله، محققان میتواند یک کامپیوتر را به گونهای آموزش دهند که بتواند مسائل عمومی را حل کند.
البته ما هنوز راه زیادی تا دستیابی به هوش مصنوعی از طریق شبکههای عصبی داریم. مسئلههایی که روی شبکههای عصبی در حال آزمایش هستند همگی به صورت ریاضی بیان میشوند. شما نمیتوانید یک گل را جلوی کامپیوتر قرار دهید و از آن بخواهید براساس بوی گل، رنگ آن را تشخیص دهد، زیرا باید بو را به صورت عددی به کامپیوتر بدهید و سپس کامپیوتر باید این اعداد را به همراه عکس تمام گلهایی که چنین بویی دارند در حافظه خودش فهرست کند.