Що таке "перегляд досвіду" та які його переваги?


19

Я читав статтю Google DeepMind Atari і намагаюся зрозуміти поняття "перегляд досвіду". Повтор досвіду з'являється у багатьох інших навчальних роботах з підкріпленням (зокрема, папері AlphaGo), тому я хочу зрозуміти, як це працює. Нижче наведено кілька уривків.

По-перше, ми використовували біологічно натхненний механізм, який називають переглядом досвіду, який рандомізує дані, тим самим видаляючи кореляції в послідовності спостереження і згладжуючи зміни в розподілі даних.

Далі в статті йдеться про наступне:

Хоча існують інші стабільні методи для навчання нейронних мереж у навчальних умовах посилення, такі як нейронна Q-ітерація, ці методи включають неодноразове навчання мереж де- сотень ітерацій. Отже, ці методи, на відміну від нашого алгоритму, занадто неефективні, щоб успішно їх застосовувати у великих нейронних мережах. Параметризуємо функцію наближеного значення Q(s,a;θi) використовуючи глибоку згорнуту нейронну мережу, показану на рис. 1, в якій θi - параметри (тобто ваги) Q-мережі при ітерації i . Щоб виконати перегляд досвіду, ми зберігаємо досвід агентаet=(st,at,rt,st+1) на кожному кроціt у наборі данихDt={e1,,et} . Під час навчання ми застосовуємо оновлення Q-навчання на зразках (або міні-партіях) досвіду(s,a,r,s)U(D), намальовані рівномірно випадково з пулу зберігаються зразків. Оновлення Q-навчання на ітерації i використовує таку функцію втрат:

Li(θi)=E(s,a,r,s)U(D)[(r+γmaxaQ(s,a;θi)Q(s,a;θi))2]

Що таке перегляд досвіду та які його переваги, з точки зору мирян?

Відповіді:


25

Ключовою частиною цитованого тексту є:

Для виконання перегляду досвіду ми зберігаємо досвід агентаet=(st,at,rt,st+1)

Це означає, що замість того, щоб проводити Q-навчання на парах стану / дій, як вони виникають під час моделювання чи фактичного досвіду, система зберігає дані, виявлені для [стан, дія, винагорода, наступна_держава] - як правило, у великій таблиці. Зауважте, що це не зберігає пов'язані значення - це вихідні дані, які слід подавати в розрахунки значення і значення пізніше.

Фаза навчання логічно відокремлюється від набуття досвіду та заснована на взятті випадкових зразків з цієї таблиці. Ви все ще хочете поєднати два процеси - дію та навчання - тому що вдосконалення політики призведе до різної поведінки, яка повинна досліджувати дії, наближені до оптимальних, і ви хочете вчитися на цьому. Однак ви можете розділити це як завгодно - наприклад, зробити один крок, вчитися на трьох випадкових попередніх етапах і т. Д. Цілі Q-навчання при використанні перегляду досвіду використовують ті ж цілі, що і в онлайн-версії, тому нової формули для цього немає. Наведена формула втрат також та, яку ви використовували б для DQN без перегляду досвіду. Різниця полягає лише в тому, що s, a, r, s ', a' ви в неї подаєте.

У DQN команда DeepMind також підтримувала дві мережі та перемикала, яка навчається, а яка подає в поточних оцінках, що оцінюються як "завантажувальні". Це допомогло стабільності алгоритму при використанні нелінійного аппроксиматора функції. Ось що означає смугу в - вона позначає альтернативну заморожену версію ваг.θi ¯

Переваги перегляду досвіду:

  • Ефективніше використовувати попередній досвід, вивчаючи його кілька разів. Це важливо, коли набуття досвіду в реальному світі коштує дорого, ви можете повністю використовувати його. Оновлення Q-навчання є поступовими і швидко не зближуються, тому багаторазові передачі з однаковими даними вигідні, особливо коли є низька дисперсія в негайних результатах (винагорода, наступний стан) за умови того ж стану, пари дій.

  • Краща конвергенційна поведінка під час тренування функціонального адаптатора. Частково це відбувається тому, що дані більше схожі на iid дані, прийняті в більшості контрольованих доказів конвергенції навчання.

Недолік перегляду досвіду:

  • Важче використовувати багатоступеневі алгоритми навчання, такі як Q ( ), які можна настроїти, щоб дати кращі криві навчання, балансуючи між ухилом (через завантаження) та дисперсією (через затримки та випадковість у довгострокових результатах ). Багатоступеневий DQN з повторним відтворенням DQN є одним із розширень, що досліджуються у статті Веселка: Поєднання вдосконалень у навчанні з глибокого зміцнення .λ

Девід Сілвер коротко окреслив підхід, використаний у DQN, у частинах цієї відео лекції (близько 01:17:00, але варто ознайомитись із розділами перед нею). Рекомендую переглянути цілу серію, яка є випускницьким курсом з підсилення навчання, якщо у вас є час.


Скажімо, під час тренінгу ми перебуваємо в одній державі, і ми вживаємо заходів відповідно до жадної політики epsilon, а ви опиняєтесь в іншій державі. Так ви отримуєте винагороду і наступну державу. Тут нагородою може бути оцінка гри, а стани можуть бути піксельними візерунками на екрані. І тоді ми приймаємо помилку між нашим функцією aproximator та значенням, яке ми отримали від жадної політики знову, використовуючи вже заморожений аппроксиматор функції. Але при повторному досвіді при оптимізації аппроксиматора ми приймаємо деякий набір даних про випадкові стани. Я правий ?
Шаман Сірівардхана

1
@ShamaneSiriwardhana: Так, я думаю, ти маєш рацію. Це цілком ті самі дані з реальної траєкторії, але замість того, щоб вивчати лише останній крок, ви зберігаєте їх у великій таблиці та вибираєте з неї таблицю (як правило, декілька зразків, з якої зберігається 1000 тисяч попередніх кроків) ). Якщо вам потрібно більше роз’яснень, то, можливо, задайте питання на сайті.
Ніл Слейтер

Так, я знову переглянув папір. Він також говорить, що цей метод також може покращити позаурочне навчання. Тому що в навчанні Q з діями відповідно до жадної політики epsilon, але оновлення значень функціонує відповідно до жадної політики. Отже, коли кожен крок наші параметри нейронної сітки оновлюються міні-пакетною статистикою, що важливіше не пов’язано з точною статистикою крокового періоду, але те, що відбулося до цього, також допомагає не корегувати дані.
Shamane Siriwardhana

@Neil Slater, я ознайомився з документом «Веселка» і не побачив особливих коментарів щодо використання спеціального трюку для поєднання досвіду повторної роботи та багатошагового методу. Також я чув, що багатоступеневий метод спочатку неможливо поєднати з повтором досвіду, але чому б просто не випадково вибрати n-послідовний досвід замість 1 із досвіду повторного відтворення, а від повторного, щоб між кожним n-досвідом не було знайдено кореляцій? Чи не повторюється цей багатокроковий досвід?
StL

@NeilSlater Чому "складніше використовувати багатошагові алгоритми навчання"? Що ти маєш на увазі?
Гульзар
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.