این نوشته یک تلکیف کلاسی بود که به نظرم آمد ممکن است برای یک مطالعه اولیه مناسب باشد و چون این مطلب چند سال  پیش تهیه شده است ازاینرو پیشنهاد می کنم حتماْ منابع جدید تر را مطالعه کنید.


در اینجا ما به موضوعات این علم می پردازیم. البته ناگفته نماند که امروزه موضوعاتی نظیر سیستم های موازی در هوش مصنوعی٬ الگوهای ژنتیک و هوش مصنوعی و مباحث دیگری به این موضوعات اضافه شده اند که بسیار جذاب و جالب می باشند.

1.     جستجو و بهينه سازي

نظريه "جستجوي هوشمندانه در راه حلهاي ممکن" شيوه اي نوين در حل بسياري از مسائل AI است. در اين روش فرايند استدلال مي تواند به يک جست وجو کاهش پيدا کند. براي مثال اثبات منطقي جستجوي راهي است که فرضيات را به نتايج هدايت مي کند. بسياري از الگوريتمهاي يادگيري از الگوريتم جست وجوي بهينه استفاده مي کنند از الگوريتمهاي مشهور اين نظريه ،اکتشافي"heuristics" ، کلني مورچه "ant colony" ، الگوريتم ژنتيک" genetic algorithms" اشاره کرد.

 

  2.     حل مسئله و استدلال

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

1- توصيف صوري و قابل كاركردن از خود مسئله است و مشخص كردن فضاي مسئله و عملگرها براي حركت در فضا و وضعيت‌هاي آغازين و هدف

2- تحليل كردن مسئله براي تعيين موقعيت آن در رابطه با نكات حل مسئله

3- انتخاب يك يا چند تكنيك براي ارائه و نمايش دانش و براي حل كردن مسئله و سپس بكارگيري آن.

 

 3.  شبکه هاي عصبي

بسيار جالب است که مطالعه شبکه هاي عصبي مصنوعي به يک دهه قبل از پايه گذاري تحقيقات AI بر مي گردد. شبکه هاي عصبي که در حل مسائل يادگيري به کار مي روند از روشهاي مختلفي چون حافظه موقتي سلسله مراتبي که معماري نئوکورتکس مغز را شبيه سازي مي کند استفاده مي کنند.

 

4.    يادگيري ماشين( Machine learning)

موضوع يادگيري از آنجا شروع مي شود که اين ايراد از هوش مصنوعي جزء انتقادات آن محسوب مي شود که اگر ماشين ها قادر نباشند کارهاي جديد ياد بگيرند يا با شرايط جديد خود را وفق دهند و مادامي که صرفاً کارهايي را انجام دهند که به آنها گفته شده است، در آن صورت نمي توان گفت که ماشين داراي هوش است. بي شک وفق يافتن با شرايط و حل مسئله جديد يکي از ويژگي هاي مهم عنصر هوشمندي است. پرسش اين است که آيا مي توان انتظار داشت اين گونه توانايي ها در برنامه ها هم ديده شوند؟

 در واقع اين موضوع به ما مي گويد چگونه سيستم هاي کامپيوتري ورودي اش را تفسير کند که به مرور زمان، عملکرد بهتري از خود نشان دهد. بنابراين مهمترين چيزي که در اين مرحله بايد مدنظر قرار بگيرد اين است که چه عواملي درگير اين اعمال است؟ پس قبل از هر چيز بايد بدانيم يادگيري چيست؟ روانشناسان يادگيري را چنين توصيف مي کنند: «يادگيري يک تغيير نسبتاً پايدار در رفتار يا توان رفتاري است که به واسطه عمل يا تجربه صورت مي گيرد». (روان شناس عمومي، هافمن، ورنوي، ص 257). روان شناسان يادگيري را يک رفتار اکتسابي در برابر رفتار نظري يا غريزي مي دانند. آنان يادگيري را به يادگيري شناختي و يادگيري مشاهده اي تقسيم مي کنند. اشکال اين تعريف از نظر يک مهندس کامپيوتر و برنامه نويس سيستم هاي هوش مصنوعي آن است که کلي و برخي از مفاهيم آن مبهم و نادقيق است. به طوري که گفته شده است هرچند سعي زيادي براي ارائه يک تعريف دقيق و روشن صورت گرفته است ليکن اين تعاريف نتوانسته است تعريف رضايت بخشي از برنامه هاي يادگيرنده باشند. اين کار با دو دليل مقرون با موفقيت نبوده است:

