سلام
لطفا لینک مقالات رو هم قرار بدید که دوستان استفاده بکنن
ایده اصلی Double Q Learning تا جایی که می دونم به این مقاله سال 2010 بر میگرده
> https://papers.nips.cc/paper/3964-double-q-learning
و ایده Double DQN هم ماله این مقالست
> https://arxiv.org/abs/1509.06461
اگر که از نظر تاریخی یا پیش زمینه مشکلی هست لطفا بهم بگید.
خلاصه بحث اینه که ما توی Q Learning قراره که Q(s,a) رو یاد بگیریم، یه روش اینه که جدول داشته باشیم از همه s ها و a ها و مقادیر Q متناظر اونها، که به جز در موارد خیلی خاص و نمایشی، نمی شه از این روش استفاده کرد
یه روشش هم اینه که خوده Q(s,a) رو به عنوان یه تابع در نظر بگیریم و مثل رگرسیون بخوایم تقریبش بزنیم
حالا تقریب زدنش روشهای مختلف داره مثلا بگیم که
Q(s,a) = w0 + w1a + w2s + w3sa
که فقط یه مثاله که موضوع روشن بشه. حالا باید w ها رو بر اساس دادههای آموزشی که داریم یاد بگیریم
یه روش دیگه اینه که یه شبکه عصبی train کنیم که s و a بدیم، شبکه بهمون Q متناظر رو بگه
قبلنا خیلی سخت بوده این کار و شبکه خوب train نمی شده و .... اما بعد از اینکه Deep Q Learning مطرح شده، با یه سری ایده فهمیدن که اتفاقا خیلی هم خوب میشه از شبکه عصبی برای یاد گرفتن تابع Q استفاده کرد (که به این روش می گیم DQN)
تا اینجا خلاصه ای از بحث Q Learning و بعدش هم DQN
حالا خوده Q Learning انواع روشها داره که یکیش همین روش Double Q Learning ه که از یه Double Estimator به جای max خالی توی محاسبه Q استفاده می کنه (الگوریتم و توضیح مقاله اول رو ببینید)
حالا همین ایده رو همون آدم های مقالهی اول برداشتن، با ایده استفاده از شبکه عصبی (یعنی همون DQN) ترکیبش کردن، بهش گفتن Double DQN (مقاله دوم)
خلاصش اینه که تفاوت Double Q Learning معمولی و Double DQN، در روش تقریب تابع Q شونه که اولی از روشهای قدیمی Reinforcement learning استفاده می کنه(که توی مقاله سال 2010 از حالت جدولی استفاده کردن)، دومی از شبکههای عمیق