فرایند آموزش و یادگیری در سیستم های هوشمند

آموزش و یادگیری در هوش مصنوعی

مهندسی دانش بخش بزرگی از پژوهش‌های مورد نیاز هوش مصنوعی را تشکیل می‌دهد. ماشین‌ها در صورتی می‌توانند مانند انسان‌ها رفتار کنند که اطلاعات فراوانی از جهان اطراف خود داشته باشند.

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

هدف یادگیری ماشینی این است که کامپیوتر (در کلی‌ترین مفهوم آن) بتواند به تدریج و با افزایش داده‌ها بازدهی بالاتری در وظیفه مورد نظر پیدا کند. گسترده این وظیفه می‌تواند از تشخیص خودکار چهره با دیدن چند نمونه از چهره مورد نظر تا فراگیری شیوه گام‌برداری برای روبات‌های دوپا با دریافت سیگنال پاداش و تنبیه باشد. یکی از پروژه‌های معروف یادگیری ماشینی، پروژه‌ی تشخیص سن از روی تصویرِ شرکت مایکروسافت است.

*یادگیری: 
ایجاد امکان یادگیری برای ماشین ها، همواره از پژوهش های اصلی در زمینه ی هوش مصنوعی بوده است. یادگیری بدون نظارت: قابلیت یادگیری الگو ها، از اطلاعات ورودی را فراهم میکند. یادگیری نظارت شده هم، می تواند هردو امکان: طبقه بندی و عبرت عددی را ایجاد کند.
طبقه بندی این امکان را می دهد که کامپیوتر بتواند تشخیص دهد که چه چیز هایی را می توان در یک گروه خاص گنجاند. عبرت عددی (Regression takes) نیز به این صورت عمل می کند که بعد از دادن چیز هایی به عنوان ورودی به کامپیوتر و مشخص کردن خروجی دقیق آنها، کامپیوتر می تواند روابط بین ورودی و خروجی را کشف کرده و الگوریتم ها و توابع پیوسته ای را برای آنها تعیین کند. این روش برای به وجود آوردن الگوریتم های بسیار پیچیده، مفید خواهد بود.
اجازه دهید تا در این مورد مثالی بزنیم: وقتی در حال رانندگی هستید و به عابران پیاده نگاه می کنید، می توانید تا حد زیادی تشخیص دهید که آنها قصد چه کاری را دارند. مثلا می خواهند از خیابان رد شوند یا این که تاکسی بگیرند و یا این که فقط سر جای خود ایستاده اند. خب، این کار برای من و شما نسبتا ساده است اما اساسا برای نوشتن الگوریتم آن برای کامپیوتر، از دست یک انسان کاری ساخته نیست. با استفاده از روش عبرت عددی می توان با روش های خاص این مورد را با مثال های زیادی به کامپیوتر و برنامه ی مربوطه نشان داد و به تدریج الگوریتم مورد نیاز را تحویل گرفت.
اما چیزی که باید هم اکنون به آن اشاره کرد، عملیات تقویت یادگیری است. این کار به این صورت انجام می پذیرد که تئوری تصمیم گیری کامپیوتر آنالیز شده و برداشت های سودمند آن تئوری، مورد تاکید قرار می گیرند. در واقع کار های درست با تشویق (به صورت اولویت دادن) و کار های غلط با تنبیه (به صورت امتیاز منفی) پاسخ داده می شوند و به همین خاطر یادگیری کامپیوتر به طور مرتب بهبود می یابد.
یادداشت: آنالیز الگوریتم های یادگیری ماشین ها، شاخه ای از علوم نظری کامپیوتر است که با نام تئوری یادگیری کامپیوتری شناخته می شود.
* پردازش زبان طبیعی: 
پردازش زبان طبیعی یا Natural Language Processing، به ماشین های هوش مند این قابلیت را می دهد که زبان انسان ها را بخوانند و آنها را متوجه شوند. بسیاری از تحقیقات به این نتیجه رسید که برای ایجاد قدرت کافی برای سیستم پردازش زبان طبیعی، نیاز است که اطلاعات زیاد و کاملی را به این سیستم ارائه کنیم که می تواند با استفاده از خواندن متن های موجود در اینترنت انجام شود.
برنامه هایی که هم اکنون در زمینه پردازش زبان طبیعی درست عمل می کنند، از امکاناتی مانند: بازیابی اطلاعات، جستجو در متن ها و امکان ترجمه ماشینی بهره مند اند.
– حرکت و جا به جا کردن اجسام: تحقیقات در زمینه روبوتیک، بیش از هر چیزی به هوش مصنوعی وابسته است. روبات ها برای موارد بسیار زیادی نیاز به هوشمندی دارند که از جمله آنها می توان مواردی مانند: مسیر یابی ، جا به جا کردن، این که بدانند کجا هستند، این که درکی از محیط خود داشته باشند و بتوانند برای حرکت به سوی نقطه خاصی، برنامه ریزی نمایند و هدف خود را تعیین کنند. بدین ترتیب هوش مصنوعی برای روبات ها بسیار پر کاربرد است و تقریبا در تمام زمینه های ذکر شده از آن استفاده می نمایند.
* ادراک: 
درک ماشینی، به آنها این امکان را می دهد که بتوانند با استفاده از سنسور های ورودی خود، نظیر: دوربین، میکروفون ها و دیگر سنسور های عجیب و غریب (!) ؛ از محیط خود برداشت صحیحی داشته و بتواند محیط پیرامون خود را درک کند. در اصل، بینایی کامپیوتری این امکان را می دهد که کامپیوتر بتواند چیز هایی که می بیند را مورد تجزیه و تحلیل قرار دهد. چند مورد از آنالیز های معروف در روبات ها عبارت است از : آنالیز صحبت و صدا ها و تشخیص منظور، آنالیز چهره ها و تشخیص حالات آن ها. مانند: خشم، ناراحتی، خنده و … ، آنالیز اشیاء پیرامون و تشخیص آنها .
با استفاده از انواع آنالیز ها و تجزیه و تحلیل هایی که در بالا ذکر شدند، روبات ها قادر خواهند بود که بسیار هوشمند تر از قبل عمل کنند. مثلا در جا به جایی اجسام شیشه ای، دقت بیشتری کنند. برای کسی که ناراحت و عصبانی است، جک تعریف نکند! و سلام را با خدا حافظ پاسخ ندهد.
* هوش اجتماعی: 
احساسات و مهارت های اجتماعی، دو بخش مهم از هوش مندی را تشکیل می دهند. اولا، باعث می شود که ماشین هوشمند بتواند عکس العمل طرف مقابل را در برابر یک رفتار خاص، تشخیص دهد. که این کار با درک از انگیزه فرد و احساسات او عملی خواهد شد.
ثانیا؛ برای تعامل بهتر بین انسان و کامپیوتر، ماشین هوشمند باید بتواند که احساساتی را از خود بروز دهد. در بد ترین حالت، این امر باید به صورت نشان دادن احساسات ضعیف در گفتار و با کمال ادب انجام گیرد و در بهترین حالت باید با حساسیت طبیعی و مناسب در برابر انسان همراه باشد. در واقع سعی بر این است که کامپیوتر طوری عمل کند که اگر با لحن بدی با او حرف زدید، با کمال ادب به شما پاسخی مناسب با لحن خودتان دهد. و بالعکس!
نکته مهم: مساله کمال ادب بسیار مهم است چون کامپیوتر در صورت عدم رعایت این موضوع، موجودیت خودش را به خطر خواهد انداخت و در این صورت نیاز به یک الگوریتم برای کشتی گیری انسان و کامپیوتر (یا ربات) هم به شدت احساس می شود. (معمولا انسان ها اعصاب ندارند و خیلی زود درگیر می شوند.)
* ابتکار وخلاقیت: 
یکی از شاخه های مهم، هوش مصنوعی سعی در ایجاد قوه ی خلاقیت در کامپیوتر دارد. پیاده سازی ابتکار و خلاقیت در هوش مصنوعی، هم از نظر فلسفی و هم از نظر فیزیولوژی قابل توجیه می باشد. همچنین از نظر عملی هم با پیاده سازی یک الگوریتم مخصوص که خروجی هایی هوشمندانه و متفکرانه تولید نماید، امکان پذیر است. این شاخه معمولا با نام های: درک مصنوعی (Artificial Intuition) و پندار مصنوعی (Artificial Imagination) شناخته می شود. برای پرهیز از پیچیده شدن مقاله، توضیح بیشتری نمی دهیم اما می توانید مباحث مربوط به این دو را نیز در سایت های دیگر دنبال نمایید.
* هوش عمومی: 
برای پیاده سازی هوش عمومی روی کامپیوتر نیاز است که از تمامی توانایی های بالقوه ی هوش مصنوعی استفاده کنیم. برای مثال مترجم متن گوگل را در نظر بگیرید؛ می دانیم که این مترجم در حال حاضر با خطا های بسیاری رو به رو است. حال اگر بخواهیم که اشکالات کار ترجمه، حل شود؛ می توانیم از هوش عمومی استفاده نماییم: برای ترجمه خوب باید اول بفهمیم که نویسنده از چه استدلال ها و چه دلایلی برای مطرح کردن یک منظور خاص استفاده می کند.( به کار گیری جنبه درک استدلال و منطق)، همچنین باید بدانیم که موضوعی که درباره آن صحبت می شود چیست.(درک و جمع آوری اطلاعات). مرحله بعدی کار ما این است که مقصود نویسنده از جملات را پیدا کنیم؛ مثلا بفهمیم که دارد انتقاد می کند یا تعریف. (هوش اجتماعی). پس از این کار ها و در نظر گرفتن موارد فوق می توانیم به ترجمه یک متن بپردازیم.
شاید بپرسید که اگر مساله فقط این است، پس چرا گوگل کاری نمی کند ؟ در این مورد باید گفت که شاید در زبان ساده باشد اما به کار گیری چنین الگوریتم هایی با خطای بسیار کم، در حال حاضر عملا امکان پذیر نیست. البته این الگوریتم ها در ترجمه گوگل استفاده می شوند ولی خطای آنها زیاد است. برای کم کردن این گونه خطا ها، راهی که کارشناسان پیشنهاد می کنند، استفاده از شبکه های عصبی و زبان Sub-Symbolic است.

یک دیدگاه بگذارید

آدرس ایمیل شما منتشر نخواهد شد.


*