اولاً: يک جزء يادگيري عبارتست از کسب دانش و اطلاعات جديد. اين موضوع براي سيستم هاي رايانه اي بسيار دشوار است.

دوماً: اينکه جزء ديگر يادگيري عبارتست از حل مسئله که براي تلفيق دانسته هاي جديد به هم ضروري است و هم به منظور استنتاج اطلاعات جديد در مواقعي که حقايق مورد نظر ارائه نشده اند. حل مسئله همان فرايندي است که در برنامه هاي ديگري که اعمال ياد گيرنده انجام نمي دهند، ديده مي شود.  

پس ما با دو مسئله روبروئيم. يکي به کارگيري روش هاي ارائه دانش و تکنيک هاي حل مسئله. براي يادگيري تکنيک ها و روش هاي متعددي استفاده مي شود.

 

  •    يادگيري تصادفي و شبکه عصبي:

ايده مرکزي اين روش شبيه سازي يادگيري در مغز انسان به کمک تغيير ساختار شبکه عصبي است.

 

  •  يادگيري به کمک حافظه:

ساده ترين روش يادگيري يک ماشين، ذخيره داده ها است. اين برنامه ها روش هايي براي ذخيره کردن ساده داده مي باشد که به آن يادگيري به کمک حافظه خوانده مي شود. در اين نوع يادگيري برنامه با ذخيره داده ها و تنظيم پارامترها به توسعه خودش مي پردازد به طوري که در مورد بازي checkers ساموئل(samuel) خالق اين بازي، از خود بازي باخت.

 اين نوع يادگيري هرچند براي يادگيري هاي ساده کاربرد دارد اما به ما نشان مي دهد سيستم هاي پيچيده تر به برخي توانايي هاي اساسي تر نياز دارند که اگر بتوان آنها را مهيا کرد، بسياري از يادگيري هاي سطح بالاتر انجام پذيرند. سه رهيافت براي برنامه هاي توسعه اي اين گونه يادگيري پيشنهاد شده است.

1.       انبار کردن سازمان يافته داده ها براي بازيابي درست اطلاعات در زمان انباشتگي فوق العاده آن است.

2.        تعميم بدين معنا که بتوان صفحات ذخيره شده را به نحوي مناسب به طريق الگوريتمي فشرده کرد يا آن را تقليل داد.

3.     سوم براي اينکه بتوان بسياري از صفحات را حداقل به يک وضعيت خاص مرتبط کرد و برنامه بايد قادر باشد هوشيارانه از بين آنها انتخاب نمايد و در يک جهت اميدوار کننده تمرکز يابد.

 

  • يادگيري با تنظيم پارامتر:

برنامه هاي طبقه بندي الگوها اغلب از اين روش استفاده مي کنند يعني ترکيب نمودن چندين پارامتر و ويژگي تا طبقه صحيحي که مدنظر است به دست آيد. مثلا فرض کنيد که برنامه هوشمند ما داراي يک تابع ارزيابي از چند جمله اي به صورت

c1t1 + c2t2 + ….+ c16 t 16

 استفاده مي کند. در اين چند جمله اي t i ها مقادير شانزده ويژگي هستند که در ارزيابي دخيل مي باشند و ci ها ضرايب هستند. به مرور که جلوتر مي رويمci ها تغيير مي کند تا به مقدار واقعي و درستش نزديک گردد. البته اين تابع ارزيابي بسيار مقدماتي است که در انتهاي بازي، برنامه درمي يابد که بازي را برده است يا باخته است. در حالي که ممکن است بازي را برده باشد، ليکن اين امکان وجود دارد که در بين بازي حرکت هاي بسيار بدي انجام داده باشد.

  •   يادگيري GPS يا (general problem solver)

