Усиленное обучение для тетриса
Я понимаю суть того, как это сделать, но не могу понять, как сохранить пары (State,Value) с Tetris, имеющим так много разных состояний, что использование хэш-карты не должно работать изначально из-за памяти. Может быть, вы можете отобразить разные состояния на один или есть другой трюк? Или у меня просто неправильное представление об этом?
1 ответ
RL на основе таблиц не масштабируется до больших пространств состояний - вы совершенно правы. Вот почему используются аппроксимации, как очень простые, как линейные модели, отображающие состояние на значение, так и довольно сложные, например, глубокие (иногда рекуррентные) нейронные сети (Deep Q-Network и т. Д.). Другими словами, вместо того, чтобы иметь состояние отображения-> значение, вы моделируете функциональную зависимость между этими двумя, помещая (например, для значений Q) Q(состояние | параметры) = значение, и вы оптимизируете параметры для наилучшего соответствия фактическому состоянию / значению пары наблюдаются. Стоит отметить, что речь идет не только о памяти, если вы используете табличный подход, вам действительно нужно наблюдать за всеми состояниями, чтобы иметь хорошую модель, в то время как при функциональном / приближенном подходе вы могли бы найти реальную структуру пространство состояний, которое может быть использовано.