Чому для DQN потрібні дві різні мережі?


12

Я проходив цю реалізацію DQN і бачу, що на лінії 124 і 125 ініціалізуються дві різні мережі Q. З мого розуміння, я думаю, що одна мережа прогнозує відповідні дії, а друга мережа прогнозує цільові значення Q для знаходження помилки Беллмана.

Чому ми не можемо просто створити одну єдину мережу, яка просто прогнозує значення Q і використовувати її для обох випадків? Я найкраще здогадуюсь, що це було зроблено для скорочення часу на обчислення, інакше нам доведеться з'ясувати значення q для кожної дії, а потім вибрати найкраще. Це єдина причина? Я щось пропускаю?

Відповіді:


9

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

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

Я щось пропускаю?

Це пов'язано зі стабільністю алгоритму Q-навчання при використанні наближення функції (тобто нейронної мережі). Використання окремої цільової мережі, що оновлюється кожні стільки кроків із копією останніх вивчених параметрів, допомагає утримати ухил від завантажувального завантаження від домінування в системі чисельно, викликаючи розбіжність оцінених значень Q.

Уявіть, що одна з даних (at S, A, R, S') спричиняє погіршення в даний час поганої завищеної оцінки Q(S', A'). Можливо, S', A'його ще не відвідували, або значення Rпобаченого поки що вище середнього, лише випадково. Якщо зразок (S,A)зіткнувся кілька разів під час повторної повторної роботи, воно щоразу погіршуватиметься, оскільки оновлення до Q(S,A)базується на R + max_a Q(S',a). Фіксація цільової мережі обмежує шкоду, яку можуть нанести такі завищені оцінки, надаючи навчальній мережі час конвергенції та втратити більше своїх початкових ухилів.

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

Також можна мати DQN з "подвійним навчанням" для вирішення окремого питання: Максимізація зміщення. У цьому випадку ви можете побачити реалізацію DQN з 4 нейронних мереж.


Для додаткового читання можна звернутися до aaai.org/ocs/index.php/AAAI/AAAI16/paper/download/12389/11847
amitection
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.