• هیچ محصولی در سبد خرید نیست.

Q-Learning بخش ۲ (یک مثال):

در این قسمت الگوریتم Q-Learning را با یک مثال توضیح می دهیم.

در شکل زیر agent که یک نقطه است از قسمت Starting Point شروع به حرکت در مسیری که موانعی نیز دارد می کند تا به قسمت Ending Point برسد. Agent باید با پیمودن کمترین مسافت این مسیر را بدون برخورد با هیچ یک از موانع ها طی کند.

برای راحت تر شدن کار ما این بخش در یک محیط جدول بندی شده توضیح داده می شود.

Q-Learning

معرفی Q-Table

Q-Table یک ساختمانی از داده هاست که حداکثر پاداش مورد انتظار در آینده را برای هر اقدام در هر نوع حالتی که در آن قرار گرفته باشد محاسبه می کند. در واقع این Table(جدول)به ما برای بدست آوردن بهترین عملکرد در هر حالت کمک می کند. برای یادگیری هر مقدار از Q-Table ، الگوریتم Q-Learning استفاده می شود.

تابع Q یا Q-Function

تابع Q از معادله بلمن استفاده می کند و دو ورودی می گیرد: (state (s و (action(a.

Q-Learning

معادله بلمن

فرایند الگوریتم Q-Learning

Q-Learning

قدم اول :ساخت Q-Table اولیه

ابتدا Q-Table باید ساخته شود. در کل n ستون وجود دارد که نشان دهنده اقدامات است. و همچنین m ردیف وجود دارد که نشان دهنده حالت هاست.

در مثال ما n = حرکت به بالا ، حرکت به پایین، حرکت به راست و حرکت به سمت چپ است. و m = شروع ، بیهوده ، مسیر درست ، مسیر غلط و پایان می باشد و مقادیر را از صفر شروع می کنیم.

Q-Learning

قدم دوم : انتخاب کردن یک عملیات یا اقدام

قدم سوم : انجام دادن عملیات یا اقدام

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

ابتدا یک اقدام در یکی از حالات بر پایه Q-Table انتخاب می شود. در نظر داشته باشید که همانطور که گفته شد، وقتی که الگوریتم شروع به کار می کند هر یک از مقادیر Q -Table باید ۰ باشد.

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

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

در طی فرایند یادگری ، agent به تدریج در تخمین زدن مقادیر Q با اطمینان بیشتر عمل می کند.

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

Q-Learning

حال ما می توانیم مقادیری که در Q-Table هستند یا Q-Value ها را در مسیر حرکت درست با استفاده از معادله بلمن بروزرسانی کنیم.

Q-Learning

قدم چهارم : محاسبه پاداش ها

اکنون ما اقداماتی انجام دادیم که نتیجه و پاداش هایی را در بر داشت.

قدم پنجم: ارزیابی

در این قسمت ما نیاز داریم که تابع (Q(s,a را بروزرسانی کنیم.

این فرایند آنقدر تکرار می شود تا یادگیری متوقف شود. در این حالت Q-Table بروز رسانی شده است و تابع مقدار Q به حداکثر رسیده است. در اینجا (Q(state , action پاداش بعدی هر عمل در یک حالت را بر می گرداند.

agent در RL چیست؟

تیر ۲۹, ۱۳۹۹
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

درباره ما

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

 

logo-samandehi

[form to=”[email protected]” subject=”Subject”] [form_element type=”text” validate=”email” options=”” placeholder=”ایمیل”] [form_element type=”submit” validate=”” options=”” placeholder=”ارسال”] [/form]

 

 

X