يا راه حل هاي عمومي مسائل که يک سيستم اوليه حل مسئله است. اين سيستم بر اساس تکنيک «تحليل ابزار پايان» استوار است که برنامه لازم است جدولي که بيان کننده عملگرهايي که مربوط به تقليل هر يک از تفاوت هاي مهم بين يک وضعيت مشخص و يک هدف از پيش تعيين شده است، در دسترس وجود داشته باشد. فرض کنيد بخواهيم به جاي فراهم آوردن چنين جدولي براي برنامه حل مسئله، خود برنامه اي داشته باشيم که از تجارب خود ياد بگيرد. چگونه مي توان اين کار را کرد؟ پاسخ اين سوال، يک پاسخ فني مهندسي دارد، ليکن نکته بسيار جالبي هم دارد که نشان مي دهد هوش مصنوعي را مي توان نوعي ترفند دانست که در آن سعي مي شود به دقت فرايندي طراحي شود که مسئله با ابتکاري به يک مسئله جديد تبديل شده شايد موضوع اصلي همچون موضوع فرعي يا راه حل يک مسئله ديده شود. به طور نمونه در مثال فوق يک نکته مهمي نهفته است و آن اينکه يادگيري را مي توان به عنوان يک فرايند حل مسئله نگريست. از يک نقطه نظر، مسئله ايجاد يک مجموعه مناسب از تفاوت ها، عبارتست از مساله يادگيري آن تفاوت ها به جاي اينکه تفاوت ها به ما گفته شود. اما از نقطه نظر ديگر، اين مسئله عبارتست از ايجاد يک ساختار يعني يک مجموعه از تفاوت ها که ويژگي هايي را ارضا مي کند.

 

  •  يادگيري مفهوم(مفاهيم):

يادگيري مفهوم با دسته بندي کردن و رده بندي کردن اشياء زير يک طبقه معنا مي يابد. دسته بندي يا رده بندي عبارتست از فرايند انتساب اسم به يک دسته يا طبقه به يک ورودي مربوط به آن دسته. البته دسته ها وابسته به نوع بکارگيري آنهاست. مثلا اين کلمه که اگر به ديوار رسيدي به دنبال يک درب بگرد و سپس از آن عبور کن بدين معناست که بايد ماشين هوشمند بتواند دسته بندي اي از اشياء داشته باشد يعني مفهوم آنها را بتواند داشته باشد. روش هاي ديگري براي يادگيري وجود دارند که مهمترين آنها عبارتند از:

  •   کشف (discovery) به عنوان روش يادگيري
  •  يادگيري به کمک تشابه  

که هر دو به نحويي قابل فهم هستند. شايد مفهوم کلي يادگيري کامپيوتري اين باشد که برنامه هايي تهيه کنيم که «در صدد تنظيم مجدد هر يک از معيارهايش برآيد». بدين طريق در مراحل بعد يا دفعات بعد کامپيوتر مي آموزند که بايد معيارهاي اغراق آميز را اصلاح مي نمايد و بدين ترتيب توانايي آنها در يادگيري افزايش مي يابد. با توجه به آنچه گفته شد معلوم مي شود که يادگيري صرفاً ذخيره داده ها نيست بلکه ماشين ها اطلاعات آموخته را در طرح واره ائي از مفاهيم و مقولاتي که توسط برنامه اصلي آن تامين شده، بازنمايي مي کند. در هيچکدام از روش هاي مذکور ماشين مفاهيم و مقولات جديدي توليد نمي کند که توسط آنها اطلاعات ورودي را تحليل و پردازش کند. در واقع ماشين مي تواند مقولات قديمي را پردازش و ترکيبات متنوعي از آنها ايجاد کند. اما نوآوري مفهومي محدود به فعاليت هاي ترکيبي درون چارچوب اصلي است.

 

6- بينايي ماشين(Machine vision)

