مارا دنبال کنید : 

زنجیره مارکوف
زنجیره مارکوف چیست ؟

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

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

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

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

از اهداف این مدل:

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

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

سه مفهوم اصلی که نشان میدهد زنجیره ما مارکوف است:

1.خاصیت مارکوف (Markov Property) :

این خاصیت بیان می‌کند که برای پیش‌بینی وضعیت آینده، تنها وضعیت کنونی کافی است و نیازی به دانستن تاریخچه‌ی وضعیت‌ها نیست. به عبارت دیگر :

Markov chain formula

این یعنی احتمال اینکه Xn+1 گام x باشد فقط به مرحله n بستگی دارد نه توالی کامل مراحل قبل از n .

برای مثال یک رستوران سه نوع غذا درست می‌کند : پیتزا ، همبرگر و هات داگ

فرض کنید این رستوران روز اول همبرگر و روز دوم پیتزا و روز سوم بازهم پیتزا درست میکند . حالا این احتمال چقدر است که این رستوران در روز چهارم هات داگ درست بکند ؟

 

Markov-chain-formula-example

برای اینکه بفهمیم چقدر احتمال دارد که فردا هات داگ درست بکند باید به روز قبلش نگاه بکنیم :

Markov chain formula example_2

این بدان معناست که احتمال وقوع وضعیت آینده تنها به وضعیت کنونی بستگی دارد.

2.حالت‌های قطعی (Discrete States) :

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

این حالت‌ها معمولاً در قالب یک گراف یا ماتریس نمایش داده می‌شوند. در گراف، هر حالت به‌عنوان یک گره (نود) و هر انتقال احتمالی بین حالت‌ها به‌عنوان یال (لبه) نمایش داده می‌شود. در ماتریس، هر سطر و ستون نمایان‌گر حالت‌ها هستند و هر عنصر ماتریس، احتمال انتقال از یک حالت به حالت دیگر را نشان می‌دهد.

این روش‌های نمایش به ما کمک می‌کنند تا به‌راحتی ساختار زنجیره مارکوف را درک کنیم و محاسبات مربوط به احتمال انتقال بین حالت‌ها را انجام دهیم.

3.انتقال احتمال (Transition Probability) :

هر زنجیره مارکوف دارای یک ماتریس انتقال است که مقادیر آن نشان‌دهنده‌ی احتمال انتقال از یک حالت به حالت دیگر است.

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

این سه مفهوم، اساس فهم و تحلیل زنجیره‌های مارکوف را تشکیل می‌دهند .

ویژگی اصلی زنجیره مارکوف چیست ؟
  • همان‌طور که پیش‌تر اشاره شد، فرآیند مارکوف یک فرآیند تصادفی است که دارای ویژگی بدون حافظه (memoryless) می‌باشد. در ریاضیات، اصطلاح «بدون حافظه» به خاصیتی در توزیع‌های احتمالی اشاره دارد. به‌طور کلی، این ویژگی به سناریوهایی مربوط می‌شود که زمان وقوع یک رویداد خاص، وابسته به مدت زمانی که تاکنون سپری شده است، نیست. به عبارت دیگر، وقتی یک مدل خاصیت بدون حافظه دارد، به این معناست که مدل «فراموش کرده» است که در کدام وضعیت
    memoreless_in_markov_chain
    تصویر1-بدون حافظه

    سیستم قرار دارد. بنابراین، حالت‌های قبلی فرآیند تأثیری بر احتمالات نخواهند داشت.

  • ویژگی اصلی یک فرآیند مارکوف همین خاصیت بدون حافظه است. پیش‌بینی‌های مرتبط با فرآیند مارکوف، مشروط به وضعیت فعلی آن هستند و مستقل از حالت‌های گذشته و آینده‌اند.
  • این ویژگی بدون حافظه در مدل مارکوف می‌تواند هم یک مزیت و هم یک محدودیت باشد. به‌عنوان مثال، تصور کنید می‌خواهید کلمات یا جملاتی را بر اساس متنی که قبلاً وارد کرده‌اید پیش‌بینی کنید — دقیقاً مانند کاری که گوگل برای جی‌میل انجام می‌دهد.
  • اما نقطه ضعف این روش این است که نمی‌توانید متنی را پیش‌بینی کنید که بر اساس زمینه‌ای از حالت قبلی مدل باشد. این یک مشکل رایج در پردازش زبان طبیعی (Natural Language Processing یا NLP) است و بسیاری از مدل‌ها با این چالش مواجه‌اند.

 

