15 بهمن 1401
تهران، خیابان آزادی، تقاطع قریب
یادگیری ماشین

Reinforcement Learning چیست؟ | راهنمای کامل یادگیری تقویتی

Reinforcement Learning چیست؟ | راهنمای کامل یادگیری تقویتی

هوش مصنوعی با حجم بازار حدوداً 7.35 میلیارد دلار، یک بازار رو به رشد و رو به جهش است. پیش‌بینی می‌شود که تکنیک‌های هوش مصنوعی (از جمله Deep Learning و Reinforcement Learning ) پتانسیل ایجاد ارزش سالیانه بین 3.5 تا 5.8 تریلیون دلار را در 9 عملکرد تجاری گوناگون در 19 صنعت مختلف داشته باشند.

اگرچه یادگیری ماشین (Machine Learning) به عنوان یک فناوری یکپارچه در نظر گرفته می‌شود، اما این فناوری پیشرفته دارای انواع فرعی از جمله Machine Learning کلاسیک، Deep Learning ، Transfer Learning (یادگیری انتقالی) و فناوری پیشرفته Deep Reinforcement Learning (یادگیری تقویتی عمیق) است.

Reinforcement Learning چیست؟

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

اگرچه طراح است که خط مشی این پاداش یا قوانین بازی را تعیین می‌کند، او هیچ پیشنهادی برای نحوه حل بازی به مدل نمی‌دهد. این بر عهده خود مدل است که بفهمد چگونه task را برای به حداکثر رساندن پاداش انجام دهد، از آزمایش‌های کاملاً تصادفی شروع کند و با تاکتیک‌های پیچیده و مهارت‌های ما فوق بشری، کار را به پایان برساند. Reinforcement Learning با قدرت جستجوی بالا و آزمایش‌های پرتعداد، در حال حاضر مؤثرترین راه برای استفاده حداکثری از خلاقیت ماشین است. اگر الگوریتم Reinforcement Learning بر روی یک زیرساخت کامپیوتری قدرتمند اجرا شود، هوش مصنوعی بر خلاف انسان‌ها، می‌تواند تجربه هزاران گیم‌پلی موازی را جمع‌آوری کند.

نمونه‌هایی از Reinforcement Learning

کاربردهای Reinforcement Learning در گذشته به دلیل زیرساخت ضعیف کامپیوتر محدود شده بود. با این حال، هوش مصنوعی یک سوپربازیکن تخته نرد به نام جرارد تسائورو را در دهه 1990 توسعه داد، که این یک پیشرفت بزرگ بود. این پیشرفت اولیه اکنون با فناوری‌های محاسباتی قدرتمند در هم آمیخته و به سرعت در حال تغییر است.

آموزش مدل‌هایی که خودروهای خودران را کنترل می‌کنند، نمونه‌ای عالی از کاربرد بالقوه Reinforcement Learning است. در شرایط ایده‌آل، کامپیوتر نباید هیچ دستورالعملی در مورد رانندگی ماشین دریافت کند. برنامه نویس از کارهای hard-wired مرتبط با این task اجتناب می‌کند و به دستگاه اجازه می‌دهد از اشتباهات خود درس بگیرد. در یک موقعیت عالی، تنها عنصر hard-wired ، تابع پاداش خواهد بود.

به عنوان مثال، در شرایط معمول ما به خودروی خودرانی احتیاج داریم که ایمنی را در اولویت قرار دهد، زمان ماشین‌سواری را به حداقل برساند، آلودگی را کاهش دهد، به مسافران آرامش خاطر دهد و قوانین را رعایت کند. از سوی دیگر، با یک ماشین مسابقه‌ای خودمختار، ما می‌توانیم به سرعتی بسیار بالاتر از سرعت یک راننده حرفه‌ای دست پیدا کنیم. اما برنامه‌نویس نمی‌تواند هر چیزی را که ممکن است در جاده اتفاق بیفتد، پیش‌بینی کند. برنامه نویس به جای ساختن دستورالعمل‌های طولانی if-then ، عامل Reinforcement Learning را آماده می‌کند تا بتواند از سیستم پاداش و جریمه آموزش ببیند. عامل (agent) نام دیگری برای الگوریتم‌های Reinforcement Learning است که برای رسیدن به اهداف خاص پاداش دریافت می‌کند.

پروژه یادگیری دویدن