موضوع بينايي ماشين اين است که آيا کامپيوتر مجهز به حسگرهاي نوري که داراي برنامه مناسب باشد، مي تواند ببيند؟ در ساده ترين سطح پردازش اطلاعات نوري پاسخ آشکارا مثبت است. همچنين بينايي ماشين به درک حروف اسکن شده که آن را در شبکه تشخيص حروف در يک فضاي دو بعدي مي تواند بشناسد. تشخيص حروف تنها نمايانگر آغاز بينايي ماشين است و مسئله عام تر آن تشخيص و مکان يابي اشياء در فضاي سه بعدي است که در آن از آرايه دو بعدي شدت براي درخشندگي هاي مختلف اشياء بهره بگيرد. موضوع بينايي ماشين با اين دشواري روبروشت که بازنمايي تصوير هميشه بي نهايت مبهم است و موقعيت هاي خارجي بسيار متفاوتي مي تواند با هر آرايه شدت دو بعدي متناظ باشد و بدين سان موقعيت هاي متفاوت مي توانند تا حدودي يکسان به نظر آيند. تصوير يک کره و يک استوانه به غايت بينايي خود مستلزم هوش است و چون هرچه يک موجود مي تواند در شرايطي معين ببيند کاملا بستگي به ميزان مفاهيم و دانش او دارد، خلق سيستم هاي بينايي مصنوعي توانمند وابسته به خلق هوشمندي عام توانمند و خلق سيستم هايي است که داراي پايه دانش بسيار وسيع براي تعبير و فرايندهاي ادراکي شان باشد.

 

 7- پردازش زبان طبيعي (natural language processing)

حيطه ديگري که فيلسوفان، منطقدانان و پژوهشگران هوش مصنوعي را با سرخوردگي مواجه کرده است، حيطه ايجاد و درک زبان هاي طبيعي توسط ماشين است. يعني آرزوي آدمي براي سخن گفتن با کامپيوتر به نحوي شايد قطعي بر باد رفته است. رهيافت هاي ساختاري در زبان شناسي و پيشرفت هاي محاسباتي در برنامه نويسي به ايجاد برنامه هايي انجاميدهؤ است که به خوبي از توليد ساختارهاي نحوي (syntax) زبان انگليسي حتي پيچيده ترين آنها بر مي آيند اما بخش معنا شناختي (semantic) مساله کمترين موفقيت هايي را کسب نکرده است. راز يک گفتگو، درک واقعي جملات در يک کل معنا شناختي است. حتي اگر برنامه هايي نظير Eliza و يا برنامه جالب تر shrdlu که علاوه بر نحو، داراي يک معنا شناختي از عناصر وابسته را شبيه سازي مي کند و دانش پايه آن تهي نيست و بدان واسطه تنها همان زبان را مي شناسد. هرچند نحو آن بسيار پيچيده است و شايد اين برنامه کمي مي داند از چه سخن مي گويد و لذا مي تواند استنباط هايي مفيد کند و روابط واقعي را بيان کند ليکن در قياس با دانش ما از سر سوزني کمتر است. به طور خلاصه فهم زبان طبيعي در سطح انساني مستلزم داشتن دانشي کامل از زبان است که با دانش آدمي قابل قياس باشد و ما هنوز اين مسئله را حل نکرده ايم که چگونه مي توانيم چنين پايه وسيعي از دانش را به طريقي بازنمايي کنيم تا ذخير و پردازش آن ممکن باشد و از هم مهمتر اينکه چگونه اين مقدار دانش مي تواند حاصل شود. سولات ديگر چنين اند: چگونه کليت چارچوبي مفاهيم شکل مي گيرند، اصلاح مي شوند و در مواجهه با چارچوب هاي جديدتر و پيشرفته تر کنار گذاشته مي شوند؟ ما اکنون در مورد اين سوالات چيزي نمي دانيم.

نزد فيلسوفان، اين مسئله حيطه سنتي بررسي منطق استوايي، معرفت شناسي و نظريه معناشناسي است و در نزد روانشناسان حيطه بررسي روانشناسي رشد و نظريه يادگيري است. هرچند يورش همه جانبه روانشناسانه، منطق فلسفي، زبان شناسي، مهندسي کامپيوتر و تمامي دانش ها ما را در ارائه چنين ماشيني که بتواند به نوعي آگاهي از صبان کسب کند، اما در مورد خود آگاهي هيچ اميد يا نويدي در کار نيست.