Питання щодо Q-навчання за допомогою нейронних мереж


14

Я реалізував Q-навчання, як описано в,

http://web.cs.swarthmore.edu/~meeden/cs81/s12/papers/MarkStevePaper.pdf

Для того, щоб прибл. Q (S, A) Я використовую нейронну мережеву структуру, як описано нижче,

  • Активація сигмоїдної
  • Входи, кількість входів + 1 для нейронів дії (масштабування всіх входів 0-1)
  • Виходи, один вихід. Q-значення
  • N кількість M прихованих шарів.
  • Метод дослідження випадковий 0 <rand () <propExplore

На кожній ітерації навчання, використовуючи наступну формулу,

введіть тут опис зображення

Я обчислюю значення Q-Target, а потім обчислюю помилку, використовуючи,

error = QTarget - LastQValueReturnedFromNN

і назад поширюють помилку через нейронну мережу.

Q1, я на правильному шляху? Я бачив деякі документи, що реалізують NN з одним вихідним нейроном для кожної дії.

Q2, моя функція нагородження повертає число від -1 до 1. Чи нормально повертати число від -1 до 1, коли функція активації сигмоподібна (0 1)

Q3, З мого розуміння цього методу з огляду на достатню кількість навчальних випадків, його слід зробити на карантині, щоб знайти оптимальну політику? Під час тренувань для XOR іноді він навчається після 2-х повторних ітерацій, іноді він не навчиться навіть після ітерацій 40k 50k.


З цікавості, як ви поєднали вхід стану з входом дії, щоб одночасно подати обидва в мережу? Чи є у вас цей фрагмент коду загальнодоступним? Дякую!
Педро Лопес

Відповіді:


9

Q1. Ви точно на правильному шляху, але кілька змін можуть допомогти неабияк. Деякі люди використовують один вихідний блок на дію, так що їм потрібно лише один раз запустити свою мережу для вибору дії (вам потрібно запустити свою мережу один раз для кожної можливої ​​дії). Але це не має значення для навчання , і його варто застосовувати лише в тому випадку, якщо ви плануєте значно розширити модель.

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

Q3. На жаль, теоретичних гарантій поєднання нейронних мереж (і нелінійного наближення функції в цілому) до вивчення підкріплення майже не існує. Існує декілька химерних версій підкріплення навчання (в основному з лабораторії Саттона), які дозволяють зробити такі типи конвергенції, які ви згадуєте, але я ніколи не бачив тих алгоритмів, що застосовуються "в дикій природі". Причиною цього є те, що, хоча не можна обіцяти високої продуктивності, вона, як правило, отримується на практиці, при належному увазі гіпер-параметрів та початкових умов.

Останнє значення, яке згадується для нейронних мереж взагалі: не використовуйте функції активації сигмоїдів для мереж з великою кількістю прихованих шарів! Вони прокляті проблемою "зникаючих градієнтів"; сигнал помилки навряд чи доходить до більш ранніх шарів (дивлячись на похідну функції, слід чітко пояснити, чому це так). Натомість спробуйте використовувати випрямлені лінійні одиниці (RELU) або "soft plus", оскільки вони, як правило, демонструють набагато кращі показники роботи в глибоких мережах.

Дивіться у цьому документі про чудове впровадження нейронних мереж, навчених підсиленням навчання:

Мних, Володимир та ін. "Гра в Атарі з глибоким підкріпленням навчання". переддрук arXiv arXiv: 1312.5602 (2013).


0

Для функції активації, maxout також добре працює. Використання належного тренера має вирішальне значення для глибоких мереж, я спробував різних тренерів, але вирішив дотримуватися RMSprop, і це чудово виглядає!


1
Ласкаво просимо на сайт, @ user3355911. Це, мабуть, занадто рідко, щоб відповісти тут. Чи можете ви її розширити і більше розім’яти?
gung - Відновіть Моніку
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.