Я смотрел на обучение подкрепления и, в частности, пытался создавать свои собственные среды для использования с OpenAI Gym AI. Я использую агентов из проекта stable_baselines для тестирования с ним.
Одна вещь, которую я заметил практически во всех примерах RL, заключается в том, что ни в одной из сетей, кажется, никогда не было выпадающих слоев. Почему это?
Я создал среду, которая имитирует цены на валюту, и простого агента, использующего DQN, который пытается узнать, когда покупать и продавать. Обучив его почти миллиону шагов, взятых из определенного набора данных, состоящего из 5-минутных ценовых данных за один месяц, он, кажется, сильно подходит. Если я тогда оцениваю агентов и модель на основе данных за другой месяц, то это ужасно. Так звучит как классическое переоснащение.
Но есть ли причина, по которой вы не видите выпадающих слоев в сетях RL? Есть ли другие механизмы, чтобы попытаться справиться с переоснащением? Или во многих примерах RL это не имеет значения? Например, в игре «прорыв» может быть только один верный путь к максимальному результату, так что вы можете точно узнать это, и вам не нужно обобщать?
Или считается, что хаотическая природа самой среды должна обеспечивать достаточно разные комбинации результатов, чтобы вам не требовалось иметь выпадающие слои?
источник
Ответы:
Отсев по существу вносит немного больше дисперсии. В условиях контролируемого обучения это действительно часто помогает уменьшить переоснащение (хотя я считаю, что отсев также уже становится менее ... модным в последние годы, чем за несколько лет до этого; хотя я не уверен на 100%, это не моя основная задача Область знаний).
В обучении с подкреплением дополнительная разница не совсем то, что мы ищем. Уже есть тенденция к большой разнице в сигналах обучения, которые мы получаем, и эта разница уже имеет тенденцию быть основной проблемой стабильности обучения и / или скорости обучения. Например:
Многие важные части алгоритмов Deep RL (без которых наши эмпирические процессы обучения дестабилизируют и разрушают) очень сильно приспособлены для уменьшения этой дисперсии. Например, целевые сети в DQN были введены специально для уменьшения проблемы движущихся целей. С этой точки зрения, неудивительно, что если бы мы снова добавили больше искусственных отклонений с помощью других средств (таких как отсев), это повлияло бы на производительность / дестабилизировало обучение.
В большинстве текущих (глубоких) исследований в области изучения подкрепления переоснащение действительно не рассматривается как проблема. Подавляющее большинство исследований RL состоит из обучения в одной среде (например, Cartpole, или Breakout, или одного определенного уровня в Pacman, или навигации в одном конкретном лабиринте и т. Д.), И либо постоянной оценки эффективности в течение этого процесса обучения, либо оценки производительность после такого процесса обучения в той же среде .
Если бы мы сравнили эту методологию оценки с тем, что происходит в контролируемом обучении ... мы в основном оцениваем эффективность на тренировочном наборе * . В контролируемом обучении это было бы абсолютно неприемлемо, но в RL это очень воспринимается как приемлемое и скорее правило, чем исключение. Некоторые говорят, что это просто проблема в современных исследованиях РС, которая должна измениться. Можно также утверждать, что это не обязательно проблема; если мы действительно можем обучить агента точно в той же среде, в которой мы хотим развернуть его позже ... ну, тогда в чем проблема с его адаптацией к этой среде?
Таким образом, когда мы используем методологию оценки, описанную выше, мы действительно адаптируемся к одной конкретной среде, но в соответствии с нашими критериями оценки перенастройка является хорошей, а не плохой . Ясно, что эта методология не приводит к агентам, которые могут хорошо обобщать, хотя; если вы постоянно обучаете агента ориентироваться в одном конкретном лабиринте, он, скорее всего, не сможет ориентироваться в другом лабиринте после тренировки.
* Примечание: правда, на мой взгляд, немного более тонкая, чем то, что мы действительно «оцениваем на тренировочном наборе» в RL. См., Например, эту красивую ветку твитов: https://twitter.com/nanjiang_cs/status/1049682399980908544
Обратите внимание, что ваша методология оценки, описанная здесь, действительно больше не соответствует более «общей» методологии оценки. У вас есть проблема с понятием дрейфа концепции , с нестационарностью в окружающей среде. Это означает, что переоснащение может быть проблемой для вас.
Тем не менее, я не уверен, поможет ли отсев (это все еще дополнительная дисперсия, которая может повредить). Прежде всего, вы хотели бы убедиться, что есть какой-то способ отслеживать время / месяц в ваших входах, так что у вас по крайней мере будет возможность изучить политику, которая адаптируется со временем. Если у вас есть четкая, прочная граница между «фазой обучения» и «фазой оценки», и вы знаете, что смещение концепции происходит через эту границу (вы знаете, что ваша среда ведет себя по-другому на этапе обучения по сравнению с фазой оценки) ... вы на самом деле у нас нет особой надежды на изучение политики только из опыта на этапе обучения, который все еще хорошо работает на этапе оценки. Я подозреваю, что вам придется избавиться от этой четкой, твердой границы. Вы' Я хочу продолжать обучение на протяжении фазы оценки. Это позволяет вашему алгоритму обучения фактически накапливать опыт в измененной среде и адаптироваться к нему.
источник