اجزای زنجیره‌ی مارکوف

1.وضعیت‌ها (States)

وضعیت‌ها، وضعیت‌های ممکن یک سیستم هستند. هر زنجیره مارکوف مجموعه‌ای از وضعیت‌ها دارد. به عنوان مثال، فرض کنید ما یک زنجیره مارکوف برای توصیف حالتی از یک ماشین بازی داریم. وضعیت‌ها می‌توانند شامل موارد زیر باشند:

  • ماشین خاموش
  • ماشین روشن
  • ماشین در حال کار

2.عمل (Action)

اقداماتی که می‌توان در هر حالت انجام داد.

3.انتقال‌های حالت (State Transitions)

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

برای مثال، اگر ماشین روشن باشد، احتمال اینکه خاموش شود 30% و احتمال اینکه در حال کار باشد 70% است.

4.ماتریس انتقال (Transition Matrix)

An example of a transition matrix in a Markov chain
مثالی از ماتریس انتقال

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

 

 

 

 

 

این ماتریس نشان می‌دهد که اگر ماشین در حال کار باشد، احتمال اینکه در آینده روشن شود 30% و احتمال اینکه خاموش شود 10% است.

5.پاداش (Reward)

مقادیری که به عمل‌ها یا وضعیت‌ها نسبت داده می‌شود و نشان می‌دهد که چقدر از انجام یک عمل در یک حالت راضی هستیم.

6.سیاست (Policy)

راهنمایی برای تصمیم‌گیری که در هر حالت چه عملی انجام شود.

7.تابع ارزش (Value Function)

تابعی که ارزش هر حالت را تعیین می‌کند و نشان می‌دهد که چه میزان پاداش می‌توان از آن حالت کسب کرد.

8.تابع مدل (Model Function)

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

9.توزیع اولیه (Initial Distribution)

مشخص می‌کند از کدام حالت شروع می‌شود.به عنوان مثال، اگر ماشین به طور تصادفی روشن شود، احتمال اینکه ماشین در ابتدا خاموش باشد 50%، روشن 30% و در حال کار 20% است.

10.حالت‌های نهایی (Terminal States)

حالت‌هایی که پس از ورود به آن‌ها، فرایند پایان می‌یابد و دیگر نمی‌توان به حالت دیگری رفت.

این اجزا به طور کلی به ما کمک می‌کنند تا فرایند مارکوف را مدل‌سازی و تحلیل کنیم.

مثال آب و هوا :

فرض کنیم که آب و هوای هر روز فقط به آب و هوای روز قبل بستگی دارد و تأثیری از روزهای قبل‌تر نمی‌گیرد.

در این مثال، دو حالت آب و هوا داریم: آفتابی و بارانی. انتقال بین این دو حالت با استفاده از احتمال‌ها به صورت زیر تعریف شده است:

  1. اگر امروز آفتابی باشد:
  • احتمال اینکه فردا هم آفتابی باشد 30% است.
  • احتمال اینکه فردا بارانی باشد 70% است.
  1. اگر امروز بارانی باشد:
  • احتمال اینکه فردا آفتابی باشد 50% است.
  • احتمال اینکه فردا هم بارانی باشد 50% است.
An example of weather in a Markov chain
تصویر2-نمودار آب و هوا

 

 

در این نمودار، فلش‌ها نشان‌دهنده انتقال بین حالات مختلف آب و هوا و اعداد روی فلش‌ها بیانگر احتمال وقوع هر انتقال هستند .

 

 

 

 

Climate transfer matrix in Markov chain
ماتریس انتقال آب و هوا

ماتریس انتقال

مجموع احتمالات در هر سطر باید برابر با 1 باشد، چرا که احتمال همه حالات ممکن است.

 

 

 

 

 

 

 

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


ترتیبی که هوشینو برای خواندن مطالب یادگیری تقویتی به شما پیشنهاد می‌کند:

 

