در این مجموعه چهار قسمتی، به شما نشان خواهیم داد که فرآیند تصمیم گیری مارکوف چگونه انجام می شود و نظریه ریاضی که برای درک یادگیری تقویتی عمیق باید بدانید را به شما آموزش خواهیم داد.
این اولین مقاله از مجموعه چند قسمتی در مورد خودآموزی عامل های هوش مصنوعی یا – به بیان دقیق تر – یادگیری تقویتی عمیق است. هدف این مجموعه فقط ارائه یک نمای کلی نیست، بلکه ارائه کاوش عمیق تری از نظریه، ریاضیات و پیاده سازی محبوب ترین و مؤثرترین روش های یادگیری تقویتی عمیق است.
فهرست عناوین
یادگیری تقویتی عمیق در حال گسترش است. هیچ زیر شاخه دیگری از یادگیری عمیق به طور گسترده در سال های اخیر توسط محققان، بلکه در رسانه های عمومی به این اندازه مورد بحث قرار نگرفته است.
بیشترین دستاوردهای برجسته در یادگیری عمیق از طریق یادگیری تقویتی عمیق به لطف برنامه ی Alpha Go گوگل است که بهترین شطرنج باز انسان جهان را در بازی شطرنج چینی Go شکست داد (دستاوردی که چند سال قبل غیرممکن فرض می شد). این شطرنج باز در واقع به عوامل هوش مصنوعی DeepMind که می توانند به خود راه رفتن، دویدن و غلبه بر موانع را آموزش می دهند، شکست خورد(تصاویر زیر را ببینید).
از سال ۲۰۱۴، سایر عوامل هوش مصنوعی در انجام بازیهای قدیمی آتاری مانند Breakout از انسانها پیشی گرفته اند.
شگفتانگیزترین چیز در مورد همه این مثالها این واقعیت است که هیچ انسانی این عوامل هوش مصنوعی را برنامهریزی نکرده یا به صراحت آموزش نداده است. خود عوامل به وسیله ی قدرت یادگیری عمیق و تقویتی بازی کردن را یاد گرفته اند.
خب این فناوری چطور کار می کند؟ ما با نشان دادن پایه های ریاضی لازم برای مواجه شدن با امیدوار کننده ترین زمینه هوش مصنوعی یعنی یادگیری تقویتی عمیق شروع خواهیم کرد.
آموزش تقویتی عمیق چیست؟
میتوانیم یادگیری تقویتی عمیق را بهعنوان ساختن یک الگوریتم (یا یک عامل هوش مصنوعی) که مستقیماً از تعامل خود با محیط یاد میگیرد، معرفی کنیم (شکل زیر). محیط ممکن است دنیای واقعی، یک بازی کامپیوتری، یک شبیه سازی یا حتی یک بازی رومیزی مانند Go یا شطرنج باشد. مانند یک انسان، عامل هوش مصنوعی به جای اینکه به صراحت توسط یک برنامه نویس آموزش داده شود، از پیامدهای اعمال خود می آموزد. به عبارت دیگر، ممکن است بگویید این الگوریتم ها به روش آزمون و خطا یاد می گیرند.
در یادگیری تقویتی عمیق، یک شبکه عصبی، عامل هوش مصنوعی است. شبکه عصبی به طور مستقیم با محیط خود در تعامل است. شبکه وضعیت فعلی محیط را مشاهده می کند و بر اساس وضعیت فعلی و تجربیات گذشته خود تصمیم می گیرد که کدام اقدام را انجام دهد (مثلاً حرکت به چپ، راست و غیره). بر اساس اقدامی که عامل هوش مصنوعی انجام می دهد، ممکن است پاداش یا پیامدی دریافت کند. پاداش یا نتیجه صرفاً یک مقیاس است. پیامد منفی (مثلاً ۵-) در صورتی رخ می دهد که عامل ضعیف عمل کند و پاداش مثبت (مثلاً ۵+) در صورتی رخ می دهد که عامل خوب عمل کند.
کیفیت عمل مستقیماً با کمیت پاداش مرتبط است و میزان احتمال حل مشکل را پیش بینی می کند (مثلاً یادگیری نحوه راه رفتن). به عبارت دیگر، هدف یک عامل این است که یاد بگیرد در هر شرایطی اقداماتی را انجام دهد که پاداش انباشته شده را در طول زمان به حداکثر برساند.
فرآیند تصمیم گیری مارکوف
فرآیند تصمیم مارکوف (MDP)، یک فرآیند کنترل تصادفی گسسته زمان، بهترین رویکردی است که تاکنون برای مدلسازی محیط پیچیده یک عامل هوش مصنوعی داشتهایم. هر مسئله ای که عامل هوش مصنوعی قصد حل آن را دارد می تواند به عنوان دنباله ای از حالت ها در نظر گرفته شود: S1، S2، S3 … Sn (برای مثال، یک حالت ممکن است پیکربندی صفحه شطرنج یا بازی Go باشد). عامل اقداماتی را انجام می دهد و از حالتی به حالت دیگر حرکت می کند. در ادامه، ریاضیاتی را به شما نشان میدهم که تعیین میکنند عامل باید در هر موقعیتی کدام عمل را انجام دهد.
فرآیندهای مارکوف
فرآیند مارکوف (یا زنجیره مارکوف) یک مدل تصادفی است که دنباله ای از حالت های ممکن را توصیف می کند که در آن حالت فعلی فقط به حالت قبلی بستگی دارد. به این ویژگی مارکوف نیز می گویند (معادله ۱). برای یادگیری تقویتی، به این معنی است که وضعیت بعدی یک عامل هوش مصنوعی فقط به آخرین وضعیت بستگی دارد و نه همه حالت های قبلی قبل.
فرآیند مارکوف تصادفی است، به این معنی که انتقال از حالت فعلی (s) به حالت بعدی (‘s) تنها با احتمال مشخصی (‘Pss) اتفاق می افتد (معادله ۲). در فرآیند مارکوف، عاملی که به او گفته میشود به چپ برود، تنها با احتمال معینی مثلاً ۰٫۹۹۸ به چپ میرود. با چنین احتمال کمی، جایی که عامل در نهایت به پایان می رسد بستگی به محیط دارد – برای مثال، صفحه شطرنج و چیدمان مهره ها روی آن.
میتوانیم (‘Pss) را ورودی در ماتریس انتقال حالت (P) در نظر بگیریم که احتمالات انتقال را از همه حالتها به همه حالات جانشین (‘s) تعریف میکند (معادله ۳).
به یاد داشته باشید: فرآیند مارکوف یک تاپل <S, P> است. S مجموعه ای (متناهی) از حالات است. P یک ماتریس احتمال انتقال حالت است.
فرآیند پاداش مارکف
فرآیند پاداش مارکوف نیز یک تاپل <S, P, R> است. در اینجا R پاداشی است که عامل انتظار دارد در حالت s دریافت کند (معادله ۴). عامل هوش مصنوعی با این واقعیت انگیزه دارد که برای دستیابی به یک هدف خاص (مثلاً برنده شدن در یک بازی شطرنج)، حالت های خاص (پیکربندی های بازی) از نظر استراتژی و پتانسیل برای برنده شدن در بازی، امیدوارتر کننده تر از سایرین هستند.
موضوع اصلی مورد علاقه، پاداش کل Gt (معادله ۵) است، که پاداش انباشته مورد انتظاری است که عامل در سراسر توالی همه حالت ها دریافت می کند. ضریب تخفیف γ ∈ [۰، ۱] هر پاداش را می سنجد. ما پاداش های تخفیف را از نظر ریاضی راحت می دانیم زیرا انجام این کار از بازده بی نهایت در فرآیندهای چرخه ای مارکوف جلوگیری می کند. علاوه بر این، ضریب تخفیف به این معنی است که هر چه آینده را بیشتر در نظر بگیریم، اهمیت پاداش ها نسبت به رضایت فوری کمتر می شود، زیرا آینده اغلب نامشخص است. برای مثال، اگر پاداش مالی باشد، پاداشهای فوری ممکن است سود بیشتری نسبت به پاداشهای تاخیری داشته باشند.
تابع ارزش
مفهوم مهم دیگر مفهوم تابع مقدار v(s) است. تابع مقدار یک مقدار را برای هر حالت s ترسیم می کند. مقدار یک حالت s به عنوان پاداش کل مورد انتظاری است که عامل هوش مصنوعی در صورت شروع پیشرفت خود در حالت s (معادله ۶) دریافت می کند.
تابع مقدار را می توان به دو بخش تقسیم کرد:
- پاداش فوری R(t+1) که عامل در حالت s دریافت می کند.
- مقدار تنزیل شده v(s(t+1)) حالت بعدی بعد از حالت s.
معادله بلمن
معادله بلمن برای فرآیندهای پاداش مارکف
ما همچنین تابع ارزش تجزیه شده (معادله ۸) را به عنوان معادله بلمن برای فرآیندهای پاداش مارکوف می شناسیم. ما این تابع را با استفاده از گراف گره تجسم می کنیم (شکل ۶). شروع در حالت s منجر به مقدار v(s) می شود. با قرار گرفتن در حالت s، احتمال مشخصی (Pss) را داریم که به حالت بعدی s ختم شود. در این مورد خاص ما دو حالت بعدی ممکن داریم. برای به دست آوردن مقدار v(s) باید مقادیر v(s) حالت های بعدی احتمالی را که با احتمالات Pss وزن شده اند جمع کنیم و پاداش فوری قرار گرفتن در حالت s را اضافه کنیم. این معادله ۹ را به دست میدهد که اگر بخواهیم عملگر انتظار E را در معادله اجرا کنیم چیزی بیش از معادله هشت نیست.
فرآیند تصمیم گیری مارکوف در مقابل. فرآیند پاداش مارکف
فرآیند تصمیم گیری مارکوف یک فرآیند پاداش مارکوف با تصمیم گیری است. میتوانیم یک فرآیند تصمیمگیری مارکوف را با مجموعهای از تاپلهای <S,A,P,R> توصیف کنیم. در این مثال، A مجموعه محدودی از اقدامات ممکن است که عامل می تواند در حالت s انجام دهد. بنابراین، پاداش فوری از قرار گرفتن در حالت s در حال حاضر نیز به عملی که عامل در این حالت انجام می دهد بستگی دارد (معادله ۱۰).
سیاست ها (Policies)
بیایید ببینیم که چگونه نماینده تصمیم می گیرد که در یک وضعیت خاص چه اقدامی را انجام دهد. سیاست یا خط مشی π عمل را تعیین می کند (معادله ۱۱). از نظر ریاضی، یک خط مشی توزیعی است بر تمام اقدامات با توجه به یک وضعیت. این خط مشی نگاشت یک حالت را به عملی که عامل باید انجام دهد را تعیین می کند.
به عبارت دیگر، میتوانیم سیاست π را به عنوان استراتژی عامل برای انتخاب اقدامات خاص بسته به وضعیت فعلی توصیف کنیم.
این خط مشی منجر به تعریف جدیدی از تابع مقدار-state v(s) می شود (معادله ۱۲) که اکنون آن را به عنوان بازده مورد انتظار که از حالت s شروع می شود، و سپس از یک خط مشی π تعریف می کنیم.
تابع ACTION-VALUE
تابع مهم دیگری که باید یاد بگیریم تابع مقدار عمل q(s,a) است (معادله ۱۳)، یا بازده مورد انتظاری که با شروع در حالت s، انجام عمل a و سپس پیروی از یک خط مشی π بدست می آوریم. توجه داشته باشید که یک حالت s, q(s,a) می تواند چندین مقدار داشته باشد زیرا چندین عمل وجود دارد که عامل می تواند در حالت s انجام دهد.
شبکه عصبی Q(s,a) را محاسبه می کند. با در نظر گرفتن حالت s به عنوان ورودی، شبکه کیفیت هر اقدام ممکن در این حالت را به صورت اسکالر محاسبه می کند (شکل ۷). کیفیت بالاتر به معنای اقدام بهتر با توجه به هدف داده شده است.
به یاد داشته باشید: تابع Action-value به ما می گوید که انجام یک عمل خاص در یک حالت خاص چقدر خوب است.
قبلاً، تابع state-value v(s) را میشد به شکل زیر تجزیه کرد:
اکنون می توانیم همان تجزیه را برای تابع action-value اعمال کنیم:
در این مرحله، بیایید در مورد چگونگی ارتباط v(s) و q(s,a) با یکدیگر بحث کنیم. باز هم میتوانیم رابطه بین این توابع را به صورت زیر تجسم کنیم:
در این مثال، قرار گرفتن در حالت s به ما امکان می دهد دو عمل ممکن را انجام دهیم.a طبق تعریف، انجام یک عمل خاص در یک حالت خاص، مقدار عمل q(s,a) را به ما می دهد. تابع مقدار v(s) مجموع q(s,a) ممکن وزن شده با احتمال (که چیزی جز خط مش π نیست) انجام یک عمل در حالت s است (معادله ۱۶).
حال بیایید حالت مخالف را در شکل نهم در زیر در نظر بگیریم. ریشه درخت دودویی اکنون حالتی است که در آن ما یک عمل خاص را انتخاب می کنیم a. به یاد داشته باشید که فرآیندهای مارکوف تصادفی هستند. انجام یک اقدام به این معنا نیست که شما با اطمینان ۱۰۰ درصد به جایی خواهید رسید که می خواهید. به طور دقیق، شما باید احتمالات را در نظر بگیرید که پس از انجام اقدام به سایر حالت ها ختم شود.
در این مورد خاص، پس از انجام اقدام a، می توانید در دو حالت مختلف بعدی قرار بگیرید:
برای به دست آوردن مقدار عمل، باید ارزشهای حالت تنزیلشده را با احتمالات Pss در نظر بگیرید تا در تمام حالتهای ممکن (در این مورد فقط دو حالت) قرار گیرند و پاداش فوری را اضافه کنید:
اکنون که رابطه بین آن توابع را می دانیم می توانیم v(s) را از رابطه ۱۶ به q(s,a) از رابطه ۱۷ وارد کنیم. معادله ۱۸ را به دست می آوریم و متوجه می شویم که یک رابطه بازگشتی بین q(s,a) فعلی و عمل-مقدار بعدی q(s’,a’).
میتوانیم این رابطه بازگشتی را در درخت باینری دیگری تجسم کنیم (شکل ۱۰). با q(s,a) شروع می کنیم، با احتمال مشخصی Pss به حالت بعدی s ختم می کنیم. از آنجا میتوانیم یک عمل a’ با احتمال π انجام دهیم و با مقدار عمل q(s’,a’) پایان میدهیم. برای به دست آوردن q(s,a) باید در درخت برویم و همه احتمالات را همانطور که در رابطه ۱۸ می بینید ادغام کنیم.
سیاست بهینه
مهمترین موضوع مورد علاقه در یادگیری تقویتی عمیق، یافتن تابع ارزش عمل بهینه q* است. یافتن q* به این معنی است که عامل دقیقاً کیفیت یک عمل را در هر حالت مشخص می داند. علاوه بر این، عامل هوش مصنوعی می تواند تصمیم بگیرد که کدام اقدام را بر اساس کیفیت انجام دهد.
بیایید معنی q* را تعریف کنیم. بهترین تابع مقدار عمل ممکن تابعی است که از خط مشی پیروی می کند که مقادیر عملکرد را به حداکثر می رساند:
برای یافتن بهترین خط مشی ممکن، باید q(s, a) را حداکثر کنیم. حداکثر سازی به این معنی است که ما فقط عمل a را از بین تمام اقدامات ممکن که q(s,a) بالاترین مقدار را دارد انتخاب کنیم. این تعریف زیر را برای سیاست بهینه π به دست میدهد:
معادله بهینه بلمن
میتوانیم شرط سیاست بهینه را در معادله ۱۸ وارد کنیم، بنابراین معادله بهینهسازی بلمن را به ما ارائه میکنیم:
اگر عامل هوش مصنوعی بتواند این معادله را حل کند، اساساً به این معنی است که مشکل را در محیط داده شده حل کرده است. عامل در هر حالت یا موقعیتی کیفیت هر اقدام ممکن را با توجه به هدف می داند و می تواند مطابق با آن رفتار کند.
حل معادله بهینگی بلمن موضوع مقالات آینده این مجموعه خواهد بود. در بخش دوم، اولین تکنیک برای حل معادله به نام Deep Q-learning را نشان خواهیم داد.
2 نظر
دنبال کنید : نگاهی تخصصی به فناوری کیو-یادگیری عمیق - مجله شهاب
دنبال کنید : 5 پیش بینی در مورد هوش مصنوعی در سال 2022 - مجله شهاب