На практике считается, что алгоритм обучения с подкреплением сходится, когда кривая обучения становится плоской и больше не увеличивается.

Каждый алгоритм обучения с подкреплением должен балансировать между исследованием и эксплуатацией. Агент должен исследовать состояние и пространство действий, чтобы узнать, какие действия приводят к высоким вознаграждениям в неисследованном пространстве состояний. Агент также должен эксплуатировать, предпринимая действия, которые приводят к высоким вознаграждениям, чтобы модель сходилась к стабильному решению. В нашем алгоритме сеть политик выводит вероятность выполнения каждого действия, и во время обучения действие выбирается путем выборки из этого распределения вероятностей (например, действие с вероятностью 0,5 будет выбрано в половине случаев). Во время оценки агент выбирает действие с наибольшей вероятностью.

Кроме того, я обнаружил, что модели с более высокой максимальной скоростью сходятся дольше, чем модели с более низкой максимальной скоростью. В некоторых случаях (функция вознаграждения и в зависимости от трека) может потребоваться более 12 часов для схождения модели со скоростью 5 м / с.

Гиперпараметры, которые в основном влияют на сходимость:

Скорость обучения:

Скорость обучения контролирует, насколько велики обновления весов нейронной сети. Проще говоря, когда вам нужно изменить веса вашей политики, чтобы получить максимальное совокупное вознаграждение, насколько вы должны изменить свою политику. Более высокая скорость обучения приведет к более быстрому обучению, но может возникнуть проблема с конвергенцией. Меньшая скорость обучения приводит к стабильной конвергенции, но на обучение может уйти много времени.

Тип потери:

Тип потерь определяет тип целевой функции (функции стоимости), используемой для обновления весов сети. Типы потерь ошибок Хубера и среднеквадратического значения ведут себя одинаково для небольших обновлений. Но по мере того, как обновления становятся больше, потеря Хубера принимает меньшие приращения по сравнению с потерей среднеквадратичной ошибки. Если у вас есть проблемы с конвергенцией, используйте тип потерь Хубера. Если сходимость хорошая, и вы хотите тренироваться быстрее, используйте тип потери среднеквадратичной ошибки.

Я много тестировал эти параметры, и, основываясь на треке re: Invent и небольшом пространстве действий, эти параметры работают хорошо, поэтому не стесняйтесь оставлять их без изменений. Однако подумайте об изменении их, когда вы начнете повторять свои модели, поскольку они могут значительно улучшить сходимость обучения.