1.یادگیری تقویتی بخش اول

2.یادگیری تقویتی بخش دوم

3.یادگیری تقویتی بخش سوم

4.زنجیره مارکوف بخش اول

5.زنجیره مارکوف بخش دوم

6.زنجیره مارکوف بخش سوم

7.زنجیره مارکوف بخش چهارم

8.الگوریتم Q-Learning بخش اول

9.الگوریتم Q-Learning بخش دوم

10.الگوریتم Q-Learning بخش سوم

11.الگوریتم SARSA-بخش اول

12.الگوریتم SARSA-بخش دوم

13. تفاوت بین Q-Learning و SARSA

یادگیری‌تقویتی (reinforcement learning) - بخش اول
یادگیری تقویتی چیست ؟

به یادگیری نحوه تعامل یک وضعیت به یک اقدام به طوری که یک سیگنال پاداش عددی را به حداکثر نماید ، یادگیری تقویتی می‌گویند .

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

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

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

Reinforcement learning performance
تصویر1- عملکرد یادگیری تقویتی

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

دلایل اصلی استفاده از یادگیری تقویتی عبارتند از:

1. یادگیری از تعاملات

الگوریتم یادگیری‌تقویتی یک الگوریتم تعاملی است .

تعامل در یادگیری تقویتی به معنای ارتباط بین عامل (Agent) و محیط (Environment) است.

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

2. تصمیم‌گیری قابل تنظیم

تصمیم‌گیری در یادگیری تقویتی به این معناست که عامل می‌تواند بر اساس تغییرات محیط خود عمل کند.

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

به عبارت ساده‌تر، عامل نمی‌تواند فقط یک بار یاد بگیرد و تمام؛ بلکه باید همیشه آماده باشد تا با تغییرات محیطی سازگار شود و بهترین تصمیم را بگیرد.

3. یادگیری مداوم

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

این بازخوردها ممکن است دیر به او برسند یا خیلی کم باشند.

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

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

دو مشخصه مهم در یادگیری تقویتی

دو مشخصه جستجو با آزمون و خطا و پاداش‌های تاخیردار دو ویژگی بسیار مهم در یادگیری‌تقویتی هستند .

به عنوان مثال، فرض کنید یک ربات در حال یادگیری نحوه حرکت در یک اتاق است. وقتی ربات به هدفش (مثلاً رسیدن به یک توپ) نزدیک می‌شود، یک پاداش (مثل یک علامت مثبت یا یک امتیاز) دریافت می‌کند. اما اگر به دیوار برخورد کند، تنبیه (مثل یک علامت منفی) خواهد شد .

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

اجزای کلیدی یک سیستم یادگیری تقویتی عبارتند از :

1.عامل (Agent) : موجودیتی که محیط خود را درک کرده ، تصمیم گیری می‌کند و با آن تعامل دارد .

2.محیط (Environment) :

تعاریف مختلف

هر چیزی که عامل برای رسیدن به هدف خود با آن تعامل می‌کند .

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

3.وضعیت (State) :

تعاریف مختلف

وضعیت فعلی محیط که توسط عامل درک می‌شود .

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

4.اقدام (Action) :

تعاریف مختلف

تصمیمات یا حرکت هایی که عامل می تواند بگیرد .

هر تصمیمی که یک عامل درمورد نحوه تعامل با محیط خود می‌گیرد .

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

5.پاداش (Reward) :

تعاریف مختلف

بازخورد محیط در پاسخ به اقدام عامل ، نشان دهنده موفقیت یا شکست عمل است.

بازخوردی که پس از هر اقدام از محیط به عامل باز می گردد. این به عامل کمک می کند تا خود را ارزیابی کند.

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

6.سیاست (Policy) :

تعاریف مختلف

استراتژی که عامل برای تعیین اقدامات خود بر اساس وضعیت فعلی استفاده می کند.

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

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

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

7.تابع ارزش (Value Function):

تعاریف مختلف

یک تابع که پاداش‌های آینده مورد انتظار را که می‌توان از هر وضعیت به دست آورد، تخمین می‌زند.

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

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

8.تابع Q (Q-Value(Action-Value)Function) :

