Давайте кратко рассмотрим метод обучения с подкреплением для оценки ценности. Готов поспорить (каламбур) вы уже слышали термин метод Монте-Карло раньше.

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

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

Этот проект взят из задания Сираджа Равала Move37 на третьей неделе. Решил использовать среду Frozen Lake от OpenAI Gym.

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

Сетка состоит из следующих плиток:

  • S отправная точка, безопасно
  • F замороженная плитка, безопасно
  • H отверстие, совсем небезопасно
  • Цель G

Это будет выглядеть так:

Алгоритм Монте-Карло RL

Давайте рассмотрим алгоритмы Монте-Карло. Вы можете просмотреть мою полную Записную книжку здесь ..

  • Алгоритм On-policy улучшает политику, над которой он работает. Напротив, это вне политики.
  • Алгоритм первого посещения усредняет возврат для посещений, следующих за первым посещением данного состояния. Противоположным является каждое посещение.
  • Контроль MC или контроль Монте-Карло. Этот тип алгоритма сначала оценивает значения для состояний, а затем строит на них жадную (или почти жадную) политику, чтобы использовать новую политику для создания другой оценки. Он повторяется бесконечно (точнее, до достижения определенного количества эпизодов).

Параметры функции:

  • env - окружение спортзала, я решил передать его в качестве параметра каждой функции, которая в нем нуждается.
  • episodes - количество эпизодов, на основе которых мы будем строить наши оценки, эпизод создан на основе данных, на которых мы можем узнать.
  • policy - мы можем передать политику для улучшения существующей, вместо генерации новой случайной.
  • epsilon - скорость освоения. Шанс совершить случайное действие вместо жадного.

Вот фрагмент части записной книжки, посвященной политике Монте-Карло, на python:

В заключение:

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