من محمد هستم؛ دانشجوی مهندسی نرمافزار، علاقهمند به هوش مصنوعی، توسعه وب و دنیای داده. در اینجا مینویسم تا هم یاد بگیرم و هم تجربههایم را با دیگران به اشتراک بگذارم.
مقدمهای بر هوش مصنوعی و یادگیری ماشین : از تورینگ تا راسل

چکیده
مقدمه:
هوش مصنوعی دیگر یک مفهوم تخیلی نیست؛ بلکه واقعیتی است که امروزه در بسیاری از جنبههای زندگی ما حضور دارد. اما مسیر شکلگیری این دانش از کجا آغاز شد و چگونه به جایگاه امروزی رسید؟ در این مقاله ( علمی - ترویجی ) تلاش میکنیم با مرور تاریخچهای کوتاه از اندیشههای آلن تورینگ تا دیدگاههای مدرن راسل، نگاهی ساده و کاربردی به مفاهیم پایهای هوش مصنوعی و یادگیری ماشین داشته باشیم.
آنچه در این مقاله مطالعه میکنید:
ابتدا هوش مصنوعی را معرفی میکنیم
به طور خلاصه معرفی آزمون تورینگ و سرگذشت آلن تورینگ پرداخته
ماشین یادگیری (Machine Learning) را تعریف کرده و به طور خلاصه به ارتباط هوش مصنوعی و ماشین یادگیری می پردازیم
انواع ML را توضیح میدیم
جمع بندی
در این مقاله مروری سریع و کاربردی، به زبان ساده بر مطالب داشته
مطالعه این مقاله برای دانشجویان کامپیوتر و هوش مصنوعی بسیار پیشنهاد میشود و دریچه ای برای مفاهیم پایه هوش مصنوعی است که در کتاب ها، دانشگاه ها، دوره های آموزشی و ... تدریس می شود
همچنین مطالعه آن برای علاقه مندان به هوش مصنوعی خالی از لطف نیست و دید کاملی نسبت به مباحث هوش مصنوعی به شما میدهد
هوش مصنوعی چیست
ابتدا با یک تعریف خلاصه از هسته ی این مقاله شروع میکنیم
هوشمندی را میتوان با تعاریف مختلفی بیان کرد. اما تعریف هوش مصنوعی از زبان راسل ( Stuart J. Russell ) اینگونه است : از نظر هوشمندی در رفتار و تفکر و از منظر دوم هوشمندی در "مانند انسان بودن" یا منطقی بودن ( rationality )
با این دید راسل به چهار تعریف میرسد که هوش مصنوعی را اینگونه بیان میکند:
مانند انسان رفتار کند ( acting humanly )
مانند انسان فکر کند ( thinking humanly )
منطقی رفتار کند ( acting rationality )
منطقی فکر کند ( acting rationality )
امروزه در بسیاری از موارد این تعریف راسل را به عنوان مرجع خود قرار میدن

آلن تورینگ و آزمون تورینگ
آلن تورینگ ( Alan Mathison Turing ) را پدر علوم کامپیوتر و هوش مصنوعی میدانند و مهمترین جایزه علمی رایانه به افتخار او "جایزه تورینگ" نام گرفته است
تورینگ یکی از تاثیرگذارترین افراد در حوزه هوش مصنوعی است و بسیاری از افراد مقاله ای که او در سال ۱۹۵۰ منتشر کرد را "تولد هوش مصنوعی" میدانند . او همچنین تست تورینگ را معرفی کرد که معیاری برای تشخیص هوشمندی ماشین است
تست تورینگ ( The Imitation Game ) اینگونه بیان شد که یک ارزیاب انسانی ، گفت و گوی بین یک انسان و ماشین که قصد تولید پاسخ های انسان گونه دارد را قضاوت کند . ارزیاب فقط از این موضوع اطلاع دارد که یکی از دو شرکت کننده ماشین است و دیگری انسان . این گفت و گو تنها به یک کانال متنی محدود شده است . در اینجا اگر ارزیاب نتواند ماشین را از انسان تشخیص دهد گفته میشود که ماشین توانسته آزمایش را پشت سر بگذارد.
این آزمایش در مقالهای در سال ۱۹۵۰ توسط آلن تورینگ با عنوان ماشین رایانش و هوش Computing Machinery and Intelligence معرفی شد

ماشین یادگیری ( Machine Learning : ML )
حالا که با کلیت هوش مصنوعی و مفهوم آن آشنا
شدیم می توانیم به تعریف ماشین یادگیری بپردازیم
ماشین یادگیری بخشی از هوش مصنوعی است که بعد از هوش مصنوعی محبوبیت پیدا کرد و می توان زیر مجموعه ای از هوش مصنوعی در نظر گرفت
مهمترین ویژگی های ML، یادگیری بدون استفاده از کدنویسی صریح است . منظور از کدنویسی صریح این است که به جای استفاده از دستورات واضح، از الگو ها و استنباط برای انجام وظایف استفاده شود
از زبان تورینگ یادگیری ماشین برای سازگاری با شرایط جدید و تشخیص و برونیابی الگوها استفاده میشود
رابطه بین هوش مصنوعی و یادگیری ماشین را میتوانیم اینطور بیان کنیم که: هوش مصنوعی یک مفهوم کلیتر است که هدفش ایجاد یک سیستم هوشمند است و یادگیری ماشین یکی از مهمترین ابزارها برای رسیدن به این هدف است که دادهها را تحلیل میکند، الگوهای موجود در آنها را شناسایی میکند و از آنها یاد میگیرد.

