سیستم های خبره
سیستمهای خبره نوعی میکرودنیا را اشغال میکنند — برای مثال، یک مدل از انبار یک کشتی و محموله آن — که خودکفا و نسبتاً ساده است. برای چنین سیستمهای هوش مصنوعی، تمام تلاش انجام میشود تا تمام اطلاعات مربوط به یک حوزه خاص که یک کارشناس (یا گروهی از کارشناسان) میدانند، در آنها گنجانده شود، بهطوریکه یک سیستم خبره خوب اغلب میتواند بهتر از هر کارشناس انسانی عمل کند. سیستمهای خبره تجاری بسیاری وجود دارند، از جمله برنامههایی برای تشخیص پزشکی، تحلیل شیمیایی، تأیید اعتبار، مدیریت مالی، برنامهریزی شرکتی، مسیریابی اسناد مالی، اکتشاف نفت و مواد معدنی، مهندسی ژنتیک، طراحی و ساخت خودرو، طراحی لنز دوربین، طراحی نصب کامپیوتر، برنامهریزی خطوط هوایی، جایگذاری محموله و خدمات کمک خودکار برای صاحبان کامپیوترهای خانگی.
دانش و استنتاج
اجزای اصلی یک سیستم خبره شامل یک پایگاه دانش (KB) و یک موتور استنتاج است. اطلاعاتی که باید در پایگاه دانش ذخیره شوند از طریق مصاحبه با افرادی که در زمینه مورد نظر متخصص هستند به دست میآید. مصاحبهکننده، یا مهندس دانش، اطلاعات استخراج شده از کارشناسان را به مجموعهای از قوانین، که معمولاً دارای ساختار “اگر-آنگاه” هستند، سازماندهی میکند. این نوع قوانین، قوانین تولید نامیده میشوند. موتور استنتاج به سیستم خبره امکان میدهد تا از قوانین موجود در پایگاه دانش نتیجهگیری کند. به عنوان مثال، اگر پایگاه دانش شامل قوانین تولید “اگر x، آنگاه y” و “اگر y، آنگاه z” باشد، موتور استنتاج میتواند نتیجه بگیرد “اگر x، آنگاه z “. ممکن است سیستم خبره از کاربر خود بپرسد: “آیا x در شرایطی که در حال بررسی هستیم درست است؟” اگر پاسخ مثبت باشد، سیستم ادامه داده و نتیجه z را استنتاج میکند.
برخی از سیستمهای خبره از منطق فازی استفاده میکنند. در منطق استاندارد تنها دو مقدار حقیقت وجود دارد: درست و نادرست. این دقت مطلق باعث میشود که صفات یا موقعیتهای مبهم به سختی قابل توصیف باشند. (به عنوان مثال، دقیقاً چه زمانی یک سر کممو به یک سر طاس تبدیل میشود؟) اغلب قوانینی که کارشناسان انسانی استفاده میکنند حاوی عبارات مبهم هستند، و بنابراین مفید است که موتور استنتاج یک سیستم خبره از منطق فازی استفاده کند.
دندرال
در سال ۱۹۶۵، محقق هوش مصنوعی ادوارد فیگنباوم و ژنتیکدان جاشوا لدر برگ، هر دو از دانشگاه استنفورد، کار بر روی سیستم خبرهای به نام دندرال را آغاز کردند (که بعدها به نام دندرال کوتاه شد). این سیستم برای تحلیل شیمیایی طراحی شده بود. مادهای که قرار بود تحلیل شود، ممکن بود یک ترکیب پیچیده از کربن، هیدروژن و نیتروژن باشد. با استفاده از دادههای طیفسنجی بهدستآمده از این ماده، دندرال ساختار مولکولی آن را فرضیهسازی میکرد. عملکرد دندرال به حدی خوب بود که با شیمیدانان متخصص در این زمینه برابری میکرد و این برنامه هم در صنعت و هم در دانشگاهها مورد استفاده قرار گرفت.
مایسین
کار بر روی مایسین، یک سیستم خبره برای درمان عفونتهای خونی، در سال ۱۹۷۲ در دانشگاه استنفورد آغاز شد. مایسین تلاش میکرد تا بر اساس علائم گزارششده و نتایج آزمایشهای پزشکی، بیماران را تشخیص دهد. این برنامه میتوانست اطلاعات بیشتری درباره بیمار درخواست کند و همچنین آزمایشهای اضافی پیشنهاد دهد تا به یک تشخیص محتمل برسد و پس از آن دوره درمانی را توصیه کند. در صورت درخواست، مایسین توضیح میداد که چه استدلالی منجر به تشخیص و توصیه آن شده است. با استفاده از حدود ۵۰۰ قانون تولید، مایسین در سطحی مشابه با متخصصان انسانی در عفونتهای خونی و حتی بهتر از پزشکان عمومی عمل میکرد.
با این حال، سیستمهای خبره فاقد عقل سلیم یا درک محدودیتهای تخصص خود هستند. به عنوان مثال، اگر به مایسین گفته شود که یک بیمار با گلوله مجروح شده و در حال خونریزی به حد مرگ است، این برنامه سعی میکند علت باکتریایی برای علائم بیمار پیدا کند. سیستمهای خبره همچنین ممکن است بر اساس خطاهای دفتری مضحکی عمل کنند، مانند تجویز دوز نادرست دارو برای بیمارانی که دادههای وزن و سن آنها به اشتباه وارد شده است.
پروژه CYC
CYC یک آزمایش بزرگ در زمینه هوش مصنوعی نمادین است. این پروژه در سال ۱۹۸۴ تحت نظارت شرکت Microelectronics and Computer Technology Corporation، که یک کنسرسیوم از تولیدکنندگان کامپیوتر، نیمهرساناها و الکترونیک است، آغاز شد. در سال ۱۹۹۵، داگلاس لنت، مدیر پروژه CYC، پروژه را در شرکت Cycorpادامه داد که مقر آن در آستین، تگزاس است. بزرگترین هدف Cycorp این بود که یک پایگاه دانش (KB) بسازد که درصد قابل توجهی از دانش عمومی یک انسان را شامل شود. میلیونها ادعای عمومی یا قانون در CYC کدگذاری شده بود. انتظار میرفت که این “جرم بحرانی” به سیستم این امکان را بدهد که قوانین بیشتری را به طور مستقیم از متنهای عادی استخراج کند و در نهایت به عنوان پایهای برای نسلهای آینده سیستمهای خبره عمل کند.
با وجود اینکه تنها بخشی از پایگاه دانش عمومی آن گردآوری شده بود، CYC میتوانست استنتاجهایی انجام دهد که سیستمهای سادهتر را شکست میداد. به عنوان مثال، CYC میتوانست از عبارت “گارسیا در حال پایان دادن به یک ماراتن است” نتیجهگیری کند که “گارسیا خیس است” با استفاده از قوانین خود مبنی بر اینکه دویدن در ماراتن مستلزم تلاش زیاد است، مردم در تلاش زیاد عرق میکنند و هر چیزی که عرق کند، خیس است. از جمله مشکلات باقیمانده برجسته، مسائل مربوط به جستجو و حل مسئله است؛ به عنوان مثال، چگونه میتوان به طور خودکار در پایگاه دانش به دنبال اطلاعاتی که به یک مشکل خاص مربوط میشود، جستجو کرد. محققان هوش مصنوعی به مسئله بهروزرسانی، جستجو و دستکاری ساختار بزرگ نمادها در زمانهای واقعگرایانه، مسئله قاب (frame problem) میگویند. برخی از منتقدان هوش مصنوعی نمادین بر این باورند که مسئله قاب به طور کلی غیرقابل حل است و بنابراین معتقدند که رویکرد نمادین هرگز به سیستمهای واقعاً هوشمند منجر نخواهد شد. ممکن است CYC، به عنوان مثال، قبل از آنکه سیستم به سطح دانش انسانی برسد، به مسئله قاب دچار شود.
اتصالاتگرایی
اتصالاتگرایی، یا محاسبات مشابه به نورون، از تلاشها برای درک چگونگی عملکرد مغز انسان در سطح عصبی و به ویژه، نحوه یادگیری و به یادآوری انسان ها توسعه یافت. در سال ۱۹۴۳، فیزیولوژیست عصبی وارن مککالچ از دانشگاه ایلینویز و ریاضیدان والتر پیتس از دانشگاه شیکاگو یک رساله تاثیرگذار در مورد شبکههای عصبی و اتوماتها منتشر کردند که طبق آن هر نورون در مغز یک پردازشگر دیجیتال ساده است و مغز به طور کلی یک نوع ماشین محاسباتی است. همانطور که مککالچ بعدها بیان کرد، “آنچه که فکر میکردیم در حال انجام آن هستیم (و فکر میکنم به طور نسبی موفق شدیم) این بود که مغز را مانند یک ماشین تورینگ مورد بررسی قرار دهیم.”
ایجاد یک شبکه عصبی مصنوعی
با این حال، تا سال ۱۹۵۴، بلمونت فارلی و وسلی کلارک از MIT موفق به اجرای اولین شبکه عصبی مصنوعی شدند—هرچند که محدود به حافظه کامپیوتر و حداکثر ۱۲۸ نورون بود. آنها توانستند شبکههای خود را برای شناسایی الگوهای ساده آموزش دهند. علاوه بر این، آنها کشف کردند که تخریب تصادفی تا ۱۰ درصد از نورونهای یک شبکه آموزشدیده بر عملکرد شبکه تأثیر نمیگذارد—ویژگیای که به قابلیت مغز در تحمل آسیب محدود ناشی از جراحی، تصادف یا بیماری شباهت دارد.
بخشی از یک شبکه عصبی مصنوعی
در بخش شبکه عصبی مصنوعی که در شکل نشان داده شده است، وزن یا قدرت هر ورودی با اندازه نسبی ارتباط آن نشان داده میشود. در این مثال، آستانه تحریک برای نورون خروجی، N، برابر با ۴ است. بنابراین، N در حالت خاموش باقی میماند مگر اینکه ترکیبی از سیگنالهای ورودی از W، X، Y و Z دریافت شود که مجموع وزن آنها بیش از ۴ باشد.
شبکه عصبی سادهای که در شکل نشان داده شده است، ایدههای مرکزی ارتباطگرایی را به تصویر میکشد. چهار عدد از پنج نورون شبکه برای ورودی هستند و پنجمین نورون—که به هر یک از دیگر نورونها متصل است—برای خروجی است. هر یک از نورونها یا در حال فعالیت (۱) هستند یا در حال غیر فعال (۰). هر اتصال که به N، نورون خروجی، منتهی میشود، دارای “وزن” است. آنچه به عنوان ورودی وزنی کل به N نامیده میشود، با جمع کردن وزنهای تمام اتصالاتی که به N از نورونهای فعال میرسد، محاسبه میشود. به عنوان مثال، فرض کنید تنها دو نورون ورودی، X و Y، در حال فعالیت هستند. از آنجا که وزن اتصال از X به N برابر با ۱.۵ و وزن اتصال از Y به N برابر با ۲ است، به این ترتیب ورودی وزنی کل به N برابر با ۳.۵ است. همانطور که در شکل نشان داده شده است، N دارای آستانه تحریک ۴ است. یعنی اگر ورودی وزنی کل N برابر با ۴ یا بیشتر باشد، N فعال میشود؛ در غیر این صورت، فعال نمیشود. بنابراین، به عنوان مثال، اگر تنها نورونهای ورودی X و Y فعال باشند، N فعال نمیشود، اما اگر X، Y و Z هر سه فعال باشند، N فعال میشود.
آموزش شبکه شامل دو مرحله است. ابتدا، عامل خارجی یک الگو را وارد میکند و رفتار N را مشاهده میکند. سپس، عامل، وزنهای اتصالات را مطابق با قوانین زیر تنظیم میکند:
الف. اگر خروجی واقعی ۰ و خروجی مطلوب ۱ باشد، وزن هر اتصال منتهی به N از نورونهای فعال را به میزان کوچک ثابتی افزایش دهید (بنابراین احتمالاً در دفعات بعدی که شبکه همان الگو را دریافت میکند، N فعال خواهد شد)؛
ب. اگر خروجی واقعی ۱ و خروجی مطلوب ۰ باشد، وزن هر اتصال منتهی به نورون خروجی از نورونهای فعال را به همان مقدار کوچک کاهش دهید (بنابراین احتمالاً نورون خروجی در دفعات بعدی که شبکه همان الگو را دریافت میکند، فعال نخواهد شد).
عامل خارجی—در واقع یک برنامه کامپیوتری—این روش دو مرحلهای را با هر الگو در یک نمونه آموزشی اجرا میکند، که سپس چندین بار تکرار میشود. در طول این تکرارهای متعدد، الگوی وزنهای اتصالات شکل میگیرد که به شبکه امکان میدهد به درستی به هر الگو پاسخ دهد. نکته قابل توجه این است که فرآیند یادگیری کاملاً مکانیکی است و نیازی به دخالت یا تنظیمات انسانی ندارد. وزنهای اتصالات به طور خودکار به مقدار ثابت افزایش یا کاهش مییابند و دقیقاً همان روش یادگیری برای وظایف مختلف اعمال میشود.
پرسپترونها
در سال ۱۹۵۷، فرانک روزنبلات از آزمایشگاه هوافضا در دانشگاه کرنل در ایتاکا، نیویورک، شروع به تحقیق در مورد شبکههای عصبی مصنوعی کرد که او آنها را پرسپترونها نامید. او به حوزه AI از طریق تحقیقات تجربی در خصوص ویژگیهای شبکههای عصبی (با استفاده از شبیهسازیهای کامپیوتری) و از طریق تحلیلهای ریاضی دقیق، کمکهای بزرگی کرد. روزنبلات یک ارتباطگرای جذاب بود و به زودی گروههای تحقیقاتی بسیاری در ایالات متحده به مطالعه پرسپترونها پرداختند. روزنبلات و پیروانش رویکرد خود را ارتباطگرا نامیدند تا بر اهمیت یادگیری از طریق ایجاد و تغییر اتصالات بین نورونها تأکید کنند. پژوهشگران مدرن این اصطلاح را پذیرفتهاند.
یکی از کمکهای روزنبلات این بود که روش آموزش را که فارلی و کلارک فقط به شبکههای دو لایه اعمال کرده بودند، تعمیم داد تا این روش بتواند به شبکههای چند لایه نیز اعمال شود. روزنبلات از عبارت “اصلاح خطای بازگشتی” برای توصیف روش خود استفاده کرد. این روش، با بهبودها و گسترشهای قابل توجه، توسط بسیاری از دانشمندان به طور رایج استفاده میشود. وهمچنین اصطلاح بازگشتپراکنی اکنون به طور رایج در ارتباطگرایی به کار میرود.