آنچه یاد خواهید گرفت:
بررسی مبانی یادگیری تقویتی: MDPs، معادله بلمن، Q-Learning
تئوری و پیادهسازی SAC (Soft Actor-Critic)
تئوری و پیادهسازی PPO (Proximal Policy Optimization)
اصول TRPO (Trust Region Policy Optimization)
اعمال RL در محیطهای تمرینی و دنیای واقعی متنوع (شبیهسازهای فیزیکی، بازار سهام)
پیشنیازهای دوره
اصول یادگیری تقویتی: MDPs، معادله بلمن، روشهای مونتکارلو، یادگیری تفاضل زمانی
ریاضیات STEM در مقطع کارشناسی: حسابان، احتمال، آمار
برنامهنویسی پایتون و محاسبات عددی (Numpy و Matplotlib و غیره)
اصول یادگیری عمیق: شبکههای عصبی، بهینهسازی ابرپارامترها و غیره
توضیحات دوره
این دوره شامل استفاده از هوش مصنوعی است (خب، این یک دوره AI است دیگر)
به نسل بعدی یادگیری تقویتی عمیق خوش آمدید.
این دوره از جایی ادامه پیدا میکند که مجموعه قبلی متوقف شد و به سراغ الگوریتمهای مدرنی میرود که امروز به عنوان پیشرفتهترین روشها شناخته میشوند: Soft Actor-Critic (SAC) و Trust Region Policy Optimization (TRPO) و Proximal Policy Optimization (PPO)
اینها همان روشهایی هستند که در پژوهشهای پیشرفته و کاربردهای واقعی، جایی که پایداری، کارایی و عملکرد اهمیت دارند، استفاده میشوند.
چرا این دوره؟
یادگیری تقویتی عمیق با سرعت زیادی پیشرفت کرده است. الگوریتمهایی مانند DQN و DDPG و TD3 پایههای این حوزه را بنا کردند، اما متخصصان امروز برای رسیدن به یادگیری پایدار در محیطهای پیچیده، به روشهای منظمسازی شده با آنتروپی و بهینهسازی مبتنی بر trust region تکیه میکنند.
این دوره شما را با موارد زیر بروز میکند:
Soft Actor-Critic (SAC): یادگیری تقویتی منظمسازی شده با آنتروپی برای یادگیری پایدار و بسیار کارآمد
اصول TRPO: ستون فقرات نظری بهینهسازی سیاست مدرن
Proximal Policy Optimization (PPO): الگوریتم استاندارد صنعت که در پژوهش و تولید به طور گسترده استفاده میشود.
محیطهای Atari: آموزش ایجنتها روی ورودیهای ویژوال با ابعاد بالا
بهینهسازی پورتفولیوی چنددورهای: یک پروژه VIP واقعی با استفاده از RL مدرن
آنچه مسلط میشوید:
این دوره پلی میان تئوری و پیادهسازی است. یک دوره از Lazy Programmer هرگز فقط درباره استفاده از کتابخانهها نیست. شما هر الگوریتم را گامبهگام در PyTorch میسازید و دقیقاً میفهمید چرا کار میکنند.
مرور اصول یادگیری تقویتی
کار را با یک مرور کوتاه اما کامل از ایدههای اصلی پشت همه الگوریتمهای یادگیری تقویتی آغاز میکنیم. شما دوباره با فرآیندهای تصمیمگیری مارکوف (MDP)، برنامهریزی پویا (DP)، روشهای مونتکارلو (MC) و یادگیری تفاضل زمانی (TD)، همراه با Q-learning و تقریب تابع آشنا میشوید. این بخش کمک میکند بفهمید توابع ارزش چگونه برآورد میشوند، سیاستها چگونه در طول زمان بهبود پیدا میکنند و یادگیری عمیق چگونه با RL ترکیب میشود. همچنین بررسی Deep Q Networks (DQN) داریم تا شکاف میان روشهای مبتنی بر ارزش و الگوریتمهای پیشرفته policy-gradient که در ادامه میآیند، پر شود.
Soft Actor-Critic (SAC)
در ادامه، به سراغ Soft Actor-Critic میرویم که یکی از قدرتمندترین و پایدارترین الگوریتمها در یادگیری تقویتی عمیق مدرن است. ابتدا مروری کوتاه بر DDPG و TD3 داریم تا دلیل شکلگیری SAC را روشن کنیم، سپس یادگیری تقویتی منظمسازی شده با آنتروپی و مفهوم بیشینهسازی همزمان پاداش و تصادفی بودن را معرفی میکنیم. شما یاد میگیرید چگونه اهداف soft actor و soft critic را محاسبه کنید، چرا سیاستهای تصادفی به اصلاح change-of-variables نیاز دارند و SAC چگونه به طور خودکار میان اکتشاف و بهرهبرداری تعادل برقرار میکند.
Trust Region Policy Optimization (TRPO)
پیش از پیادهسازی PPO، پایه نظریای را که الهامبخش آن بوده است با دقت بررسی میکنیم: Trust Region Policy Optimization
شما یاد میگیرید چرا روشهای ساده policy gradient میتوانند ناپایدار شوند و چگونه محدود کردن بروزرسانیهای سیاست با استفاده از واگرایی KL به یادگیری قابلاعتمادتر منجر میشود. این بخش ایده trust region، نحوه ساخت اهداف جایگزین و دلیل بهبود یکنواخت سیاست در TRPO را توضیح میدهد. با اینکه پیادهسازی TRPO پیچیدهتر است، درک مشتقسازی آن بینش عمیقی درباره روشهای مدرن بهینهسازی سیاست به شما میدهد.
این همان بینش نظری را به شما میدهد که بیشتر دورهها از آن عبور میکنند.
Proximal Policy Optimization (PPO)
با TRPO به عنوان پایه، به سراغ Proximal Policy Optimization میرویم؛ الگوریتمی که به استاندارد صنعت در یادگیری تقویتی عمیق تبدیل شده است. شما خواهید دید که PPO چگونه TRPO را تقریب میزند، در حالی که همچنان برای پیادهسازی عملی ساده باقی میماند. ما objective بریده شده (clipped surrogate objective) را استخراج میکنیم، Generalized Advantage Estimation (GAE) را برای کاهش واریانس معرفی میکنیم و نشان میدهیم چگونه میتوان از واگرایی KL برای توقف زودهنگام استفاده کرد. این الگوریتم از ابتدا پیادهسازی میشود و در محیطهای کنترل گسسته و پیوسته تست میشود.
یادگیری تقویتی عمیق برای Atari
پس از تسلط به محیطهای پیوسته و کمبعد، به سراغ بازیهای Atari میرویم؛ جایی که ایجنتها باید مستقیماً از ورودی ویژوال با ابعاد بالا یاد بگیرند. شما سیاستهای شبکه عصبی کانولوشن میسازید، frame stacking و پیشپردازش را پیاده میکنید و تکنیکهای عملی لازم برای پایدارسازی آموزش در محیطهای پیچیده را یاد میگیرید. این بخش نشان میدهد الگوریتمهای مدرن policy-gradient چگونه در مسائل دشوار مقیاس میگیرند و تجربه کار با همان نوع بنچمارکهایی را فراهم میکند که در پژوهشهای یادگیری تقویتی عمیق استفاده میشوند.
پروژه VIP: بهینهسازی پورتفولیوی چنددورهای
در نهایت، همه مواردی را که یاد گرفتهاید روی یک پروژه مالی واقعی: بهینهسازی پورتفولیوی چنددورهای به کار میبرید. نظریه سنتی پورتفولیوی نیازمند پیشبینی بازده مورد انتظار و همبستگی داراییهاست و معمولاً بر تصمیمهای تکدورهای تمرکز دارد. در مقابل، شما یک ایجنت یادگیری تقویتی میسازید که مستقیماً از داده تاریخی یاد میگیرد و تخصیصها را در طول زمان بهصورت پویا تنظیم میکند. این ایجنت، عملکرد بلندمدت را بهینه میکند، میان ریسک و بازده تعادل برقرار میکند و با شرایط متغیر بازار سازگار میشود. این پروژه نشان میدهد یادگیری تقویتی عمیق چگونه میتواند محدودیتهای روشهای کلاسیک پورتفولیوی را پشت سر بگذارد و یک کاربرد عملی و کامل از الگوریتمهای مدرن RL ارائه میدهد.
آیا این دوره برای شما مناسب است؟
اگر برنامهنویس، دانشمند داده یا علاقهمند به هوش مصنوعی هستید و میخواهید مهمترین الگوریتمهای مدرن یادگیری تقویتی عمیق را یاد بگیرید، این دوره برای شماست.
این دوره فراتر از کتابخانههای «آماده و استفاده کن» میرود. شما همه موارد را در PyTorch میسازید، ریاضیات را میفهمید و شهود لازم برای طراحی ایجنتهای RL خودتان را به دست میآورید.
اگر میخواهید SAC و PPO و TRPO را در سطحی عمیق درک کنید و آنها را روی مسائل واقعی به کار ببرید، این دوره نقشه راه شماست.
آمادهاید نسل بعدی ایجنتهای هوشمند را بسازید؟
پیشنیازهای پیشنهادی:
حسابان
احتمال و آمار
کدنویسی پایتون: if/else، حلقهها، لیستها، دیکشنریها، مجموعهها
کدنویسی با Numpy: عملیاتهای ماتریس و بردار، بارگذاری فایلهای CSV
شبکههای عصبی و پس انتشار
توانایی نوشتن یک شبکه عصبی پیشخور در PyTorch
توانایی نوشتن یک شبکه عصبی کانولوشن در PyTorch
فرآیندهای تصمیمگیری مارکوف (MDPs)
یادگیری تفاضل زمانی
آشنایی اولیه با یادگیری تقویتی عمیق
این دوره برای چه کسانی مناسب است؟
علاقهمندان به یادگیری ماشین و هوش مصنوعی که میخواهند یکی از هیجانانگیزترین حوزههای AI یعنی یادگیری تقویتی را بررسی کنند.
توسعهدهندگان نرمافزار و مهندسانی که میخواهند ایجنتهای هوشمندی بسازند که از تجربه یاد میگیرند.
متخصصان امور مالی کمی که به اعمال RL در مدیریت ریسک و معاملات الگوریتمی علاقهمند هستند.
دانشجویان و پژوهشگران حوزه AI، علوم کامپیوتر یا علم داده که به تجربه عملی با پیادهسازیهای واقعی RL نیاز دارند.
توسعهدهندگان بازی که کنجکاوند از RL برای آموزش AI جهت رفتارهای پیچیده و گیمپلی تطبیقی استفاده کنند.
فعالان رباتیک که میخواهند یاد بگیرند ایجنتها چگونه در محیطهای فیزیکی تصمیمهای متوالی میگیرند.
دانشمندان داده که میخواهند ابزارهای خود را فراتر از یادگیری نظارت شده و یادگیری بدون نظارت گسترش دهند.
تریدرها و سرمایهگذارانی که میخواهند از روشهای پیشرفته AI در استراتژیهای معاملاتی خودکار استفاده کنند.
کارآفرینان و علاقهمندان که مشتاق تست مدلهای پیشرفته AI و ساخت پروژههایی هستند که در طول زمان یاد میگیرند و سازگار میشوند.
افرادی که در حال تغییر مسیر شغلی به سمت AI و ML هستند و به دنبال پروژههای واقعی و مناسب برای پورتفولیو میگردند.