Почему вы не видите выпадающих слоев на примерах обучения подкреплению?


13

Я смотрел на обучение подкрепления и, в частности, пытался создавать свои собственные среды для использования с OpenAI Gym AI. Я использую агентов из проекта stable_baselines для тестирования с ним.

Одна вещь, которую я заметил практически во всех примерах RL, заключается в том, что ни в одной из сетей, кажется, никогда не было выпадающих слоев. Почему это?

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

Но есть ли причина, по которой вы не видите выпадающих слоев в сетях RL? Есть ли другие механизмы, чтобы попытаться справиться с переоснащением? Или во многих примерах RL это не имеет значения? Например, в игре «прорыв» может быть только один верный путь к максимальному результату, так что вы можете точно узнать это, и вам не нужно обобщать?

Или считается, что хаотическая природа самой среды должна обеспечивать достаточно разные комбинации результатов, чтобы вам не требовалось иметь выпадающие слои?


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

Нил, да, кажется, что твой опыт там повторяет то, что сказано ниже Деннисом. Как я и ожидал, в сценарии типа «решить эту головоломку» вы действительно хотите переодеться, поскольку хотите решить эту конкретную головоломку. И вы хотите знать, встречаете ли вы синего пришельца против красного пришельца, поскольку они могут вести себя по-разному в вашей игре.
Мэтт Гамильтон

@MattHamilton Я только что случайно увидел поток твитов, которые кто-то написал по поводу истории «Исследователи ЛР оценивают по данным обучения». Я отредактировал ссылку на это в своем ответе. Суть в том, чтобы ответить на ваш вопрос, остается той же, но я согласен с цепочкой твитов, с которыми я связан, что правда немного более нюансирована.
Деннис Соемерс

Ответы:


11

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

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

  • Случайность в выборе действий приводит к дисперсии в доходах, которые мы наблюдаем
  • Может быть случайность, присущая самой среде, что приводит к дополнительной дисперсии в наших наблюдениях (некоторые среды недетерминированы)
  • r+maxaQ(s,a)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 для более общих условий. Если вы заинтересованы в этом материале, вам нужно искать комбинации «Передача обучения» и «Укрепление обучения», или такие вещи, как Multi-Task RL (Multi-Objective RL также может быть интересным, но, вероятно, немного отличается ). Такие усилия все еще имеют тенденцию быть значительно менее эффективными, чем традиционный подход обучения и оценки в одной среде за один раз.
Деннис Соемерс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.