همه چیز درباره هوش مصنوعی(قسمت دوم)

همه چیز درباره هوش مصنوعی
در قسمت اول ما به بیان چند دیدگاه، تعریف و تاریخچهای کوتاه از هوش مصنوعی پرداختیم. در این قسمت سعی داریم به صورت تخصصیتر و دقیقتر اما به صورت عام به بررسی بعضی مفاهیم و تعاریف این حوزه تحقیقاتی گسترده بپردازیم.
مقدمه ای بر هوش مصنوعی
متخصصین علوم کامپیوتر تحقیقات هوش مصنوعی را مطالعه عوامل هوشمند تعریف میکنند، منظور از عامل هوشمند “هر وسیلهای که قادر باشد محیط خود را درک کند و برای رسیدن به اهداف خود کارهایی انجام دهد که شانس موفقیت را به حداکثر برساند.” میباشد.
در قسمت قبل گفتیم که تا به حال تعریف دقیقی از هوش مصنوعی وجود نداشته و هر کس با توجه حوزه فعالیت و تخصص خود برای آن تعریفی ارایه میدهد. اما تعریفی وجود دارد که در بین فعالان این حوزه از محبوبیت بیشتری بر خوردار است و آن تعریف هوش مصنوعی را به صورت “توانایی سیستم در تفسیر صحیح دادههای خارجی، آموختن از این دادهها و استفاده از این یادگیریها برای دستیابی به اهداف و وظایف خاص” توصیف میکند.
یک سیستم هوش مصنوعی معمولی محیط خود را تجزیه و تحلیل میکند و اقداماتی انجام میدهد که شانس موفقیتش را در دستیابی به اهداف بیشتر میکند.
دستورات یا عملکرد(یا هدف) مورد نظر گرفته شده در هوش مصنوعی میتواند ساده یا پیچیده باشد. اهداف سیستم را میتوان صریحا تعریف یا القا کرد.
اگر سیستم هوش مصنوعی برای یادگیری تقویتی برنامه ریزی شده باشد میتوان با تشویق یا تنبیه آن اهداف را به صورت ضمنی تحریک کرد.
یادگیری سیستمهای هوش مصنوعی شبیه به تکامل حیوانات برای رسیدن به اهداف خاص مثلا یافتن غذا یا مراقبت از خود میباشد.
هوش مصنوعی اغلب در حوزه الگوریتمهای کامپیوتری کاربرد دارد. الگوریتم یک سری دستورات واضح و بدون ابهام است که یک کامپیوتر قادر به اجرای آنها میباشد.
یک مثال ساده الگوریتم بازی tic-tac-toe میباشد، این بازی معمولا یک مربع سه در سه(شامل 9 خانه) است که دو بازیکن با دو مهره متفاوت در حال بازی هستند و بازیکن برنده در صورتی اعلام میشود که فرد بتواند در سه جایگاه مهرههای خود را پشت سر هم قرار دهد(یعنی یک ستون یا ردیف یا یک قطر مربع را با مهره های خود تسخیر کند) این بازی نکات سادهای دارد که به بیان چند تا از آنها میپردازیم:
اگر بازیکن حریف در یک ردیف دو مهره قرار داده به وضوح شما باید در حرکت بعدی خود خانه باقیمانده در آن ردیف را بگیرید.
اگر حریف شروع به پر کردن خانهها از یک گوشه کرده الویت شما با گرفتن گوشه مخالف است، اگر گوشه مخالف نیز پر بود گوشه خالی دیگری پیدا کنید و در نهایت اگر هیچ گوشهای خالی نبود باید طوری مهره خود را قرار دهید که جلوی حرکت حریف را بگیرید.(سعی میکنیم در یک مقاله به صورت جداگانه الگوریتم این بازی را به صورت کامل برای شما شرح دهیم)
بسیاری از الگوریتمهای هوش مصنوعی قادر به یادگیری دادههای دریافتی از محیط هستند، آنها میتوانند با یادگیری اکتشافات جدید(استراتژیها، قوانین شکست، یا راهکارهایی که در گذشته کاربردی بودهاند) خود را تقویت کنند یا حتی خود میتوانند الگوریتمهای دیگری بنویسند.
برخی از الگوریتمهای یادگیری از جمله شبکههای بیزی، درختان تصمیم گیری میتوانند (با توجه به دادههای نامتناهی، زمان و حافظه) یاد بگیرند به صورت تقریبی هر عملکردی را توصیف کنند یا حتی تشخیص دهند کدام یک از توابع ریاضی به بهترین صورت پدیدهها را توصیف میکند، بنابراین این الگوریتمهای یادگیری یا به اصطلاح “فراگیران یا زبان آموزان” میتوانند با در نظر گرفتن هر فرضیه احتمالی و مطابقت آنها با دادهها تمام دانش ممکن را بدست آورند.
بخش عمدهای از تحقیقات هوش مصنوعی به بهینه کردن الگوریتمها سپری میشود، به زبان ساده میتوان گفت الگوریتم یکسری دستورات را برای رسیدن به هدف اجرا میکند و در این میان برخی از دستورات ممکن است که برای رسیدن به این هدف بیهوده باشند و برای بهینه کردن و افزایش سرعت الگوریتم باید از اجرای دستورات بیهوده جلوگیری کرد و آنها را حذف کرد.
هوش مصنوعی دارای چهار رویکرد اصلی است که عبارتند از:
نخستین رویکرد(سادهترین درک) هوش مصنوعی، نمادگرایی(شبیه به منطق رسمی)بود: “اگر فرد بزرگسال سالمی تب داشته باشد ممکن است به آنفولانزا مبتلا باشد.”
رویکرد دوم عمومیتر است و به آن استنباط بیزی گفته میشود: “اگر بیمار فعلی تب داشته باشد، احتمال ابتلا به آنفولانزا را تشخیص دهید.”
سومین رویکرد اصلی، در برنامههای هوش مصنوعی رایج بسیار محبوب است، آنالیزری مانند SVM است: “پس از بررسی سوابق بیماران شناخته شده گذشته مانند درجه حرارت، علایم بیماری، سن و سایر علایم که اکثرا مطابق با بیمار فعلی است مشخص شد که X% از آن بیماران آنفولانزا دارند.”
رویکرد چهارم دشوارتر است اما از نحوه کارکرد ماشین آلات مغز الهام میگیرد. رویکرد شبکه عصبی مصنوعی از نورونهای مصنوعی استفاده میکند که میتواند با مقایسه خود با خروجی مطلوب و تغییر نقاط قوت اتصالات بین نورونهای داخلی آن، یاد بگیرد.
این چهار رویکرد اصلی میتوانند با یکدیگر و با سیستمهای تکاملی همپوشانی داشته باشند. به عنوان مثال شبکههای عصبی میتوانند یاد بگیرند که استنتاج کنند، تصمیم بگیرند و مقایسه کنند. برخی از سیستمها به طور ضمنی یا صریح از چندین روش استفاده میکنند. در بسیاری از الگوریتمهای هوش مصنوعی و غیر از آن بهترین روش عمکرد با توجه به مشکلی که وجود دارد متفاوت است.
الگوریتمهای یادگیری بر این اساس کار میکنند که استراتژیها، روشها و استنتاجهایی که در گذشته به خوبی کار کردهاند احتمالا در آینده هم به خوبی کار میکنند.
این استنتاجها میتوانند ساده و آشکار باشند مثلا: “از آنجا که خورشید هر روز صبح برای 10000 روز گذشته طلوع کرده، احتمالا فردا نیز طلوع میکند.”
الگوریتمهای یادگیری بر اساس “تیغ اوکام” کار میکنند. سادهترین نظریهای است که دادهها را توضیح میدهد. بنابراین طبق اصل تیغ اوکام یک یادگیرنده یا الگوریتم یادگیری باید به گونهای طراحی شود که نظریههای ساده را بر نظریههای پیچیده ترجیح دهد، مگر در مواردی که استفاده از نظریه پیچیده به صورت اساسی بهتر است.
چالشهای هوش مصنوعی
قابلیتهای شناخته شده معماریهای کامپیوترهای امروزی بسیار محدود است و فقط توانایی دارند یک نسخه ساده از آنچه هوش واقعا میتواند باشد را ارایه دهند.
هدف کلی از تحقیقات هوش مصنوعی ایجاد فناوریای است که به ماشینها و رایانهها اجازه دهد هوشمند عمل کنند.
مشکلات کلی شبیهسازی یا ایجاد سیستمهای هوش مصنوعی به مشکلات کوچکتر تبدیل شده و این مواردی به بررسی آنها میپردازیم صفاتی هستند که محققان انتظار دارند یک سیستم هوشمند این صفات را در خود جای داده باشد و باید گفت تعداد این صفات بسیار زیاد است اما ما به بررسی آنهایی میپردازیم که بیشترین توجه را به خود جلب کردهاند.
1. استدلال، حل مشکل
محققان اولیه الگوریتمهایی طراحی کردند که از استدلال گام به گام استفاده میکنند همان مدل استدلالی که انسانها هنگام حل معماها یا نتیجهگیریهای منطقی استفاده میکنند.
در اواخر دهه 1980 و 1990 محققین در تحقیقات هوش مصنوعی روشهایی را برای مقابله با اطلاعات ناقص یا نامشخص را ابداع کردند و برای این کار از مفاهیمی در حوزههای احتمال و اقتصاد استفاده کردند.
این الگوریتمها ثابت کردند که برای حل مشکلات بزرگ استدلال کافی نیست زیرا آنها یک انفجار ترکیبی را تجربه کردند یعنی با بزرگتر شدن مشکلات از نظر نمایی عملکردشان کندتر شد.
در حقیقت حتی انسان نیز به ندرت از استنتاج مرحله به مرحله که سیستمهای اولیه هوش مصنوعی استفاده میکردند استفاده میکند. آنها اکثر مشکلات خود را با داوری سریع و شهودی حل میکنند.
2. مهندسی دانش
بازنمایی دانش و مهندسی دانش برای تحقیقات کلاسیک هوش مصنوعی از اهمیت ویژهای برخوردار است.
برخی از “سیستمهای خبره” سعی دارند دانش و اطلاعات صاحب نظران را در برخی از حوزههای خاص جمعآوری کنند. علاوه بر این بعضی از پروژهها تلاش میکنند تا دانش عوام را که برای یک فرد متوسط قابل درک است در یک دیتابیس که حاوی دانشی گسترده از همه جای جهان است جمع کنند.
از جمله چیزهایی که یک پایگاه داده جامع باید داشته باشد مواردی مثل موارد زیر است:
اشیا، خصوصیات، دستهها، روابط بین اشیا، موقعیتها، رویدادها، حالات و زمان، علل و پیامدها و بسیاری از حوزه های دیگر که تحقیقات کمتری در آنها انجام شده است.
نمایش آنچه که وجود دارد یک هستی شناسی است: مجموعه اشیا، روابط، مفاهیم و ویژگیهایی که به طور رسمی شرح داده شدهاند تا عوامل نرم افزاری بتوانند آنها را تفسیر کنند.
3. یادگیری
یادگیری بدون نظارت را میتوان به صورت “توانایی یافتن الگوها در جریانهای اطلاعات ورودی، بدون آنکه در ابتدا نیاز به یک انسان برای علامت گذاری ورودیها باشد.” تعریف کرد.
اما یادگیری نظارت شده شامل طبقه بندی دادهها و رگرسیون عددی است که به کمک انسان نیاز دارد تا در ابتدا دادههای ورودی را طبقه بندی و علامت گذاری کند.
طبقه بندی برای این استفاده میشود که مشخص کند هر کدام دسته از اشیا مربوط به چه چیزهایی است و پس از آن برنامه تعدادی نمونه مختلف از دستههای متفاوت برای بررسی انتخاب میکند.
دادهها به این دلیل رگرسیون میشوند که بتوانند رابطه بین ورودیها و خروجیها را توصیف کنند. یعنی با تغییر ورودیها بتوان تشخیص داد که خروجیها چگونه تغییر خواهند کرد.
طبقه بندی دادهها و رگرسیون آنها را میتوان برای تقریب عملکرد یک عمل ناشناخته جدید و یادگیری آن مفید باشد. نظریه یادگیری محاسباتی میتواند الگوریتمهای یادگیری را با پیچیدگی محاسباتی یا پیچیدگی نمونه یا با مفاهیم دیگر بهینه سازی ارزیابی کند.
در یادگیری تقویتی عامل به خاطر پاسخهای خوب پاداش دریافت میکند و برای خطاهای خود در پاسخها مجازات میشود. عامل از الگوی دریافت پاداش و مجازات استفاده میکند تا یک استراتژی را برای حل کردن مشکل خود پیدا کند.
4. پردازش زبان طبیعی
پردازش زبان طبیعی به دستگاهها توانایی خواندن و درک زبان انسانی را میدهد.
یک سیستم پردازش زبان طبیعی میتواند با استفاده از منابع مکتوب انسانی به طور مستقیم به دانش دسترسی پیدا کند. برخی از کاربردهای ساده در پردازش زبان طبیعی شامل بازیابی اطلاعات، استخراح متن، پاسخ دادن به سوال و ترجمه ماشین است.
استراتژیهای پیدا کردن کلمات برای جست و جو در منابع و بانکهای اطلاعاتی محبوب و مقیاس پذیر هستند اما روشی گنگ دارند. برای مثال جست و جوی کلمه سگ فقط ممکن است اسناد با کلمه تحت الفظی سگ را پیدا کند و احتمالا کاری به انواع سگ نخواهد داشت.
رویکردهای آماری NLP مدرن میتوانند تمام این استراتژی ها و سایر موارد را با هم ترکیب کنند و توانایی این را دارند که در سطح پاراگراف یا صفحه به دقت قابل قبولی برسند. اما همچنان فاقد درک معنایی لازم برای طبقه بندی خوب جملات جداشده هستند.
علاوه بر مشکلات موجود در رمزنگاری دانش، NLP معنایی موجود نیز گاهی اوقات ضعیف است.
5. ادراک
درک دستگاه را میتوان توانایی استفاده آن از سنسورهای بیرونی مانند دوربین، میکروفون، سیگنالهای بی سیم، رادارها و… را برای استنباط جنبههای اطراف دانست. برنامههای کاربردی عبارتاند از: تشخیص چهره، تشخیص گفتار، تشخیص اشیا.
دید رایانهای توانایی تجزیه و تحلیل ورودی بصری است معمولا چنین ورودیهایی مبهم هستند یعنی ممکن است یک عابر پیاده در 50 متری همان مقدار پیکسل را که یک عابر در نزدیک سیستم اشغال میکند، اشغال کند. که در این جور موارد نیاز است هوش مصنوعی سیستم در مورد احتمال نسبی و معقول بودن تفاسیر مختلف تصمیمات خوب و مناسبی بگیرد.
6. حرکت
هوش مصنوعی به شدت در رباتیک مورد استفاده قرار میگیرد. اسلحههای پیشرفته رباتی و سایر رباتهای صنعتی که به طور گسترده در کارخانجات مورد استفاده قرار میگیرند، این رباتها با وجود داشتن اصطکاک و لغزندگی دندهها میتوانند با استفاده از هوش خود نحوه کارکرد بهینه را بیاموزند.
یک ربات متحرک مدرن، هنگامی که به یک محیط کوچک ایستا یا ثابت و قابل رویت وارد میشود میتواند به راحتی مکان آن را تعیین کرده و از آنجا نقشه برداری کند. با این حال محیطهای پویا و متحرک، مانند فضای داخلی بدن بیمار در آندوسکوپی چالشهای بیشتری را به همراه دارد.
7. هوش عمومی
از لحاظ تاریخی پروژههایی مانند پایگاه داده Cyc و ابتکارات بسیار در سیستمهای رایانهای نسل پنجم ژاپن تلاش کردند تا وسعت شناخت بشر را پوشش دهند.
محققان بسیاری از مهارتهای محدود ذکر شده در این مقاله را با هم ترکیب میکنند که باعث میشود سیستمها در بعضی از کارها حتی از انسان نیز فراتر بروند. بسیاری از پیشرفتها دارای اهمیت کلی و متقابل هستند.
یکی از نمونههای بارز این است که DeepMind در دهه 2010 یک سیستم هوش مصنوعی عمومی ایجاد کرد که میتواند بسیاری از بازیهای متنوع آتاری را بیاموزد و بعدا موفق به ساختن سیستمی شد که در یادگیریهای متوالی موفق میشود.
سرانجام چند رویکرد نوظهور به دنبال شبیه سازی هوش انسانی هستند و معتقدند که ویژگیهای انسانی مانند مغز مصنوعی یا رشد کودک شبیه سازی شده ممکن است روزی به جای مهمی برسند که در آن شاهد ظهور هوش مصنوعی عمومی باشیم.
در صورتی که ممکن است برای حل بسیاری از مشکلات خود و مشکلات مردم به هوش عمومی نیاز داشته باشند به عنوان مثال حتی کارهای مشخص مانند ترجمه ماشینی مستلزم آن است که یک دستگاه به هر دو زبان بخواند و بنویسد(NLP) و بتواند استدلال نویسنده را دنبال کند(دلیل) و تشخیص دهد که در چه موردی صحبت کرده(دانش) و اینها را میتوان به عنوان مشکل در این سیستم در نظر گرفت زیرا برای رسیدن به سطح عملکرد انسانی سیستم باید بتواند به صورت همزمان این موارد گفته شده را حل کند.
امیدوارم برای شما خوانندگان محترم مفید واقع شده باشد
منتظر قسمتهای بعدی سری مقالات هوش مصنوعی از سایت کالی بویز باشید.

خیلی دوست دارم روی هوش مصنوعی کارکنم ولی توی ایران آینده نداره حیف