مثال دیگر این فناوری، deepsense.ai است که در پروژه «یادگیری دویدن» شرکت کرد. هدف این پروژه آموزش یک دونده مجازی از ابتدا بود. The Runner (دونده این پروژه) یک مدل اسکلتی-عضلانی پیشرفته و دقیق است که توسط آزمایشگاه بیومکانیک عصبی عضلانی استنفورد طراحی شده است. یادگیری نحوه دویدن توسط این عامل، اولین قدم در ساخت نسل جدیدی از پاهای مصنوعی است. پاهایی که به طور خودکار الگوهای راه رفتن افراد را تشخیص می‌دهند و خود را بهینه می‌کنند تا حرکت را آسان‌تر و مؤثرتر کنند. در حالی که این امکان وجود دارد و در آزمایشگاه‌های استنفورد انجام شده است، hard-wiring تمام دستورات و پیش‌بینی همه الگوهای ممکن راه رفتن، به حجم کاری بالایی نیاز دارد که باید توسط برنامه‌نویسان ماهر انجام شود.

چالش‌های Reinforcement Learning

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

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

با این حال، چالش دیگر رسیدن به یک optimum محلی است، که عامل task را همان‌طور که هست انجام می‌دهد، اما نه به روش بهینه یا مورد نیاز. پرش یک Jumepr مانند کانگورو، به جای انجام کاری که از آن انتظار می‌رود (مانند راه رفتن)، یک مثال عالی است.

در نهایت، عواملی وجود دارند که جایزه را بدون انجام آن task که برای آن طراحی شده‌اند، بهینه می‌کنند. یک مثال جالب را می‌توان در این ویدیوی OpenAI مشاهده کرد، جایی که عامل یاد گرفت که پاداش بگیرد، اما مسابقه را به پایان نرساند.

چه چیزی Reinforcement Learning را از Deep Learning و Machine Learning متمایز می‌کند؟

در واقع نباید بین این سه تفاوت مشخصی وجود داشته باشد. رابطه بین این سه مثل یک رابطه متوازی الاضلاع، مربع یا مستطیل است که یادگیری ماشین گسترده‌ترین مقوله و Reinforcement Learning جزئی‌ترین مقوله است.

در حقیقت Reinforcement Learning یک تکنیک تخصصی از یادگیری ماشین و Deep Learning است که برای حل مسائل، به روشی خاص طراحی شده است.

چه چیزی Reinforcement Learning را از Deep Learning و Machine Learning متمایز می‌کند؟

اگرچه به نظر می‌رسد ایده‌ها متفاوت است، هیچ شکاف بزرگی بین این زیرگروه‌ها وجود ندارد. علاوه بر این، آن‌ها در پروژه‌ها ادغام می‌شوند، زیرا مدل‌ها به گونه‌ای طراحی شده‌اند که به جای چسبیدن به «تایپ خالص»، کار را به مؤثرترین شکل ممکن انجام دهند. بنابراین، این سؤال که دقیقاً چه چیزی Reinforcement Learning را از Deep Learning و Machine Learning متمایز می‌کند، سؤالی بسیار دشوار است. اما ما به آن پاسخ می‌دهیم.

