Чому ви не бачите шарів, що відпадають, на прикладах навчання з підкріпленням?


13

Я дивився на навчання з підкріпленням, а конкретно - займався створенням власних середовищ для використання з AI OpenAI Gym AI. Я використовую агенти проекту stable_baselines для тестування з ним.

Одне, що я помітив практично у всіх прикладах RL, - це те, що ніколи не буває жодних шарів відсіву в будь-якій з мереж. Чому це?

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

Але чи є причина, чому ви не бачите випадаючих шарів у мережах RL? Чи існують інші механізми, щоб спробувати боротися з надмірним приладом? Або в багатьох прикладах RL це не має значення? наприклад, може бути лише один справжній шлях до максимально високого балу в грі «прорив», тож ви могли б точно так само навчитися, і не потрібно узагальнювати?

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


1
Ви спробували додати відмову в мережу RL, щоб побачити, що відбувається? У мене є (для вирішувача LunarLander_v2, який працює добре в іншому випадку), і результати були жахливими, він переходить від вирішення в 400 серіях, до повного невдалого вирішення його коли-небудь (і я спробував безліч варіацій в інших парамах). Інша регуляризація в порядку, і навіть корисна. Я ще не знаю, чому проблеми з випадом, але думав задати тут питання. . .
Ніл Слейтер

Ніл, так, здається, що ваш досвід там перегукується з тим, що сказано нижче Деннісом. Як я і очікував, у сценарії типу "вирішити цю головоломку" ви дійсно хочете переоцінити, як ви хочете вирішити цю конкретну головоломку. І ви хочете дізнатися, чи стикаєтесь ви з синім прибульцем проти червоного прибульця, оскільки вони можуть поводитися по-різному у вашій грі.
Метт Гамільтон

@MattHamilton Я щойно побачив нитку твітів, які хтось зробив про історію "Дослідники RL оцінюють дані тренінгу". Я відредагував посилання на це у своїй відповіді. Справа все одно в тому, що стосується відповіді на ваше запитання, але я погоджуюся з ланцюжком твітів, з якими я пов’язаний там, що правда трохи більш нюансована.
Денніс Сомерс

Відповіді:


11

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

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

  • Випадковість у виборі дій призводить до розбіжності у віддачі, яку ми спостерігаємо
  • Можливо, випадковість, властива самому середовищу, призводить до додаткової розбіжності в наших спостереженнях (деякі середовища недетерміновані)
  • На відміну від налаштувань контрольованого навчання, у навчанні для посилення ми часто використовуємо власні прогнози як частину сигналу втрати / тренувального сигналу. Наприклад, у часово-різницькому навчанні (як Q-навчання / DQN) мета, яку ми оновлюємо, виглядає якr+макса'Q(с',а'). У цьому терміні лише тоrце спостереження за основними істинами (як ми використовували б у контрольованому навчанні), а інший термін - це наше власне передбачення. Під час навчального процесу ці останні частини (наші власні прогнози) змінюються з часом. Це проблема " рухомої цілі ", яку можна розглядати як додаткову дисперсію в наших сигналах навчання.

Багато важливих частин алгоритмів Deep RL (без яких наші тренувальні процеси емпірично виявляються дестабілізуватися та руйнуються) дуже пристосовані до зменшення цієї дисперсії. Наприклад, цільові мережі в DQN були введені спеціально для зменшення проблеми, що рухається. З цієї точки зору, не дивно, що якби ми знову додавали більше штучної дисперсії за допомогою інших засобів (наприклад, випадання), це може зашкодити навчанню / дестабілізації навчання.


Чи існують інші механізми, щоб спробувати боротися з надмірним приладом? Або в багатьох прикладах RL це не має значення? наприклад, може бути лише один справжній шлях до максимально високого балу в грі «прорив», тож ви могли б точно так само навчитися, і не потрібно узагальнювати?

У більшості нинішніх (глибоких) досліджень із посилення навчання, переозброєння дійсно не розглядається як проблема. Переважна більшість RL-досліджень складається з тренувань в одному середовищі (наприклад, Cartpole, Breakout, або одного певного рівня в Pacman, або навігації в одному конкретному лабіринті тощо), або або постійно оцінюючи ефективність під час цього навчального процесу, або оцінюючи продуктивність після такого процесу навчання в тому ж середовищі .

Якби ми порівнювали цю методологію оцінювання з тим, що відбувається в контрольованому навчанні ... ми в основному оцінюємо результативність на навчальному наборі * . У навчанні під керівництвом це було б абсолютно неприйнятно, але в RL це дуже сприймається як прийнятне і більше правило, ніж виняток. Деякі кажуть, що це просто проблема в сучасних дослідженнях РЛ, те, що потрібно змінити. Можна також стверджувати, що це не обов'язково проблема; якщо ми справді здатні навчити агента в точно такому ж середовищі, яке ми хотіли б згодом його розгорнути ... ну, в чому ж проблема в тому, що він відповідає цьому середовищу?

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

* Зауважте: правда, на мою думку, дещо більш нюансована, ніж те, що ми насправді "оцінюємо на тренувальному наборі" в RL. Дивіться, наприклад, цю приємну нитку твітів: https://twitter.com/nanjiang_cs/status/1049682399980908544


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

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

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


1
Деннісе, дуже дякую за дуже детальну відповідь! Багато що підтверджує, я думаю, що я підозрюю: тобто більше RL намагається вирішити дуже конкретну проблему в конкретному середовищі, в якому часто існує одне чітке "найкраще" рішення цієї проблеми.
Метт Гамільтон

2
@MattHamilton Зауважте, що є дослідження щодо RL для більш загальних середовищ. Якщо вас цікавить цей матеріал, ви захочете шукати комбінації "Трансферне навчання" та "Підсилення навчання", або такі речі, як багатозадачна RL (Multi-Objective RL також може бути цікавим, але, ймовірно, трохи іншим ). Ці види зусиль, як і раніше, є значно менш ефективними, ніж традиційний підхід навчання та оцінювання в одному середовищі, але одночасно.
Денніс Сомерс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.