Код: GitRepo

Используемые гиперпараметры:

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

- Учетная ставка

- Скорость исследования

Скорость обучения [0, 1]:

Скорость обучения — это скорость обучения или количество информации, которую мы переносим из текущей итерации в Q-таблицу.

Ставка скидки [0, 1]:

Ставка дисконтирования — это сумма скидки, которую мы даем q’(s’, a’) во время правила обновления.

Скорость исследования [0, 1]:

Обычно мы должны предпринять максимально ценное действие в данном состоянии. Но чтобы избежать перехода к локальному максимуму вместо глобального максимума, мы делаем несколько случайных действий несколько раз, даже если это действие не является максимальным действием. Это помогает разнообразить и искать везде возможное. И объем разведки определяется скоростью разведки.

Q-обучение:

Q[s, a] += скорость_обучения * (вознаграждение + (скидка * q’) — Q[s, a)

Здесь мы поддерживаем q-таблицу, которая помогает нам решить, какое действие следует предпринять из определенного заданного состояния. Мы сохраняем q-значения в Q-таблице. Каждая ячейка обозначается q(s, a). где s — состояние, а — действие. Таблица q будет иметь размер (s x a)

Примечание.

- Все изменения гиперпараметров выполняются в одной среде для оценки изменений результатов.

- Глобальные максимумы - это кратчайшее возможное расстояние в лабиринте. Местные максимумы - это почти короткое расстояние, но не самое короткое.

Условие сходимости:

- Конвергенция предполагается, когда у нас есть одно и то же вознаграждение в течение 8 последовательных итераций.

Часть 3:

Окружающая среда: 5x5

Наблюдение:

- Поскольку скорость исследования высока, вместо наиболее подходящих действий предпринимаются случайные действия.

Наблюдение:

- При высокой скорости обучения и скорости исследования возникает та же проблема, что и выше. Модель обучается, но по-прежнему делает случайный выбор в 80% случаев.

Наблюдение:

- При меньшей скорости обучения и скорости исследования обучение требует времени, но не является постоянным, поскольку модель имеет тенденцию быть неуверенной.

Наблюдение:

- Без коэффициента дисконта модель просто не работает. И обновление значений q не имеет смысла

Наблюдение:

- С меньшей скоростью исследования и 80% скоростью обучения и общей ставкой дисконтирования обучение немного колеблется, но в конце концов становится постоянным.

Наблюдение:

- При полной скорости обучения и скидке 80% модель, как правило, идеально согласуется, но мало отличается на каждой итерации. Постоянный путь не поддерживается.

Наблюдение:

- При нулевой скорости исследования модель очень быстро достигает идеально короткого пути и постоянно проходит только этот путь.

- Это недостаток, так как путь может быть почти более коротким, а не кратчайшим доступным путем.

- Весьма возможна преждевременная конвергенция.

Лучшие гиперпараметры:

Скорость исследования: 0,1 | Скорость обучения: 0,3 | Скидка: 0,8

Лучший способ запуска с гиперпараметрами:

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

- В начале скорость исследования должна быть немного выше, а затем должна снизиться до 0,01.

- Скорость обучения также должна уменьшиться с 0,9 до 0,4.

- Ставка дисконтирования может оставаться постоянной.

Примечание.

Затраченное время прямо пропорционально количеству итераций. Итак, не упомянул время, затраченное.

Часть 3c:

- Если в начальном состоянии есть равная вероятность, то обучение также не вызывает беспокойства, и сходимость почти одинакова с небольшим +- несколькими итерациями.

Часть 3e:

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

Часть 4:

- Извлечены значения q из предыдущей обученной модели.

- Применение этих значений q к новой среде.

Код для применения значений q к новой модели:

Вывод:

Наблюдение:

- Это точно не сработает, так как модель обучается на другом лабиринте.

- Указатель в лабиринте попадает в разные положения. Поскольку значения q не предназначены для этого лабиринта.

САРСА:

a’ = get_second_action()

q’ = Q(s’, a’)

Q(s, a) += скорость обучения * (вознаграждение + (скидка * q’) — Q(s, a))

В SARSA мы выполняем еще одно действие из первого действия, а затем берем значение q этого нового действия с этим новым состоянием.

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

Q-обучение:

Сошлись за 60 итераций

САРСА:

Сошлись за 33 итерации

Наблюдение:

- SARSA — это жадная политика, так как политика, на которую она опирается, исходит из другого действия.

- Q-обучение непосредственно изучает оптимальное значение. В то время как SARSA изучает почти оптимальную политику с небольшим исследованием.

- Q-Learning требует немного больше итераций для сходимости, чем SARSA.

- При большем анализе Q-обучение в несколько раз лучше, чем SARSA. Возможно, разница связана с изменением лабиринта.