Machine Learning یا یادگیری ماشینی نوعی از هوش مصنوعی است که در آن به رایانه‌ها این توانایی داده می‌شود تا با استفاده از داده‌ها، به تدریج یک عملکرد خاص را بهبود ببخشند، بدون این‌که مستقیماً برنامه‌ریزی شوند. (این تعریف آرتور لی ساموئل است. او اصطلاح یادگیری ماشین را ابداع کرد. دو نوع یادگیری ماشین وجود دارد. یادگیری ماشین تحت نظارت و یادگیری ماشین بدون نظارت.

یادگیری ماشین تحت نظارت

نوع تحت نظارت یادگیری ماشین زمانی اتفاق می‌افتد که یک برنامه‌نویس بتواند برای هر ورودی آموزشی به سیستم یادگیری ماشین، برچسبی ارائه دهد.

برای مثال، می‌توان به تجزیه و تحلیل داده‌های تاریخی اشاره کرد که از معادن ذغال‌سنگ گرفته شده‌اند. deepsense.ai یک سیستم خودکار برای پیش‌بینی زمین‌لرزه‌های خطرناک تا 8 ساعت قبل از وقوع آن‌ها ابداع کرد. سوابق زمین‌لرزه طی چندین ماه از 24 معدن زغال‌سنگ گرفته شده بود. این مدل با تجزیه و تحلیل خوانش‌های 24 ساعت گذشته، می‌توانست احتمال انفجار را تشخیص دهد.

یادگیری ماشین تحت نظارت

از نقطه نظر هوش مصنوعی، یک مدل واحد در حال انجام یک کار واحد بر روی یک مجموعه داده شفاف و نرمال بود.

یادگیری ماشین بدون نظارت

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

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

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

Deep Learning چیست؟

Deep Learning شامل چندین لایه از شبکه‌های عصبی است که برای انجام taskهای پیچیده‌تر طراحی شده‌اند. مدل‌های Deep Learning از طراحی مغز انسان الهام گرفته‌اند، اما ساده‌تر هستند. مدل‌های Deep Learning شامل چند لایه شبکه عصبی هستند که در اصل مسئول یادگیری تدریجی ویژگی‌های انتزاعی‌تر در داده‌های خاص هستند.

اگر چه راه‌حل‌های Deep Learning به خصوص در Reinforcement Learning می‌توانند نتایج شگفت‌انگیزی ارائه دهند، اما از نظر مقیاس با مغز انسان همخوانی ندارند. هر لایه از نتیجه لایه قبلی به عنوان ورودی استفاده می‌کند و کل شبکه به عنوان یک واحد کلی آموزش داده می‌شود. مفهوم اصلی در ایجاد یک شبکه عصبی مصنوعی، چیز جدیدی نیست، اما اخیراً سخت‌افزارهای مدرن قدرت محاسباتی کافی برای آموزش مؤثر چنین شبکه‌هایی را با نمایش تعداد کافی نمونه، فراهم کرده‌اند.

پذیرش گسترده فریم‌ورک‌هایی مانند TensorFlow، Keras و PyTorch ، ساخت مدل‌های یادگیری ماشین، به خصوص برای Reinforcement Learning را بسیار آسان کرده است.

الگوریتم تشخیص نهنگ

در یک مثال دیگر، deepsense.ai یک مدل مبتنی بر Deep Learning (Reinforcment Learning) برای اداره ملی اقیانوسی و جوی (NOAA) طراحی کرد. این مدل برای تشخیص نهنگ‌ها از عکس‌های هوایی که محققان گرفته بودند، طراحی شده بود. از نظر فنی، تشخیص یک نمونه خاص از نهنگ‌ها، از روی عکس‌های هوایی، نیاز به Deep Learning دارد. راه حل این پروژه، شامل چند مدل یادگیری ماشین است که وظایف جداگانه‌ای را انجام می‌دهند. اولی مسئول یافتن سر نهنگ در عکس بود، در حالی که دومی با چرخاندن و برش عکس، آن را به یک عکس عادی تبدیل می‌کرد که در نهایت، منجر به ایجاد یک نمای واحد (عکس پاسپورتی) از نهنگ‌های مختلف می‌شد.

الگوریتم تشخیص نهنگ با Reinforcement Learning

مدل سوم، مسئول تشخیص نهنگ‌های خاص از عکس‌هایی بود که قبلاً تهیه و پردازش شده بودند. شبکه‌ای متشکل از 5 میلیون نورون، مسئول تشخیص سر این نوع نهنگ از سر دیگر انواع نهنگ بودند. بیش از 941.000 نوورن به دنبال سر نهنگ‌ها می‌گشتند و بیش از 3 میلیون نورن برای طبقه‌بندی این نوع نهنگ خاص مورد استفاده قرار گرفتند. در مجموع حدود 9 میلیون نورون مسئول انجام این کار بودند، که در مقایسه با بیش از 100 میلیارد نورون در مغز انسان، مقدار زیادی نیست. ما بعدتر از یک راه حل مبتنی بر Deep Learning برای تشخیص رتینوپاتی دیابتی، با استفاده از تصاویر شبکیه بیماران استفاده کردیم.

سیستم پاداش‌ها و جرائم در Reinforcement Learning

همان‌طور که در بالا گفته شد، Reinforcement Learning از سیستمی از پاداش‌ها و جرائم استفاده می‌کند تا کامپیوتر را وادار کند که یک مسئله را به تنهایی حل کند. دخالت انسان به تغییر محیط و اصلاح سیستم پاداش‌ها و جرائم محدود می‌شود. از آن‌جایی که کامپیوتر به دنبال پاداش بیشتر است، مستعد جستجوی راه‌های غیر منتظره برای انجام این کار است. دخالت انسان بر جلوگیری از بهره‌برداری از سیستم و ایجاد انگیزه در ماشین برای انجام وظیفه، بر روش مورد انتظار متمرکز است. یادگیری تقویتی یا Reinforcement Learning زمانی مفید است که «راه مناسب» برای انجام یک کار وجود نداشته باشد، اما قوانینی وجود دارد که مدل باید از آن‌ها پیروی کند تا taskهای خود را به درستی انجام دهد. برای مثال کد جاده (Road Code) را در نظر بگیرید.

الگوریتم بازی با آتاری

با دستکاری و جستجوی سیاست بهینه برای Deep Reinforcement Learning ، عاملی ساختیم که تنها در 20 دقیق به سطح فوق بشری در انجام بازی‌های آتاری رسید. الگوریتم‌های مشابه در اصل می‌توانند برای ساختن هوش مصنوعی برای یک خودروی خودران یا یک پای مصنوعی استفاده شوند. در واقع، یکی از بهترین راه‌ها برای ارزیابی رویکرد Reinforcement Learning ، دادن یک بازی ویدیویی آتاری مانند Arkanoid یا Space Invaders به مدل است. به گفته مارک جی.بلمار از Google Brain ، «اگر چه محیط بازی‌های آتاری چالش برانگیز است، اما به اندازه کافی ساده هستند که ما با درگیر کردن مدل‌های یادگیری ماشین با آن‌ها، به پیشرفت‌های خوبی دست یابیم».

فرار
Reinforcement Learning GIF 1.3
بعد از 30 دقیقه تمرین
Reinforcement Learning GIF 1.2
بعد از 15 دقیقه تمرین
Reinforcement Learning GIF1.1
عملکرد اولیه
حمله
Attak GIF 2.3
بعد از 30 دقیقه تمرین
Attak GIF 2.2
بعد از 15 دقیقه تمرین
Attak GIF 2.1
عملکرد اولیه

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

نتیجه‌گیری

عامل اصلی تمایز Reinforcement Learning با Deep Learning و یادگیری ماشین، نحوه آموزش عامل یا agent است. در یادگیری تقویتی به جای بررسی داده‌های ارائه‌شده، مدل با محیط تعامل می‌کند و به دنبال راه‌هایی برای به حداکثر رساندن پاداش است. در Deep Reinforcement Learning ، یک شبکه عصبی مسئول ذخیره تجربیات است و در نتیجه، نحوه انجام task را بهبود می‌بخشد.

آیا Reinforcement Learning آینده یادگیری ماشین است؟

اگرچه Reinforcement Learning ، Deep Learning و Machine Learning به هم مرتبط هستند، اما هیچ یک از آن‌ها به طور خاص جایگزین دیگران نمی‌شود. یان لیکون، دانشمند مشهور فرانسوی و رئیس تحقیقات فیسبوک، به شوخی می‌گوید که Reinforcement Learning گیلاس روی کیک هوش مصنوعی است، در حالی که Machine Learning خود کیک و Deep Learning  خامه آن است. بدون Machine Learning و Deep Learning ، یک گیلاس به تنهایی کیک نمی‌شود!

در بسیاری از موارد، استفاده از روش‌های کلاسیک یادگیری ماشین کافی است. روش‌های صرفاً الگوریتمی که شامل یادگیری ماشین نمی‌شوند، در پردازش داده‌های تجاری یا مدیریت دیتابیس‌ها مفید هستند.

گاهی اوقات یادگیری ماشین صرفاً پشتیبانی از فرآیندی است که به روش دیگری انجام می‌شود. برای مثال با جستجوی راهی برای بهینه‌سازی سرعت یا کارایی.

هنگامی که یک ماشین باید با داده‌های بدون ساختار و مرتب‌نشده یا با انواع داده‌ها سر و کار داشته باشد، شبکه‌های عصبی می‌توانند بسیار مفید باشند. یادگیری ماشین کیفیت ترجمه ماشینی را هم بهبود می‌بخشد.

خلاصه

بدون شک Reinforcement Learning یا یادگیری تقویتی، یک فناوری پیشرفته است که پتانسیل تغییر دنیای ما را دارد. با این حال، لازم نیست در هر موردی از آن استفاده شود. همچنین به نظر می‌رسد که Reinforcement Learning محتمل‌ترین راه برای خلاق‌کردن یک ماشین باشد، زیرا جستجوی راه‌های جدید و نوآورانه برای انجام taskهای آن، یک نوع خلاقیت است. AlphaGo که اکنون به DeepMind معروف است، حرکاتی را انجام داد که در ابتدا توسط متخصصان انسانی خطا محسوب می‌شدند، اما همان حرکات پیروزی این ماشین را در برابر یکی از قوی‌ترین بازیکنان انسانی، یعنی لی سدول تضمین کردند.

بنابراین یادگیری تقویتی این پتانسیل را دارد که یک فناوری پیشرو و یک گام رو به جلو، در توسعه هوش مصنوعی باشد.

منبع ترجمه: deepsense.ai

Leave feedback about this

  • کیفیت
  • قیمت
  • خدمات

PROS

+
Add Field

CONS

+
Add Field
Choose Image
Choose Video
X