انواع ماشین یادگیری
ماشین های یادگیری بر اساس محیطی (Environment) که در اون قرار دارن و اینکه چطور اطلاعات جمع اوری میکنند انواع مختلفی دارد که به طور کلی به 3 دسته تقسیم میشوند
یادگیری با نظارت ( Supervised Learning )
برای آموزش در این نوع یادگیری نمونه هایی که برای آموزش استفاده میشوند برچسب گذاری میشوند.
یعنی ماشین با استفاده از داده هایی که برچسب مشخص دارند الگوی خود را تنظیم میکند
برای مثال ما در نقش یک معلم هستیم و ماشین در نقش دانش آموز . ما میخواهیم به ماشین یاد بدیم که سیب را از میان دیگر میوه ها تشخیص دهد . در این مثال از دیتا ستی ( Data Set ) استفاده میکنیم که حاوی عکس میوه هایی است که برچسب گذاری شدن و به سیب برچسب "این سیب است" و به باقی عکس ها برچسب "این سیب نیست" را میدهیم.
وقتی که ماشین در طول زمان دقت خروجی ها و پیشبینی های خود را بهبود ببخشد می گوییم ماشین یاد گرفته است که آن کار را انجام دهد
در یادگیری با نظارت الگوریتم ها به دو دسته تقسیم میشن :

1- طبقه بندی ( Classification )
در طبقهبندی، هدف ما پیدا کردن برچسب یا دسته مناسب برای نمونههای بدون برچسب میباشد. برای این کار، ما مدل یادگیری ماشینی را با استفاده از نمونههای برچسبدار، آموزش میدهیم. بر اساس این یادگیری، مدل یادگیریماشین میتواند، مجموعهدادگان را به دستههای مختلف تقسیم کند.
برای مثال تقسیم بندی ایمیل های spam و عادی
2- رگرسیون ( Regression )
در رگرسیون هدف ما تخمین بر اساس نمونه ها است. این الگوریتم از روی داده هایی که در اختیار دارد روند را پیشبینی میکند و یا بر اساس داده ها می تواند خروجی ورودی ها دیگر را تخمین بزند
برای مثال پیش بینی روند بازار و یا الگوی قیمت خانه

یادگیری بدون نظارت ( Unsupervised Learning )
در یادگیری بدون نظارت، ماشین یک ساختاری برای دیتایی که برچسب ندارد و طبقه بندی نشده اند پیدا میکند.
در یادگیری بدون نظارت به جای بازخورد به داده ها ، نقاط مشترک بین داده ها شناسایی شده و بر اساس وجود و عدم وجود این نقاط، به هر ورودی واکنش نشان میدهد
کاربرد های اصلی یادگیری بدون نظارت شامل خوشه بندی ( Clustering )، کاهش ابعاد ( Dimensionality ) و تخمین چگالی ( Density Estimation ) است

یادگیری تقویتی ( Reinforcement Learning )
در یادگیری تقویتی ماشین با کارهایی که در محیط انجام میدهد یادمیگیرد و عمل خود را بهبود میبخشد.
در این روش ماشین با آزمون و خطا یادمیگیرد. به این صورت که عامل هوشمند ( Agent ) در حالت جاری ( State ) بر اساس عملی ( Action ) که در محیط انجام میدهد، بازخورد ( Reward ) دریافت میکند.
این بازخورد میتواند مثبت یا منفی باشد و بر اساس آن، عمل خود را بهبود میبخشد و خود را اصلاح میکند.
یادگیری تقویتی برخلاف یادگیری با نظارت و یادگیری بینظارت وابسته به داده نیست، بلکه به واسطه تعامل با محیط میآموزد.
شاخه هایی که از این روش استفاده میکنند میتوان به تئوری بازی ها ( Game Theory )، الگوریتم ژنتیک ( Genetic Algorithms ) و .. اشاره کرد

جمع بندی
هدف این مقاله ارائهی نگاهی ساده و کاربردی به مفاهیم پایهای هوش مصنوعی بود. خوشحال میشوم نظر، تجربه یا پرسشهای شما را در بخش دیدگاهها بخوانم تا این گفتوگو کاملتر شود.
منابع
کتاب ها :
Artificial Intelligence: A Modern Approach, 4th US ed.
Mitchell, T. (1997). Machine Learning. McGraw Hill. p. 2.
مقالات :
Turing Test: 50 Years Later reviews a half-century of work on the Turing Test, from the vantage point of 2000.
منابع اینترنتی :
Russell, Stuart J.; Norvig, Peter (2003), Artificial Intelligence: A Modern Approach (2nd ed.), Upper Saddle River, New Jersey: Prentice Hall, ISBN 0-13-790395-2
Wikipedia : Machine learning
Wikipedia : Artificial Intelligence: A Modern Approach
مطلبی دیگر از این انتشارات
تبدیل دفترچههای یادداشت به اسکریپتهای پایتون و بالعکس، روش تمیز
مطلبی دیگر از این انتشارات
برنامه نویسی از کجا شروع کنم؟
مطلبی دیگر از این انتشارات
کدومو انتخاب کنم؟ گیت هاب یا گیت لب؟!