Насколько эффективно Q-learning с нейронными сетями, когда на одно действие приходится одна единица вывода?


9

Справочная информация:
я использую приближение Q-значения нейронной сети в моей задаче обучения подкрепления. Подход точно такой же, как описанный в этом вопросе , однако сам вопрос другой.

В этом подходе количество выходов - это количество действий, которые мы можем предпринять. Иными словами, алгоритм следующий: выполните действие A, изучите награду, попросите NN предсказать значения Q для всех возможных действий, выберите максимальное значение Q, рассчитайте Q для конкретного действия A как R + max(new_state_Q). Подгоните модель к предсказанным значениям Q, заменив только одно из них R + max(new_state_Q).

Вопрос: Насколько эффективен этот подход, если количество выходов велико?

Попытка: допустим, мы можем предпринять 10 действий. На каждом шаге мы просим модель предсказать 10 значений, в раннем возрасте модели это полное беспорядок. Затем мы модифицируем 1 значение вывода и подгоняем модель к этим значениям.

У меня две противоположные мысли о том, насколько хорош \ плох этот подход, и я не могу решить, какой из них правильный:

  • С одной точки зрения, мы тренируем каждый нейрон 9 раз на случайных данных и только один раз на данных, близких к реальному значению. Если NN предсказал 5 для действия A в состоянии S, но реальное значение равно -100, мы подгоним NN 9 раз со значением 5, а затем один раз со значением -100. Звучит безумно
  • С другой точки зрения, обучение нейронной сети реализовано как обратное распространение ошибки , поэтому, когда модель предсказала 5, а мы обучаем ее 5, она не узнает ничего нового, так как ошибка равна 0. Веса не затрагиваются. , И только когда мы вычислим -100 и подгоним его к модели, он произведет пересчет веса.

Какой вариант подходит? Может быть, что-то еще я не принимаю во внимание?

ОБНОВЛЕНИЕ: под «насколько эффективно» я подразумеваю сравнение с подходом с одним выходом - прогнозируемой наградой. Конечно, действие будет частью ввода в этом случае. Таким образом, подход № 1 делает прогнозы для всех действий на основе некоторого состояния, подход № 2 делает прогноз для конкретных действий, предпринимаемых в каком-то состоянии.


Очень сложно дать однозначный ответ на этот вопрос в его нынешнем виде: «Насколько эффективен этот подход?» Ну, это зависит ... по сравнению с чем? Какой альтернативный подход вы бы предложили, который может или не может быть более эффективным?
Деннис Соемерс

Привет @DennisSoemers. Спасибо за ваш вопрос. Я обновил свой пост. По сути, альтернативный подход имеет один выход - вознаграждение. И дополнительные N входов для всех возможных действий. Основным подходом является INPUT (состояние) и OUTPUT (N вознаграждений за N действий). Альтернативой является I (State + Action) и O (Reward).
Сергей

Ответы:


1

Итак, два варианта, которые мы хотим сравнить:

  1. Входы = представление состояния, Выходы = 1 узел на действие
  2. Входы = представление состояния + горячая кодировка действий, Выходы = 1 узел

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

Для мощности представления первый вариант дает немного «меньшую» сеть около входов, а «более широкую» сеть около выходов. Если по какой-либо причине было бы выгодно иметь больше весов, например, ближе к входным узлам, этого можно было бы в значительной степени сделать, сделав первый скрытый слой (близкий к входам) немного большим.

Что касается скорости обучения, то, по-видимому, вас беспокоит, в основном, то, что, как правило, имеется только точный обучающий сигнал для одного из выходов, а не для других. Со вторым вариантом, то же самое можно сказать и о весах, подключенных к входным узлам, поэтому я сомневаюсь, что там есть существенная разница.

Как я уже говорил, все вышеизложенное основано только на моей интуиции, хотя было бы интересно увидеть более достоверные ссылки на это.

QQnn

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.