هوش مصنوعی چیست؟ یادگیری ماشین، عمیق و یادگیری تقویتی
هوش مصنوعی یا به اختصار AI چیست؟
هوش مصنوعی (Artificial Intelligence)، فرایند ساخت ماشینهای هوشمندی است که از حجم وسیعی از دادهها استفاده میکنند. این فرایند ماشینها را قادر میسازد تا بدون دستور مستقیم برای انجام کاری و به صورت خودمختار (Autonomous) با سطوح هوشی مشابه انسان بتوانند تفکر منطقی، حس، درک، یادگیری و عمل داشته باشند. AI از الگوریتمها و روشهای پیچیده برای ساخت ماشینهایی استفاده میکند که بتوانند به تنهایی (خودمختارانه) تصمیم بگیرند. اما در واقعیت اینکه از چه کسی بپرسید AI چیست، تفاوت زیادی دارد.
یک فرد غیر متخصص که درک سطحی از فناوری دارد این تعریف را به رباتها مرتبط میکند که میتوانند به تنهایی فکر کنند و اعمالی را انجام دهند. اگر از یک محقق هوش مصنوعی بپرسید او خواهد گفت که مجموعهای از الگوریتمها هستند که میتوانند باعث انجام کارهایی شوند، بدون آن که دستورات مشخصی برای انجام دادن آن کارها در الگوریتمهای ما وجود داشته باشند. پس هر دو تعریف بالا درست هستند؛ بنابراین در ادامه به طور جامعتر به تعریف هوش مصنوعی در دنیای کنونی میپردازیم.
به عبارتی سیستمهای هوشمند از آموختهها و تجربیات گذشتهی خود یاد میگیرند و وظایفی شبیه به انسان را انجام میدهند تا بتوانند سرعت، دقت و اثربخشی تلاشهای انسان در انجام کارها را افزایش دهند و نیز بهترین نتایج مورد انتظار را تولید کنند. هوش مصنوعی برای اجرای عملکرد خود به داده (Data) نیاز دارد. دادهها به سیستمهای هوش مصنوعی اجازه میدهند تا الگوهایی بسازند، و سپس از آنها برای تولید پیشبینیها و شبیهسازیها یا استنباط اطلاعات درباره جهان استفاده میکنند.
تاریخچه هوش مصنوعی
پروفسور آلن تورینگ (A. M. Turing) در سال ۱۹۵۰ میلادی در مقاله ای تحت عنوان ماشینهای محاسباتی و هوشمند (Computing Machinery and Intelligence) حوزه AI را برای اولین بار به جهانیان معرفی کرد.
یادگیری ماشین چیست؟
الگوریتمهای بسیار مختلفی برای یادگیری ماشین وجود دارد و هر روزه صدها الگوریتم جدید نیز تولید می شوند، و به طور معمول توسط سبک یادگیری (learning style) (مانند یادگیری نظارت شده، یادگیری بدون نظارت، یادگیری نیمه نظارت) و یا با توجه به شباهتشان در فرم و عملکرد ( مانند طبقه بندی، برگشت، درخت تصمیم گیری، دسته کردن، یادگیری عمیق و…) گروه بندی می شوند. صرف نظر از سبک یادگیری یا عملکرد، تمام الگوریتمهای یادگیری ماشین به شرح زیر هستند:
نمایش: مجموعه ای از طبقه بندی کنندهها یا زبانی که کامیوتر آن را می فهمد.
ارزشیابی: همچنین معروف به عملکرد هدف/نمره دهی.
بهینه سازی: روش جست و جو؛ اغلب طبقه بندی کننده ای با بالاترین امتیاز.
هدف اساسی الگوریتمهای یادگیری ماشین، تعمیم یادگیریها به فراتر از نمونههای آموزش داده شده است، یعنی تفسیر موفقیت آمیز دادهها.
یادگیری ماشین (Machine Learning) یا به اختصار ML به سیستمها کمک میکند تا به صورت خودکار یادگیری و پیشرفت داشته باشند. یک ماشین به کمک ماشین لرنینگ میتواند از تجربیات و مشاهداتی که بر اساس یک مجموعه داده تجزیه و تحلیل میکند، آموزش ببیند. در این مطلب توضیح میدهیم یادگیری ماشین چیست و علت اهمیت، انواع و نحوهی انتخاب ماشین لرنینگ مناسب را بررسی میکنیم. همچنین بررسی میکنیم که چه کسانی از یادگیری ماشین استفاده میکنند و آیندهی آن چگونه خواهد بود
بگذارید ابتدا برایتان کامل توضیح دهیم ماشین لرنینگ دقیقاً چیست. یادگیری ماشین نوعی هوش مصنوعی (Artificial Intelligence) و به اختصار AI است که در بین متخصصان استفاده میشود. یادگیری ماشین به برنامههای نرمافزاری اجازه میدهد تا در پیشبینی نتایج خروجی دقیقتر عمل کنند، بدون اینکه به طور مستقیم برای انجام این کار برنامهریزی شده باشند.
الگوریتمهای یادگیری ماشین از دادههای سابق به عنوان ورودی برای یادگیری و سپس پیش بینی مقادیر خروجی جدید استفاده میکنند.
موتورهای توصیهگر یکی از موارد رایج استفاده از سیستم یادگیری ماشین هستند. سایر فناوریهای محبوبی که از یادگیری ماشین استفاده میکنند، عبارتاند از: تشخیص تقلب، فیلتر کردن هرزنامه، تشخیص تهدید بدافزاری (Malware Threat Detection)، اتوماسیون فرایند کسبوکار (BPA: Business Process Automation) و سیستم نگهداری از طریق پیش بینی.
مثالهایی از یادگیری ماشین
مثالهای متعددی برای یادگیری ماشین وجود دارند. در اینجا چند مثال از مسائل طبقهبندی زده میشود که در آنها هدف دستهبندی اشیا به مجموعهای مشخص از گروهها است.
تشخیص چهره: شناسایی چهره در یک تصویر (یا تشخیص اینکه آیا چهرهای وجود دارد یا خیر).
فیلتر کردن ایمیلها: دستهبندی ایمیلها در دو دسته هرزنامه و غیر هرزنامه.
تشخیص پزشکی: تشخیص اینکه آیا بیمار مبتلا به یک بیماری است یا خیر.
پیشبینی آب و هوا: پیشبینی اینکه برای مثال فردا باران میبارد یا خیر.
مطالعه بیشتر: صداسازی با هوش مصنوعی
دیپ لرنینگ یا یادگیری ژرف (عمیق) چیست؟
درک عملکرد هوش مصنوعی، تا همین چند وقت پیش برای ما تداعی ماجرای علمی-تخیلی را به همراه داشت؛ با این حال، گذشت زمان به ما ثابت کرد که ماشینها هم میتوانند یاد بگیرند. در حال حاضر رباتهایی اختراع شده اند که موفق شدند با ما صحبت کنند و ماشینهایی که بدون نیاز به کنترل راننده، حرکت میکردند. در واقع یادگیری عمیق یا ژرف (deep learning) زیرمجموعهای از یادگیری ماشینی و شاخهای از هوش مصنوعی است که هدف آن آموزش دادن ماشینها به وسیله دادهها، بدون برنامهریزی مستقیم است.
یادگیری عمیق یا یادگیری ژرف بر مبنای مجموعهای از الگوریتمها است که در تلاش هستند تا مفاهیم انتزاعی سطح بالا در داده ها را مدل نمایند که این فرایند را با استفاده از یک گراف عمیق که دارای چندین لایه پردازشی متشکل از چندین لایه تبدیلات خطی و غیرخطی هستند، مدل میکنند. به بیان دیگر پایهٔ آن بر یادگیری نمایش دانش و ویژگیها در لایههای مدل است.
به زبان ساده، یادگیری عمیق راهی برای اتوماتیککردن تحلیلهای پیشبینیکننده (Predictive Analysis) است. برخلاف الگوریتمهای خطی یادگیری ماشین، الگوریتمهای سلسهمراتبی یادگیری ژرف در هر مرحله بر میزان پیچیدگی و انتزاعشان افزوده میشود.
برای آشنایی بیشتر با یادگیری ژرف این مثال را در نظر بگیرید: کودک خردسالی که برای اولین بار کلمهی گربه را به زبان میآورد، اما معنای پشت این کلمه را نمیداند. او هر بار به چیزهای مختلفی اشاره میکند و کلمهی گربه را به زبان میآورد. پدر و مادر این کودک در پاسخ به هر اشارهی او میگویند «بله، این گربه هست» و یا «نه، این گربه نیست». بعد از مدتی کودک به ویژگیهای مشترک تمامی گربه ها پی میبرد. اتفاقی که در اینجا میافتد این است که بدون اطلاع کودک، سلسلهمراتبی از انتزاعات در ذهن او در حال شکلگیری است؛ انتزاعاتی که در هر مرحله مبتنی بر مفاهیم لایههای قبلی هستند. از این طریق است که مفاهیمی پیچیده و انتزاعی در ذهن کودک شکل میگیرد.
کاربردهای یادگیری عمیق چیست ؟
امروزه، از حوزه یادگیری عمیق در تمامی جنبههای زندگی انسان استفاده میشود. اکثر وسایل مورد نیاز در زندگی روزمره بشر، هوشمندسازی شدهاند و به این سبب، بسیاری از فعالیتهای انسان با سهولت بیشتری انجام میشوند. همچنین، در بسیاری از حوزههای علمی مختلف، از مدلهای یادگیری عمیق به منظور ساخت ابزارهای هوشمند استفاده شده است تا بسیاری از فعالیتهای سازمانها بهصورت خودکار و با دقت بالا انجام شوند. به منظور درک عمیقتر و ملموستر پاسخ پرسش یادگیری عمیق چیست، در ادامه به کاربردهای مختلف مدلهای آن در برخی از حوزهها و جنبههای زندگی انسان اشاره میشود:
تشخیص کلاهبرداری: در دنیای دیجیتال، کلاهبرداری به عنوان یکی از مشکلات اساسی محسوب میشود. از مدلهای یادگیری عمیق میتوان به منظور شناسایی تراکنشهای غیرعادی کاربران استفاده کرد. به عبارتی، با در اختیار داشتن دادههای مربوط به مشتریان مانند موقعیت مکانی، بازههای زمانی خرید و الگوهای خرید از کارت اعتباری میتوان فعالیتهای مشکوک کاربران در رابطه با کارتهای اعتباری را شناسایی کرد.
بینایی کامپیوتر (Computer Vision): مدلهای یادگیری عمیق با تقلید از نحوه یادگیری انسان درباره مسائل مختلف، قادر است الگوهای دادهها را شناسایی کنند. همین ویژگی سبب میشود تا بتوان از این مدلها در پژوهشهای مربوط به پردازش تصویر استفاده کرد و اشیای موجود در تصاویر مانند هواپیما، چهره افراد و اسلحه را تشخیص داد.
خودکارسازی عملیات در حوزه کشاورزی: کشاورزی یکی از منابع اصلی برای تامین مواد غذایی مورد نیاز انسان است که میتوان از مدلهای یادگیری عمیق در این حیطه بهصورت کارامد استفاده کرد. کشاورزان میتوانند از ابزارهای مبتنی بر یادگیری عمیق برای تشخیص حیوانات وحشی، پیشبینی وضعیت آب و هوا، پیشبینی بازدهی محصولات و ماشینهای کشاورزی خودران استفاده کنند.
استخراج ویژگی (Feature Extraction): یکی دیگر از کاربردهای مدلهای یادگیری عمیق، استخراج ویژگی است. تمامی لایههای مدلهای یادگیری عمیق، از دادههای ورودی، ویژگیهای مختلفی استخراج میکنند. بدینترتیب، میتوان خروجی هر لایه شبکه عصبی را ذخیره کرد تا بتوان از آنها به عنوان ویژگی، در سایر مدلهای یادگیری عمیق یا یادگیری ماشین استفاده کرد.
پردازش زبان طبیعی (Natural Language Processing): با استفاده از مدلهای یادگیری عمیق میتوان الگوها و ویژگیهای پیچیده متون را تشخیص داد و به تفسیر دقیقتری از این متنها رسید. ابزارهای مختلفی برای تحلیل متن وجود دارند که مبتنی بر شبکههای عصبی هستند. ابزارهای ترجمه ماشینی، خلاصهسازی متون، تصحیح متنها، تشخیص سرقت ادبی، تحلیل احساسات در متن و چتباتها به عنوان برخی از رایجترین و پرکاربردیترین ابزارهای پردازش زبان طبیعی محسوب میشوند که بسیاری از سازمانها و مراکز علمی و تحقیقاتی از آنها استفاده میکنند.
خدمات پزشکی: با جمعآوری شرح حال بیماران و آماده کردن آنها در قالب دادههای مناسب برای آموزش مدلهای یادگیری عمیق، میتوان ابزاری قدرتمند به منظور تشخیص بیماری تهیه کرد تا اطلاعات جامعی را در اختیار پزشکان و متخصصان قرار دهد و در راستای تشخیص بهترین راه درمان به آنها کمک کند.
خودکار کردن خط تولید کارخانهها: امروزه در اکثر کارخانهها، بسیاری از فعالیتهای تولید محصول با ابزارهای هوشمند انجام میشوند. معمولاً، انجام فعالیتهای تکراری را که نیاز به داشتن خلاقیت و تفکر ندارند، میتوان به رباتها محول کرد. بدینترتیب، هزینههای مالی سازمانها و کارخانهها به منظور تامین دستمزد نیروهای انسانی، به طرز چشمگیری کاهش پیدا میکند.
بازاریابی: تولیدکنندگان میتوانند با استفاده ابزارهای هوش مصنوعی، میزان سوددهی خود را چندین برابر کنند. آنها میتوانند از نرمافزارها یا برنامههای کاربردی موبایل استفاده کنند تا به مشتریان خود بر اساس سابقه خرید و سلایق آنها، محصولات جدید شرکت را پیشنهاد دهند.
یادگیری تقویتی چیست و چه کاربردهایی دارد؟
یادگیری تقویتی یا Reinforcement Learning نوعی از الگوریتم های یادگیری ماشین است که با فرایندهای تصمیمگیری متوالی سروکار دارد و شامل یک عامل (Agent)، یک محیط (Enivronment) و یک مکانیسم بازخورد برای هدایت اقدامات عامل است. عامل یاد میگیرد که اقداماتی را در محیط انجام دهد تا سیگنال پاداش تجمعی را به حداکثر برساند. این سیگانال پاداش جمعی بهعنوان نیروی محرکه برای یادگیری عمل میکند.
یادگیری تقویتی یا Reinforcement Learning چیست؟
یادگیری تقویتی به عنوان یک گرایش از یادگیری ماشین است که از روانشناسی رفتارگرایی الهام میگیرد. این روش بر رفتارهایی تمرکز دارد که ماشین باید برای بیشینه کردن پاداشش انجام دهد. این مسئله، با توجه به گستردگیاش، در زمینههای گوناگونی بررسی میشود. مانند: نظریه بازیها، نظریه کنترل، تحقیق در عملیات، نظریه اطلاعات، سامانه چندعامله، هوش ازدحامی، آمار، الگوریتم ژنتیک، بهینهسازی بر مبنای شبیهسازی، همچنین یادگیری تقویتی در اقتصاد و نظریه بازیها بیشتر به بررسی تعادلهای ایجاد شده تحت عقلانیت محدود میپردازد.
نحوهی عملکرد یادگیری تقویتی
یادگیری تقویتی را میتوان بهعنوان یک حلقه متشکل از اجزای زیر در نظر گرفت:
عامل (Agent): یادگیرنده یا تصمیمگیرندهای که براساس مشاهدههای خود اقداماتی را انجام میدهد؛
محیط (Environment): سیستم یا زمینهی خارجی که عامل در آن عمل میکند؛
حالت (State): پیکربندی یا نمایش فعلی محیط در یک زمان معین؛
اقدام (Action): تصمیم یا انتخابی که عامل در پاسخ به یک حالت اتخاذ میکند؛
پاداش (Reward): سیگنال بازخوردی که خوبی یا مطلوبیت عمل عامل را ارزیابی میکند؛
خطمشی (Policy): استراتژی یا رویکردی که عامل برای انتخاب اقدامات براساس حالتهای مشاهدهشده به کار میگیرد.
یادگیری تقویتی (RL) یک الگوی یادگیری است که در آن یک عامل یاد میگیرد که با تعامل با یک محیط تصمیمهای متوالی بگیرد. عامل براساس اقدامات خود بازخوردی را در قالب پاداش یا جریمه دریافت میکند. هدف RL یادگیری یک خطمشی بهینه است که پاداشهای تجمعی را در طول زمان به حداکثر میرساند. عامل ازطریق آزمونوخطا محیط را بررسی میکند، اقداماتی را براساس وضعیت فعلی آن انجام میدهد و بازخورد دریافت میکند. از این بازخورد برای بهروزرسانی خطمشی خود و اتخاذ تصمیمهای بهتر در آینده استفاده میکند. الگوریتمهای RL اغلب از توابع یا value functions برای تخمین پاداشها یا مقادیر موردانتظار مرتبط با حالات و اقدامات مختلف استفاده میکنند که عامل را قادر میکند تواناییهای تصمیمگیری خود را یاد بگیرد و بهبود بخشد. با هر تعامل و یادگیری مکرر، خطمشی عامل بهتدریج بهسمت یک راهحل بهینه همگرا میشود و به رفتار هوشمندانه و سازگار در محیطهای پیچیده و پویا میانجامد.
کاربردهای یادگیری تقویتی
یادگیری تقویتی کاربردهای متعددی در حوزههای مختلف پیدا کرده است، از جمله:
رباتیک: RL رباتها را قادر میکند تا عملها و حرکتهای خود را براساس آزمونوخطا یاد بگیرند و بهبود بخشند و به آنها اجازه میدهد در محیطهای پیچیده حرکت کنند یا اشیا را دستکاری کنند.
بازی: الگوریتمهای RL در انجامدادن بازیهای پیچیده، مانند شطرنج، Go و بازیهای ویدئویی، به موفقیت چشمگیری دست یافتهاند و در برخی موارد از عملکرد انسان پیشی گرفتهاند.
وسایل نقلیه خودمختار: تکنیکهای RL را میتوان برای آموزش خودروهای خودران برای تصمیمگیری بهینه در زمان واقعی به کار برد که به حملونقل ایمنتر و کارآمدتر میانجامد.
مدیریت منابع: RL میتواند برای بهینهسازی تخصیص منابع، زمانبندی و تصمیمگیری در حوزههایی مانند مدیریت انرژی، لجستیک و ارتباطات استفاده شود.
منبع: مجله علمی پارس اینفوتک فعال در زمینه هوش مصنوعی