GithubHelp home page GithubHelp logo

rl_explore's Introduction

Run example

  1. Install requirements: pip install -r requirements.txt

  2. Clone submodules git submodule update --remote

  3. Run training python ppo_example.py


⭐️ Описание

Используется алгоритм PPO с дефолтным конфигом:

config["model"] = {
    "conv_filters": [
        [16, (3, 3), 2],
        [32, (3, 3), 2],
        [32, (3, 3), 1],
    ],
    "post_fcnet_hiddens": [32],
    "post_fcnet_activation": "relu",
    "vf_share_layers": False,
}

Значение всех гиперпараметров тоже дефолтно: их tuning требует большего количества времени и ресурсов.

⭐️ Логирование метрик отражено тут (используется wandb).

⭐️ Функции вознаграждения

В рамках экспериментов были протестированы две функции вознаграждения. Результаты первой в логах зафиксированы под именем ppo_1, результаты второй – под именем ppo_2. Вторая функция более простая: она частично заимствует логику функции вознаграждения, описанной в лекции на слайде 21, и также подразумевает поощрение перехода к новым клеткам. Заимствованный из лекции кусочек функции кажется логичным потому, что в этой задаче в момент, когда неиследованных мест в сетке становится мало, находить эти точки становится сложнее, а сама награда становится разреженной. Первая функция, в отличие от второй, делает акцент на скорости, с которой мы изучаем местность. В ней появляются штрафы за повороты и поощрение за открытие неиследованных клеток в конце нашей экспедиции. По результатам экспериментов был сделан выбор в пользу модели со второй функцией вознаграждения – она показала лучший результат, чем функция вознаграждения 1; однако также был сделан вывод, что стоит попытаться потьюнить гиперпараметры / сменить PPO на другой алгоритм, поскольку в целом резутать мог бы быть лучше.

rl_explore's People

Contributors

vikkikid avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.