یادگیری تفاوت زمانی

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

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

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

به بیان ریاضی، هم در رویکرد استاندارد و هم در رویکرد تفاوت زمانی، تلاش ما بر این است که تابع هزینه را که مرتبط با خطاهای ما در پیش‌بینی یک یا چند متغیر تصادفی [E[z است، بهینه‌سازی نماییم. حال آن که در رویکرد استاندارد به گونه‌ای فرض می نماییم که E[z]=z (که z همان متغیر مشاهده شده‌است) و در رویکرد TD از یک مدل استفاده می نماییم. برای حالت خاص در یادگیری تقویتی، که کاربرد عمده روش‌های تفاوت زمانی است، z همان بازگشت کل و [E[z با استفاده از معادله بلمن بازگشت داده شده‌است.

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

## الگوریتم تفاوت زمانی در علوم عصبی

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

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

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

## فرمول بندی ریاضی
فرض کنید  r_t  میزان تقویت در نقطه زمانی  *t *. همچنین فرض کنید  \bar V_t  پیش بینی صحیحی باشد که معادل حاصل جمع کاهش یافته تمامی مقادیر تقویت در آینده است. این کاهش توسط توان‌هایی از عامل  \gamma  به گونه‌ای انجام می‌شود که در نقاط زمانی دورتر، مقدار تقویت اهمیت کمتری دارد:

 \bar V_t = \sum_{i=0}^{\infty} \gamma^i r_{t+i} 

که در آن  0 \le \gamma .

این فرمول می‌تواند توسط تغییر نقطه شروع اندیس i به مقدار صفر گسترش یابد:

: \bar V_t = r_{t} + \sum_{i=1}^{\infty} \gamma^i r_{t+i} 

: \bar V_t = r_{t} + \sum_{i=0}^{\infty} \gamma^{i+1} r_{t+i+1} 

: \bar V_t = r_{t} + \gamma \sum_{i=0}^{\infty} \gamma^i r_{t+1+i} 

: \bar V_t = r_{t} + \gamma \bar V_{t+1} 

بنابراین، مقدار تقویت تفاوت میان پیش‌بینی ایده‌آل و پیش‌بینی فعلی است:

: r_{t} = \bar V_{t} - \gamma \bar V_{t+1} 

الگوریتم *TD-Lambda* یک الگوریتم یادگیری است که توسط Richard S. Sutton بر مبانی کارهای قبلی انجام شده توسط Arthur Samuel در یادگیری تفاوت زمانی ایجاد شده‌است. کاربرد معروفی از این الگوریتم توسط Gerald Tesauro برای ایجاد برنامه TD-Gammon بوده‌است. در واقع، این برنامه یاد می‌گیرد که تخته نرد را در سطح بازیکنان برجسته انسانی بازی کند. پارامتر \lambda همان پارامتر فروپاشی نشانه‌ها است که در آن 0 \le \lambda \le 1 برقرار است. هر چه قدر این پارامتر بیشتر تنظیم شود نشانه‌ها بیشتر باقی می‌مانند که این معادل آن است که هر چه مقدار \lambda بیشتر باشد، نسبت‌های تأثیری بیشتری از پاسخ‌های قبلی بر وضعیت‌ها و اعمال آینده دور تأثیر می‌گذارند. اگر مقداردهی \lambda = 1 انجام شود یک الگوریتم یادگیری موازی با الگوریتم‌های یادگیری تقویتی مونت کارلو ایجاد خواهد شد.

## پیش‌بینی در یادگیری تفاوت زمانی

هر دو روش الگوریتم مونت کارلو و یادگیری تفاوت زمانی از تجربه برای حل مسئله پیش‌بینی استفاده می‌کنند. با داشتن چند تجربه که یک سیاست  \pi  را در پیش دارند، هر دو روش تخمین  V  خود از مقدار  V(s_t)  را به دست می‌آورند. یک روش مونت کارلو ساده شامل تمامی ملاقات‌ها که برای محیط‌های ساکن مناسب است عبارت است از:

 V(s_t)= V(s_t)+\alpha[R_t-V(s_t)] 

که  R_t در آن میزان بازگشت واقعی پس از زمان  t  و  \alpha پارامتر اندازه قدم است. بر خلاف روش‌های مونت کارلو که عامل باید تا انتهای هر قسمت (episode) منتظر بماند تا میزان افزایش  V(s_t)  خود را محاسبه کند، در روش‌های تفاوت زمانی عامل تنها تا گام زمانی بعدی صبر می‌کند. در زمان  t+1  عامل‌های تفاوت زمانی، بلافاصله مقدار مطلوب خود را شکل می‌دهند و با استفاده از پاداش مشاهده شده  r_{t+1}  مقدار  V(s_{t+1})  خود را به هنگام رسانی می‌کنند. ساده‌ترین روش تفاوت زمانی که با عنوان TD(0)  شناخته می‌شود، عبارت است از:

 V(s_t)= V(s_t)+\alpha[r_{t+1}+\gamma V(s_{t+1})-V(s_t)] 

## به دست آوردن سیاست

ساده‌ترین نوع الگوریتم تفاوت زمانی، (0)TD، به صورت کاملاً رویه‌ای عمل می‌کند. معادلات زیر نحوه محاسبه  V^{\pi}(s)  را نشان می‌دهند. همچنین سودوکد الگوریتم (0)TD به صورت زیر ترسیم شده‌است.

 V^{\pi}(s)= E_{\pi}[R_t|s_t=s] 

 =V^{\pi}(s)= E_{\pi}[\sum_{k=0}^{\infty} \gamma^k r_{t+k+1}|s_t=s] 

 =V^{\pi}(s)= E_{\pi}[r_{t+1}+ \sum_{k=0}^{\infty} \gamma^k r_{t+k+2}|s_t=s] 

 =V^{\pi}(s)= E_{\pi}[r_{t+1}+ \gamma V^{\pi}(s_{t+1}) |s_t=s] 

## مقایسه کلی با روش‌های دیگر یادگیری تقویتی

بندانگشتی|چپ|alt=تصویری کلی از روش‌های یادگیری تقویتی.|تصویری کلی از روش‌های یادگیری تقویتی''.

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

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

## جستارهای وابسته
* یادگیری ماشینی
* هوش مصنوعی
* یادگیری تفاوت زمانی
* یادگیری تقویتی
* کیو-یادگیری
* SARSA
* Rescorla-Wagner model
* Adaptive Heuristic Critic
* PVLV

## یادداشت‌ها

## منابع برای مطالعه بیشتر
* مدل‌های به دست آمده از زمان برای تقویت پائولوفی

* یادگیری تفاوت زمانی و TD-Gammon

* یادگیری تقویتی در بازی‌های صفحه ای
Imran Ghory. Reinforcement Learning in Board Games.
* روش‌هایی برای شبکه‌های پیچیده
S. P. Meyn, 2007. Control Techniques for Complex Networks, Cambridge University Press, 2007. See final chapter, and appendix with abridged Meyn & Tweedie.

## پیوند به بیرون
* یادگیری تقویتی، نوشته شده توسط حامد عطیان فر https://web.archive.org/web/20110429001223/http://math.sharif.edu/%7Esystemtheory/s10.pdf
* یادگیری تقویتی در وب سایت رویاک https://web.archive.org/web/20111223031324/http://royak.ir/ai/116-reinforcement-learning.html
* صفحه اسکولارپدیا برای یادگیری تفاوت زمانی
Scholarpedia Temporal difference Learning
* گروه پژوهشی شبکه‌های تفاوت زمانی در دانشگاه آلبرتا
TD-Networks Research Group

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