Чому Q-Learning використовує жадібний епсілон під час тестування?


18

У статті DeepMind про Deep Q-Learning для відеоігор Atari ( тут ) вони використовують метод жадібного епсилону для дослідження під час тренувань. Це означає, що коли в тренінгу вибирається дія, вона вибирається як дія з найвищим значенням q, або випадкова дія. Вибір між цими двома є випадковим і ґрунтується на значенні epsilon, а epsilon підпалюється під час тренінгу таким чином, що спочатку робиться багато випадкових дій (розвідка), але в міру прогресування тренінгу робиться багато дій з максимальними значеннями q (експлуатація).

Потім, під час тестування, вони також використовують цей жадний епсілон метод, але з епсилоном за дуже низьким значенням, таким чином, що існує сильний ухил до експлуатації над розвідкою, що сприяє вибору дії з найвищим значенням q над випадковою дією. Однак випадкові дії все ще іноді вибираються (5% часу).

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

Спасибі!


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

Відповіді:


10

У природознавчому документі вони згадують:

Навчені агенти оцінювались, граючи кожну гру 30 разів протягом 5 хв щоразу при різних початкових випадкових умовах ("noop"; див. Розширені таблиці даних 1) та е-жадібній політиці з epsilon 0,05. Ця процедура прийнята для мінімізації можливості перевиконання під час оцінювання.

Я думаю, що вони означають «звести нанівець негативні наслідки над / під пристосування». Використання epsilon 0 - це повністю експлуатуючий (як ви вказуєте) вибір і робить чітку заяву.

Наприклад, розглянемо гру-лабіринт, в якій поточні Q-оцінки агента сходяться до оптимальної політики, за винятком однієї сітки, де він жадібно вирішує рухатись до межі, в результаті чого він залишається в тій же сітці. Якщо агент досягне будь-якого такого стану, і він обирає дію Max Q, він буде застряг там на вічність. Однак, невизначено дослідницький / стохастичний елемент у своїй політиці (як невелика кількість епсилону) дозволяє йому вийти з таких станів.

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



2

Я думаю, що мета тестування - зрозуміти, як система реагує в реальних ситуаціях.


ϵ

Варіант 2:
Якщо вони турбуються про те, що вони будуть крихкими, граючи проти менш "чистого раціонального" гравця, то вони можуть "відпалити" свої тренувальні бали, щоб не переоцінювати їх.

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

Варіант 4:
Вони могли використовувати повторні тести та різні значення епсилону, щоб перевірити, скільки «жиру» залишилося в системі. Якщо б у них була слабка рандомізація або стільки вибірок, що навіть справедлива рандомізація починає повторюватися, то метод міг би "навчитися" неправдивій поведінці з метою псевдовипадкових упереджень. Це може дозволити перевірити це на етапі тестування.

Я впевнений, що є півдесятка інших значущих причин, але це було те, що я міг придумати.

EDIT: зауважте, я дуже люблю "крихку" думку. Я думаю, це може бути екзистенційна слабкість проміжного ШІ першого покоління.


1

ϵ

ϵϵ=0,05

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

ϵϵ=0під час тестування потенційно можна було б покращити продуктивність, але справа тут у тому, щоб показати здатність до генералізації. Крім того, у більшості ігор «Атарі» держава також розвивається без виходу, і агент, природно, може «відклеїтись», якщо це колись трапиться. Розглядаючи інший згаданий приклад лабіринту, коли навколишнє середовище не розвивається в режимі безвідмовної роботи, агент швидко дізнається, що набігати на стіну - це не дуже гарна ідея, якщо винагорода формується належним чином (-1 за кожен крок, наприклад); особливо при використанні оптимістичних початкових значень необхідне дослідження відбувається природним шляхом. Якщо ви все-таки знайдете свій алгоритм, який коли-небудь застрягне в деяких ситуаціях, то це означає, що вам потрібно збільшити час навчання (тобто запустити більше епізодів), а не вводити додаткову рандомізацію стосовно дій.

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

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