تابعی که پاداش های مورد انتظار آینده را برای انجام یک اقدام خاص در یک وضعیت مشخص تخمین می زند.

Reinforcement learning in machine learning
تصویر2- یادگیری تقویتی در یادگیری ماشین
مثال عملیاتی از موارد بالا

بازی مار و پله ، در این بازی، هدف بازیکن این است که با انجام حرکات مناسب از خانه‌ی شروع (خانه‌ی ۱) به خانه‌ی پایان (خانه‌ی ۱۰۰) برسد. بازیکن باید تلاش کند از مارها دوری کرده و با استفاده از نردبان‌ها سریع‌تر به هدف برسد.

1.عامل (Agent)

عامل همان بازیکن است که در این بازی قصد دارد به خانه‌ی ۱۰۰ برسد. عامل تصمیم می‌گیرد چه اقدامی انجام دهد (برای مثال، حرکت به جلو در خانه‌ها).

2.محیط (Environment)

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

3.وضعیت (State)

هر خانه‌ای که بازیکن در آن قرار دارد، یک وضعیت محسوب می‌شود. به عنوان مثال، اگر بازیکن در خانه‌ی ۲۵ باشد، وضعیت فعلی او (خانه‌ی ۲۵) است. وضعیت‌ها می‌توانند اطلاعات بیشتری را نیز شامل شوند؛ مثلاً اینکه آیا بازیکن در نزدیکی یک مار یا نردبان قرار دارد.

4.اقدام (Action)

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

5.پاداش (Reward)

پاداش مقدار ارزشی است که عامل پس از انجام یک اقدام دریافت می‌کند. در این مثال، اگر عامل روی خانه‌ای بیفتد که او را به سمت نردبان بالا ببرد، پاداش مثبت می‌گیرد (مثلاً مثبت۱۰). اما اگر بر روی مار بیفتد و به خانه‌های پایین‌تر برگردد، پاداش منفی دریافت می‌کند (مثلاً منفی۱۰).

6.سیاست (Policy)

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

7.تابع ارزش (Value Function)

تابع ارزش به عامل کمک می‌کند تا بفهمد هر وضعیت چقدر خوب است. به عبارت دیگر، هر چه یک وضعیت به هدف نزدیک‌تر باشد، ارزش بیشتری خواهد داشت. برای مثال، خانه‌ی ۹۸ ارزش بیشتری نسبت به خانه‌ی ۵۰ دارد، زیرا به خانه‌ی ۱۰۰ نزدیک‌تر است.

8.تابع Q (Q-Function)

تابع Q شبیه به تابع ارزش است، اما به ترکیب وضعیت و اقدام توجه می‌کند. به عبارت دیگر، تابع Q به عامل می‌گوید که اگر در وضعیت فعلی یک اقدام خاص انجام دهد، چقدر احتمال دارد که به پاداش برسد. برای مثال، اگر عامل در خانه‌ی ۱۰ باشد و تاس بیندازد، تابع Q تخمین می‌زند که آیا این اقدام به اندازه‌ی کافی خوب است تا به خانه‌های بهتری برسد.

Snake and ladders in reinforcement learning
تصویر3- بازی مار و پله
مفاهیم کلیدی در یادگیری تقویتی

1. فرآیند تصمیم‌گیری مارکوف (Markov Decision Process (MDP))

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

2.اکتشاف (Exploration) و بهره‌برداری (Exploitation)

Exploration: به عاملی اشاره دارد که اقدامات جدیدی را برای کشف و جمع‌آوری اطلاعات بیشتر در مورد محیط انجام می‌دهد.

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

Exploitation: به عامل اشاره دارد که اقداماتی را انتخاب می کند که می داند بر اساس دانش فعلی خود بالاترین پاداش را به همراه خواهد داشت.

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

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

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

چرا تعادل مهم است ؟

Exploration , Exploitation in reinforcement learning
تصویر4- Exploration , Exploitation

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

کدام یک دید بیشتری به آینده دارد ؟

در یادگیری تقویتی، Exploitation بیشتر بر اساس تجربه‌های قبلی و پاداش‌های به دست آمده است، یعنی این رویکرد به نوعی گذشته‌نگر است. الگوریتم در این حالت از تصمیم‌هایی استفاده می‌کند که قبلاً پاداش‌های خوبی به همراه داشته‌اند. اما Exploration به آینده نگاه می‌کند؛ یعنی الگوریتم به جای تکیه بر تجربیات قبلی، به دنبال این است که اطلاعات بیشتری از محیط جمع کند تا در آینده تصمیمات بهتری بگیرد.

بنابراین، Exploration دید بیشتری به آینده دارد، زیرا به دنبال کشف احتمالات جدید و شاید بهتر است که ممکن است در آینده سودمند باشند.

3.سیگنال پاداش (Reward Signal)

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

4.سیاست (Policy)

یک سیاست رفتار عامل را با تبدیل وضعیت‌ها به اقدامات تعریف می‌کند. دو نوع سیاست وجود دارد:

سیاست قطعی: هر وضعیت را به یک اقدام خاص متصل می‌کند.

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

مثال: فرض کنید یک ربات در حال حرکت در یک اتاق است. اگر ربات در نزدیکی درب خروج قرار گیرد، طبق سیاست قطعی، همیشه از درب خارج می‌شود. بنابراین، در وضعیت «نزدیک درب خروج»، اقدام او «خروج از درب» است. این بدان معناست که او هیچ گزینه دیگری را در نظر نمی‌گیرد و همواره همین کار را انجام می‌دهد.

سیاست تصادفی: هر وضعیت را به یک توزیع احتمال بر روی اقدامات متصل می‌کند.

در این نوع سیاست، به هر وضعیت یک توزیع احتمال برای انتخاب اقدامات اختصاص داده می‌شود. به این معنا که عامل در هر وضعیت، با احتمال‌های مختلف ممکن است اقدام‌های متفاوتی را انتخاب کند.

مثال: فرض کنید یک ربات در یک اتاق با سه مسیر مختلف برای حرکت قرار دارد: راست، چپ و جلو. اگر ربات در وضعیت «نزدیک درب» قرار گیرد، ممکن است با ۵۰٪ احتمال به راست برود، با ۳۰٪ احتمال به چپ برود و با ۲۰٪ احتمال به جلو برود. در اینجا، هیچ تصمیم مشخصی وجود ندارد و انتخاب مسیر به صورت تصادفی و بر اساس این احتمال‌ها انجام می‌شود.

5.تابع ارزش (Value Function)

تابع ارزش، پاداش تجمعی مورد انتظار را برای هر وضعیت تخمین می‌زند و نشان می‌دهد که یک وضعیت از نظر پاداش‌های آینده چقدر ارزشمند است. این تابع به عامل کمک می‌کند تا اقداماتی را انتخاب کند که منجر به وضعیت‌هایی با پاداش‌های مورد انتظار بالاتر شود.

6.تابع Q (Q-Function (Action-Value Function)

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

تابع ارزش به دو نوع اصلی تقسیم می‌شود :

تابع ارزش وضعیت (V(s) یا Value Function) : این تابع ارزش هر وضعیت را بر اساس پاداش‌هایی که می‌توان از آن وضعیت به دست آورد تخمین می‌زند.

تابع ارزش عمل (Q(s,a) یا Q-Function (Action-Value Function)) : این تابع ارزش یک عمل خاص در یک وضعیت خاص را محاسبه می‌کند و نشان می‌دهد که انجام آن عمل در آن وضعیت چه مقدار پاداش به ارمغان می‌آورد.


ترتیبی که هوشینو برای خواندن مطالب یادگیری تقویتی به شما پیشنهاد می‌کند:

1.یادگیری تقویتی بخش اول

2.یادگیری تقویتی بخش دوم

3.یادگیری تقویتی بخش سوم

4.زنجیره مارکوف بخش اول

5.زنجیره مارکوف بخش دوم

6.زنجیره مارکوف بخش سوم

7.زنجیره مارکوف بخش چهارم

8.الگوریتم Q-Learning بخش اول

9.الگوریتم Q-Learning بخش دوم

10.الگوریتم Q-Learning بخش سوم

11.الگوریتم SARSA-بخش اول

12.الگوریتم SARSA-بخش دوم

13. تفاوت بین Q-Learning و SARSA