浏览代码

RU - documentation localization (#4529)

* Create README.md

* Create Установка.md

* Create Начало работы.md

* Update Начало работы.md

* Update README.md

* Update Установка.md

* Update Начало работы.md

* Update Установка.md

* Update Установка.md

* Update README.md

* Update README.md
/MLA-1734-demo-provider
GitHub 4 年前
当前提交
9cd822e3
共有 5 个文件被更改,包括 572 次插入0 次删除
  1. 160
      docs/localized/RU/README.md
  2. 258
      docs/localized/RU/docs/Начало работы.md
  3. 154
      docs/localized/RU/docs/Установка.md

160
docs/localized/RU/README.md


<img src="https://github.com/Unity-Technologies/ml-agents/blob/master/docs/images/image-banner.png" align="middle" width="3000"/>
# Unity ML-Agents Toolkit Version Release 7
[![docs badge](https://img.shields.io/badge/docs-reference-blue.svg)](https://github.com/Unity-Technologies/ml-agents/tree/release_7_docs/docs/)
[![license badge](https://img.shields.io/badge/license-Apache--2.0-green.svg)](LICENSE)
([latest release](https://github.com/Unity-Technologies/ml-agents/releases/tag/latest_release))
([all releases](https://github.com/Unity-Technologies/ml-agents/releases))
**The Unity Machine Learning Agents Toolkit (ML-Agents)** - open-source проект,
предназначенный для обучения искусственного интеллекта (агента) через взаимодействие со средой, -
игрой или симуляцией, - используя различные методы машинного обучения:
обучение с подкреплением (reinforcement learning), имитационное обучение (imitation learning),
нейроэволюция (neuroevolution) и др. средствами Python API. В проекте реализованы также и современные
алгоритмы (на основе TensorFlow), чтобы дать возможность как разработчикам игр так и любым другим,
кто увлечен темой AI, обучать искусственный интеллект для 2D, 3D и VR/AR игр. Применение таких агентов
бесчисленно: например, вы можете использовать их для управления NPC (опций также много - будь то
обучение действиям в кооперативе или друг против друга), для тестирования различных версий сборок
игры, а также для оценки гейм дизайнерских решений. ML-Agents объединяет разработчиков игр и
исследователей AI, так как предоставляет единую платформу, в рамках которой новые разработки
в сфере искусственного интеллекта могут быть протестированы через движок Unity и, как следствие,
стать доступнее большему количеству и тех, и других.
## Особенности:
- Более [15 примеров на Unity](docs/Learning-Environment-Examples.md).
- Большие возможности по конфигурации среды и тренировочных сценариев.
- Unity SDK, который легко встроить в код вашей игры или в кастомную сцену в Unity
- Два алгоритма глубинного обучения с подкреплением (deep reinforcement learning):
Proximal Policy Optimization (PPO) и Soft Actor-Critic (SAC). Первый алгоритм старается узнать,
какой будет наилучший шаг в конкретной ситуации, тогда как второй - узнать в целом правила
игры/системы/симуляции, их закон и действовать согласно этому усвоенному закону изменения среды.
- Встроенная поддержка для имитационного обучения (Imitation Learning), которое можно сделать
либо через клонирование поведения (Behavioral Cloning), либо через генеративно-состязательное
имитационное обучение (Generative Adversarial Imitation Learning - GAIL), когда одна часть алгоритма
генерирует поведение, а другая определяет, похоже данное поведение на то, которое было дано как исходное,
например, самим пользователем в виде записи его действий. Генерация происходит до тех пор, пока
сгенерированное поведение не будет определено как неотличимое или очень близкое к исходному.
- Возможность для агента игры с самим собой, если агент обучается в контексте сценария “состязание”:
например, игра в футбол, где есть две команды.
- ML-Agents позволяет настроить череду сцен, где каждая новая сцена - это усложнение сцены предыдущей,
например, добавление новой преграды. Не всегда поставленную задачу агент сможет научиться
выполнять, если среда слишком сложная изначально. Дайте ему сначала сценку попроще, когда
он научиться ее проходить, его перенесет на уровень посложнее.
- Обучение агента, устойчивого к изменениям, с помощью возможности случайного генерации элементов сцены
- Гибкий контроль агента: демонстрация выученного поведения только при определенных условиях.
Например, NPC входит в контекст “атака” - атакует так, как научился ранее в рамках обучающего сценария.
- Обучение агента сразу на множестве сцен одновременно. Представьте, как он играет в футбол сразу
на десяти стадионах, набираясь опыта одновременно на них всех. Выглядит это в Unity также,
как и представляется.
- Использование [Unity Inference Engine](docs/Unity-Inference-Engine.md) для поддержки кроссплатформенности.
- Контроль через [Python API](docs/Python-API.md) сцен.
- Возможность обернуть Unity среду для обучения как [gym](gym-unity/README.md).
Для более детального ознакомления с данными особенностями см. [Обзор ML-Agents] (docs/ML-Agents-Overview.md).
## Релизы и Документация
**Наш последний стабильный релиз - это `7-ой Релиз` (Release 7).
См. [здесь](https://github.com/Unity-Technologies/ml-agents/tree/release_7_docs/docs/Readme.md),
чтобы начать работать с самой последней версий ML-Agents.**
Таблица внизу - список всех наших релизов, включая master ветку, над которой мы ведем активную работу
и которая может быть нестабильной. Полезная информация:
[Управление версиями](docs/Versioning.md) - описание того, как мы работам с GitHub.
[Релизы](https://github.com/Unity-Technologies/ml-agents/releases) - об изменениях между версиями
[Миграция](docs/Migrating.md) - как перейти с более ранней версии ML-Agents на новую.
Ссылки на **документацию** - как установить и начать пользоваться ML-Agents в зависимости от версии.
Всегда используйте только ту документацию, которая относится к той версии, которую вы установили:
| **Version** | **Дата релиза** | **Source** | **Документация** | **Загрузка** |
|:-------:|:------:|:-------------:|:-------:|:------------:|
| **master (unstable)** | -- | [source](https://github.com/Unity-Technologies/ml-agents/tree/master) | [docs](https://github.com/Unity-Technologies/ml-agents/tree/master/docs/Readme.md) | [download](https://github.com/Unity-Technologies/ml-agents/archive/master.zip) |
| **Release 7** | **16 Сентября, 2020** | **[source](https://github.com/Unity-Technologies/ml-agents/tree/release_7)** | **[docs](https://github.com/Unity-Technologies/ml-agents/tree/release_7_docs/docs/Readme.md)** | **[download](https://github.com/Unity-Technologies/ml-agents/archive/release_7.zip)** |
| **Release 6** | 12 Августа, 2020 | [source](https://github.com/Unity-Technologies/ml-agents/tree/release_6) | [docs](https://github.com/Unity-Technologies/ml-agents/tree/release_6_docs/docs/Readme.md) | [download](https://github.com/Unity-Technologies/ml-agents/archive/release_6.zip) |
| **Release 5** | 31 Июля, 2020 | [source](https://github.com/Unity-Technologies/ml-agents/tree/release_5) | [docs](https://github.com/Unity-Technologies/ml-agents/tree/release_5_docs/docs/Readme.md) | [download](https://github.com/Unity-Technologies/ml-agents/archive/release_5.zip) |
| **Release 4** | 15 Июля, 2020 | [source](https://github.com/Unity-Technologies/ml-agents/tree/release_4) | [docs](https://github.com/Unity-Technologies/ml-agents/tree/release_4_docs/docs/Readme.md) | [download](https://github.com/Unity-Technologies/ml-agents/archive/release_4.zip) |
| **Release 3** | 10 Июня, 2020 | [source](https://github.com/Unity-Technologies/ml-agents/tree/release_3) | [docs](https://github.com/Unity-Technologies/ml-agents/tree/release_3_docs/docs/Readme.md) | [download](https://github.com/Unity-Technologies/ml-agents/archive/release_3.zip) |
| **Release 2** | 20 Мая, 2020 | [source](https://github.com/Unity-Technologies/ml-agents/tree/release_2) | [docs](https://github.com/Unity-Technologies/ml-agents/tree/release_2_docs/docs/Readme.md) | [download](https://github.com/Unity-Technologies/ml-agents/archive/release_2.zip) |
| **Release 1** | 30 Апреля, 2020 | [source](https://github.com/Unity-Technologies/ml-agents/tree/release_1) | [docs](https://github.com/Unity-Technologies/ml-agents/tree/release_1_docs/docs/Readme.md) | [download](https://github.com/Unity-Technologies/ml-agents/archive/release_1.zip) |
## Цитирование
Если вас интересует Unity как платформа для изучения AI, см. [нашу работу Unity и ML-Agents](https://arxiv.org/abs/1809.02627).
Если вы используете Unity или ML-Agents для исследовательской работы, пожалуйста, указывайте
в списке используемой литературы следующую работу:
Juliani, A., Berges, V., Teng, E., Cohen, A., Harper, J., Elion, C., Goy,
C., Gao, Y., Henry, H., Mattar, M., Lange, D. (2020). Unity: A General Platform for
Intelligent Agents. _arXiv preprint
[arXiv:1809.02627].(https://arxiv.org/abs/1809.02627)._
https://github.com/Unity-Technologies/ml-agents.
## Дополнительные источники:
Мы опубликовали серию статей на нашем блоге про ML-Agents (**пока без перевода на русский**):
- (12 Мая, 2020)
[Announcing ML-Agents Unity Package v1.0!](https://blogs.unity3d.com/2020/05/12/announcing-ml-agents-unity-package-v1-0/)
- (28 Февраля, 2020)
[Training intelligent adversaries using self-play with ML-Agents](https://blogs.unity3d.com/2020/02/28/training-intelligent-adversaries-using-self-play-with-ml-agents/)
- (11 Ноября, 2019)
[Training your agents 7 times faster with ML-Agents](https://blogs.unity3d.com/2019/11/11/training-your-agents-7-times-faster-with-ml-agents/)
- (21 Октября, 2019)
[The AI@Unity interns help shape the world](https://blogs.unity3d.com/2019/10/21/the-aiunity-interns-help-shape-the-world/)
- (15 Апреля, 2019)
[Unity ML-Agents Toolkit v0.8: Faster training on real games](https://blogs.unity3d.com/2019/04/15/unity-ml-agents-toolkit-v0-8-faster-training-on-real-games/)
- (1 Марта, 2019)
[Unity ML-Agents Toolkit v0.7: A leap towards cross-platform inference](https://blogs.unity3d.com/2019/03/01/unity-ml-agents-toolkit-v0-7-a-leap-towards-cross-platform-inference/)
- (17 Декабря, 2018)
[ML-Agents Toolkit v0.6: Improved usability of Brains and Imitation Learning](https://blogs.unity3d.com/2018/12/17/ml-agents-toolkit-v0-6-improved-usability-of-brains-and-imitation-learning/)
- (2 Октября, 2018)
[Puppo, The Corgi: Cuteness Overload with the Unity ML-Agents Toolkit](https://blogs.unity3d.com/2018/10/02/puppo-the-corgi-cuteness-overload-with-the-unity-ml-agents-toolkit/)
- (11 Сентября, 2018)
[ML-Agents Toolkit v0.5, new resources for AI researchers available now](https://blogs.unity3d.com/2018/09/11/ml-agents-toolkit-v0-5-new-resources-for-ai-researchers-available-now/)
- (26 Июня, 2018)
[Solving sparse-reward tasks with Curiosity](https://blogs.unity3d.com/2018/06/26/solving-sparse-reward-tasks-with-curiosity/)
- (19 Июня, 2018)
[Unity ML-Agents Toolkit v0.4 and Udacity Deep Reinforcement Learning Nanodegree](https://blogs.unity3d.com/2018/06/19/unity-ml-agents-toolkit-v0-4-and-udacity-deep-reinforcement-learning-nanodegree/)
- (24 Мая, 2018)
[Imitation Learning in Unity: The Workflow](https://blogs.unity3d.com/2018/05/24/imitation-learning-in-unity-the-workflow/)
- (15 Марта, 2018)
[ML-Agents Toolkit v0.3 Beta released: Imitation Learning, feedback-driven features, and more](https://blogs.unity3d.com/2018/03/15/ml-agents-v0-3-beta-released-imitation-learning-feedback-driven-features-and-more/)
- (11 Декабря, 2017)
[Using Machine Learning Agents in a real game: a beginner’s guide](https://blogs.unity3d.com/2017/12/11/using-machine-learning-agents-in-a-real-game-a-beginners-guide/)
- (8 Декабря, 2017)
[Introducing ML-Agents Toolkit v0.2: Curriculum Learning, new environments, and more](https://blogs.unity3d.com/2017/12/08/introducing-ml-agents-v0-2-curriculum-learning-new-environments-and-more/)
- (19 Сентября, 2017)
[Introducing: Unity Machine Learning Agents Toolkit](https://blogs.unity3d.com/2017/09/19/introducing-unity-machine-learning-agents/)
- Обзор обучения с подкреплением (
[multi-armed bandit](https://blogs.unity3d.com/2017/06/26/unity-ai-themed-blog-entries/)
и
[Q-learning](https://blogs.unity3d.com/2017/08/22/unity-ai-reinforcement-learning-with-q-learning/))
Дополнительные материалы от других авторов:
- [A Game Developer Learns Machine Learning] (https://mikecann.co.uk/machine-learning/a-game-developer-learns-machine-learning-intent/)
- [Explore Unity Technologies ML-Agents Exclusively on Intel Architecture](https://software.intel.com/en-us/articles/explore-unity-technologies-ml-agents-exclusively-on-intel-architecture)
- [ML-Agents Penguins tutorial](https://learn.unity.com/project/ml-agents-penguins)
## Community and Feedback
ML-Agents Toolkit - open-source проект, поэтому мы рады любой помощи. Если вы хотите нам помочь,
ознакомьтесь, для начала, пожалуйста, для с [гайдом, как сделать это правильно](com.unity.ml-agents/CONTRIBUTING.md),
и [кодексом поведения](CODE_OF_CONDUCT.md).
Если возникли проблемы с установкой и настройкой ML-Agents, если вы хотите обсудить как лучше всего
обучать агентов и пр., пожалуйста, посмотрите возможные решения на [форуме Unity ML-Agents](https://forum.unity.com/forums/ml-agents.453/).
Если вы не найдете нужной вам информации, начните новую тему, дав подробное описания вашей проблемы. Если вы обнаружили
какие-то баги или ошибки во время работы с ML-Agents, пожалуйста, сообщите об этом [здесь](https://github.com/Unity-Technologies/ml-agents/issues).
Нам важно знать ваше мнение. Только на его основе проект Unity ML-Agents и продолжает развиваться.
Пожалуйста, уделите несколько минут и [поделитесь](https://github.com/Unity-Technologies/ml-agents/issues/1454)
с нами тем, что могло бы улучшить наш проект.
По всем остальным вопросам или отзыву, пишите сразу на адрес команды разработчиков ML-Agents - ml-agents@unity3d.com.
## Лицензия
Apache License 2.0

258
docs/localized/RU/docs/Начало работы.md


# Начало работы
В данной статье мы разберем шаг за шагом один из [наших примеров](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Learning-Environment-Examples.md),
обучим в нем искусственный интеллект (агента - Agent) и применим
полученную модель в Unity сцене (scene). После прочтения статьи, вы сможете
обучить агента в любой другой сцене из наших примеров. Если вы не работали
с движком [Unity](https://unity.com/products), пожалуйста, ознакомьтесь с нашей статьей
[Background: Unity](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Background-Unity.md).
Также, если словосочетание “машинное обучение” вам ничего не говорит,
прочтите для быстрого ознакомления о нем здесь
[Background: Machine Learning](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Background-Machine-Learning.md).
![Головы с мячами](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/images/balance.png)
Нашей сценой будет **3D Balance Ball**. Агенты в ней - синие кубы-платформы, у каждого
на голове по мячу. Все они - копии друг друга. Каждый куб-агент пытается
предотвратить падение мячика, у каждого из них есть возможность двигать
головой вверх-вниз (кивать), вправо-лево (качать). В данной сцене, - или иначе, среде,
куб-платформа - это **Агент**, который получает награду за каждый момент времени, когда ему
удается удержать мяч на голове. Агент также наказывается (отрицательная награда),
если мяч падает с его головы. Цель обучения - научить агента удерживать мячик на голове.
Все, начинаем!
## Установка
Если вы еще не установили ML-Agents, следуйте этой
инструкции по установке(https://github.com/Unity-Technologies/ml-agents/tree/master/docs/localized/RU/docs/Установка.md).
1. Далее, откройте в Unity Project, в котором находятся примеры:
1. Запустите Unity Hub
1. В Projects нажмите на **Add** вверху окна.
Перейдите в папку с ML-Agents Toolkit, найдите папку `Projects` и нажмите **Open**.
1. В окне **Project** перейдите на `Assets/ML-Agents/Examples/3DBall/Scenes` и откройте файл-сцену `3DBall`.
## О среде/cцене Unity
Агент - это автономный actor (официальное название в документации), который взаимодействует
со _средой_, собирая о ней данные. В Unity, среда это сцена (scene), в которой есть один
или более объектов - Агентов, а также, конечно, и другие объекты, с которыми взаимодействует агент.
![Unity-Editor](https://raw.githubusercontent.com/Unity-Technologies/ml-agents/master/docs/images/mlagents-3DBallHierarchy.png)
Обратите внимание: В Unity каждый объект сцены - это объект класса GameObject. GameObject это
буквально контейнер для всего, что касается объекта: его физики, графики, поведения и пр.,
называемое компонентами. Чтобы посмотреть все компоненты, составляющие GameObject,
выберите GameObject в окне Scene и откройте окно Inspector. Inspector показывает
все компоненты GameObject. Первое, что мы можете заметить, открыв сцену 3D Balance Ball,
что она состоит не из одного, а нескольких кубов - агентов. Каждый такой агент в сцене
это независимый агент, но у них на всех одно Поведение (Behavior). Это сделано для ускорения
процесса обучения: все 12 агентов вносят свой вклад одновременно.
## Агент
Агент - это actor (действующие лицо), который делает наблюдения
(“видит/слушает/пр.” - принимает заданные сигналы) и совершает действия в среде.
В 3D Balance Ball компоненты Агента помещены в 12 "Агентов" - GameObjects.
Агент как объект обладает парой свойств, которые влияют на его поведение:
- **Behavior Parameters (Параметры поведения)** — У каждого Агента должно быть Поведение.
Поведение определяет решения Агента.
- **Max Step (Максимальное количество шагов)** — Определяет, сколько шагов допускается
сделать в рамках одной симуляции до завершения эпизода, достижение максимального
значения также означает завершение. В 3D Balance Ball Агент перезапускается после
5000 шагов. Иными словами: каждый эпизод - это симуляция, в рамках которой куб
пытается удержать шарик. Симуляция заканчивается либо по прошествию 5000 шагов,
либо после определенного времени.
#### Параметры поведения: Векторное пространство наблюдений (Vector Observation Space)
Перед тем как принять тот или иной шаг/действие, агент собирает наблюдения о среде,
ее состоянии. Векторное пространство наблюдений это вектор со значениями типа
float (с плавающей точкой, например, 3.14), которые представляют собой информацию о мире,
позволяющими агенту принять решение о том или ином действии.
Параметры поведения в примере 3D Balance Ball использую `вектор размерностью 8`:
это значит, что в нем хранится 8 элементов наблюдения: `x` и `z` компоненты ротации агента, `x`, `y`, `z`
компоненты относительного местонахождения шарика, а также его `скорость` (состоящую из трех компонентов).
#### Параметры поведения: Векторное пространство действий (Vector Action Space)
Действия Агента даны в форме массива с типом float. ML-Agents Toolkit классифицирует
действия на два типа: дискретные и непрерывные. Пример 3D Balance Ball использует
непрерывное пространство действий, представляющий собой вектор чисел,
которые могут меняться сколь угодно мало. Поясним: в примере размер
`вектора действий - 2`: контроль `x` and `z` компонент ротации, чтобы
удержать шарик на голове. Так вот, изменение (без учета выделенной памяти)
может быть равным 0,1. Может быть равным и 0.11, а может и на 0.1000001…
и так далее - это и есть свойство непрерывности.
Еще пример для понимания: скажем, ваш рост составляет 180 см.
Если мы его начнем измерять более точной линейкой, окажется, что он
на самом деле 180,01 cм. Если еще более точной линейкой, то 180,012345 см.
И так далее, при точности линейки, стремящейся к бесконечности,
уточнение вашего роста также стремиться к бесконечности.
## Запуск заранее обученной (предтренированной) модели
Мы включили в свои примеры заранее обученные модели (файлы с расширением `.nn`)
и использовали [Unity Inference Engine](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Unity-Inference-Engine.md),
чтобы запустить их в Unity. В этом разделе мы воспользуемся одной
из таких моделей для 3D Ball.
1. В окне **Project** пройдите в папку `Assets/ML-Agents/Examples/3DBall/Prefabs`.
Раскройте `3DBall` и кликните на префаб (prefab) `Agent`. Вы должны будете
увидеть префаб `Agent` в окне **Inspector**.
**Обратите внимание**: Кубы-платформы в сцене `3DBall` были сделаны используя префаб `3DBall`.
Поэтому при необходимости внести изменения в каждую из платформ,
вы можете просто изменить сам префаб вместо этого.
![Platform Prefab](https://raw.githubusercontent.com/Unity-Technologies/ml-agents/master/docs/images/platform_prefab.png)
1. В окне **Project**, перенесите модель (Model) поведения **3DBall**, находящуюся в `Assets/ML-Agents/Examples/3DBall/TFModels`
в свойство `Model` в компоненте `Behavior Parameters (Script)` в окне **Inspector** GameObject’a Agent.
![3dball learning brain](https://raw.githubusercontent.com/Unity-Technologies/ml-agents/master/docs/images/3dball_learning_brain.png)
1. Теперь каждый `Агент` на каждой платформе `3DBall` в окне **Hierarchy**
должен содержать модель поведения **3DBall** в `Behavior Parameters`.
**Обратите внимание** : Вы можете изменять разные игровые объекты на сцене,
выбрав их разом, используя строку поиска в Hierarchy сцены (Scene Hierarchy).
1. В **Inference Device** для данной модели выберите CPU.
1. Нажмите на кнопку **Play** в Unity - наши платформы будут удерживать мячик, используя ранее обученную модель.
## Обучение новой модели с использованием обучения с подкреплением (Reinforcement Learning)
В любой среде, которую вы сделаете сами, вам нужно будет обучить агентов с нуля, чтобы
у вас сгененировался файл модели (поведения). В данном разделе мы покажаем как использовать алгоритмы
обучения с подкреплением (reinforcement learning), являющиеся частью пакета ML-Agents
Python. Ниже представлена команда `mlagents-learn`, чтобы управлять как обучением, так и генерацией модели.
### Обучение среды
1. Откройте командную строку (терминал).
1. Выберите папку с клонированным репозиторием.
Обратите внимание: если вы использовали дефолтную установку,
вам должно быть доступно выполнение `mlagents-learn` из любой директории/папки.
1. Выполните `mlagents-learn config/ppo/3DBall.yaml --run-id=first3DBallRun`.
- `config/ppo/3DBall.yaml` - путь к файлу с дефолтной конфигурации обучения, который мы предоставили.
Папка config/ppo содержит файлы конфигов обучения для всех наших примеров, включая 3DBall.
- `run-id` - уникальное имя для данной обучающий сессии.
1. Когда отобразится сообщение _"Start training by pressing the Play button in the Unity Editor"_
(_“Начните обучение нажатием кнопки “Play” в редакторе Unity”_) -
нажмите **Play** в Unity, чтобы начать обучение в Editor.
Если `mlagents-learn` запущено корректно и начался процесс обучения,
вы должны будете увидеть что-то вроде этого:
```console
INFO:mlagents_envs:
'Ball3DAcademy' started successfully!
Unity Academy name: Ball3DAcademy
INFO:mlagents_envs:Connected new brain:
Unity brain name: 3DBallLearning
Number of Visual Observations (per agent): 0
Vector Observation space size (per agent): 8
Number of stacked Vector Observation: 1
Vector Action space type: continuous
Vector Action space size (per agent): [2]
Vector Action descriptions: ,
INFO:mlagents_envs:Hyperparameters for the PPO Trainer of brain 3DBallLearning:
batch_size: 64
beta: 0.001
buffer_size: 12000
epsilon: 0.2
gamma: 0.995
hidden_units: 128
lambd: 0.99
learning_rate: 0.0003
max_steps: 5.0e4
normalize: True
num_epoch: 3
num_layers: 2
time_horizon: 1000
sequence_length: 64
summary_freq: 1000
use_recurrent: False
memory_size: 256
use_curiosity: False
curiosity_strength: 0.01
curiosity_enc_size: 128
output_path: ./results/first3DBallRun/3DBallLearning
INFO:mlagents.trainers: first3DBallRun: 3DBallLearning: Step: 1000. Mean Reward: 1.242. Std of Reward: 0.746. Training.
INFO:mlagents.trainers: first3DBallRun: 3DBallLearning: Step: 2000. Mean Reward: 1.319. Std of Reward: 0.693. Training.
INFO:mlagents.trainers: first3DBallRun: 3DBallLearning: Step: 3000. Mean Reward: 1.804. Std of Reward: 1.056. Training.
INFO:mlagents.trainers: first3DBallRun: 3DBallLearning: Step: 4000. Mean Reward: 2.151. Std of Reward: 1.432. Training.
INFO:mlagents.trainers: first3DBallRun: 3DBallLearning: Step: 5000. Mean Reward: 3.175. Std of Reward: 2.250. Training.
INFO:mlagents.trainers: first3DBallRun: 3DBallLearning: Step: 6000. Mean Reward: 4.898. Std of Reward: 4.019. Training.
INFO:mlagents.trainers: first3DBallRun: 3DBallLearning: Step: 7000. Mean Reward: 6.716. Std of Reward: 5.125. Training.
INFO:mlagents.trainers: first3DBallRun: 3DBallLearning: Step: 8000. Mean Reward: 12.124. Std of Reward: 11.929. Training.
INFO:mlagents.trainers: first3DBallRun: 3DBallLearning: Step: 9000. Mean Reward: 18.151. Std of Reward: 16.871. Training.
INFO:mlagents.trainers: first3DBallRun: 3DBallLearning: Step: 10000. Mean Reward: 27.284. Std of Reward: 28.667. Training.
```
Обратите внимание, что средняя награда (Mean Reward), увеличивается от одной
фазы обучения к другой. Это сигнал, что процесс обучения проходит успешно.
**Примечание:** Вы можете обучать агента, используя вместо Editor’a исполняемые файлы.
См. инструкцию [Using an Executable](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Learning-Environment-Executable.md).
### Наблюдение за тренировочным процессом
Начав обучать модель с помощью `mlagents-learn` в директории `ml-agents` появится папка `results`.
Чтобы более детально посмотреть процесс обучения, вы можете использовать [TensorBoard](https://www.tensorflow.org/tensorboard).
Выполните в командной строке следующую команду:
```sh
tensorboard --logdir results
```
В вашем браузере наберите `localhost:6006`, чтобы посмотреть статистики TensorBoard.
В рамках этого примера самой важной из них является `Environment/Cumulative Reward`
(среда/суммарная награда за эпизод), которая должно увеличиваться в процессе обучения,
приближаясь к 100 - максимально возможное значение, которого может достигнуть агент.
![Example TensorBoard Run](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/images/mlagents-TensorBoard.png)
## Внедрение модели в среду Unity
Когда процесс обучения завершен и модель сохранена
(об этом будет специальное уведомление - `Saved Model`),
вы можете добавить ее в проект Unity и использовать ее в рамках
тех Agents, на базе которых она обучалась (иначе говоря, применить снова к тем же кубам-платформам).
**Обратите внимание:** Не закрывайте окно Unity, когда появится уведомление Saved Model`.
Подождите пока это не будет сделать автоматически или нажмите
`Ctrl+C` в командной строке. Если вы закроете окно вручную, `.nn` file с обученной моделью
не будет экспортирован в папку `ml-agents`.
Если вы прервали обучение через `Ctrl+C` и хотите его продолжить,
выполните ту же команду, приписав к ней `--resume`:
```sh
mlagents-learn config/ppo/3DBall.yaml --run-id=first3DBallRun --resume
```
Ваша обученная модель будет находится в каталоге вида `results/<run-identifier>/<behavior_name>.nn`,
где `<behavior_name>` это название поведения (`Behavior Name`) агента, на базе которого и
была обучена модель. Этот файл содержит в себе последнюю сгенерированную версию.
Теперь вы можете применить модель к вашим Агентам, следуя инструкции,
которая идентична той, что была [выше](#запуск-заранее-обученной-предтренированной-модели):
1. Перенесите файл модели в `Project/Assets/ML-Agents/Examples/3DBall/TFModels/`.
1. Откройте Unity Editor (редактор Unity) и выберите **3DBall** с
цену как описано [выше](#запуск-заранее-обученной-предтренированной-модели).
1. Выберете **3DBall** префаб (prefab) объекта Агента.
1. Переместите `<behavior_name>.nn` файл из окна Project,
которых находится в Editor’e, в **Model** в **Ball3DAgent** в окне Inspector.
1. Нажмите кнопку **Play** вверху Editor’a.
### Следующие шаги
- Для дополнительной информации о ML-Agents Toolkit,
см. [Обзор ML-Agents Toolkit](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/ML-Agents-Overview.md).
- [Создание своих сцен](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Learning-Environment-Create-New.md)
для обучения агентов.
- Обзор более сложных сред обучения, которые есть в качестве
примера в [ML-Agents - Example Environments](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Learning-Environment-Examples.md)
- Информация про различные опции обучения - [Training ML-Agents](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Training-ML-Agents.md)

154
docs/localized/RU/docs/Установка.md


# Установка
ML-Agents Toolkit состоит из нескольких компонентов:
- Специальный пакет Unity ([`com.unity.ml-agents`](https://github.com/Unity-Technologies/ml-agents/tree/master/com.unity.ml-agents))
с Unity C# SDK, который будет интегрирован в Unity сцену.
- Три Python пакета:
- ([`mlagents`](https://github.com/Unity-Technologies/ml-agents/tree/master/ml-agents)) - пакет с алгоритмами машинного обучения,
которые позволяют обучить искусственный интеллект. Большинству пользователей ML-Agents достаточно напрямую установить mlagents.
- ([`mlagents_envs`](https://github.com/Unity-Technologies/ml-agents/tree/master/ml-agents-envs) содержит Python
API для взаимодействия с Unity сценой. Этот пакет управляет передачей данных между Unity сценой и алгоритмами
машинного обучения, реализованных на Python. Пакет mlagents зависит от mlagents_envs.
- ([`gym_unity`](https://github.com/Unity-Technologies/ml-agents/tree/master/gym-unity)) - позволяет обернуть вашу сцену
в Unity в среду OpenAI Gym.
- Unity [Project](https://github.com/Unity-Technologies/ml-agents/tree/master/Project),
содержащий [примеры сцены](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Learning-Environment-Examples.md),
где реализованы различные возможности ML-Agents для наглядности.
Итого, чтобы установить и использовать ML-Agents, вам нужно:
- Установить Unity (2018.4 или более позднюю версию)
- Установить Python (3.6.1 или более позднюю версию)
- Клонировать этот репозиторий (Опционально)
- __Примечание:__ если вы не склонируете репозиторий, тогда у вас не будет доступа к примерам и конфигурациям обучения.
Также, раздел "Начало работы" подразумевает, что вы сделали клон репозитория.
- Установить пакет `com.unity.ml-agents` Unity
- Установить пакет `mlagents` Python
### Установка **Unity 2018.4** или более поздней версии
[Загрузите](https://unity3d.com/get-unity/download) и установите движок Unity.
Мы очень рекомендуем установить Unity через Unity Hub, так как последний позволяет управлять разными версиями движка.
### Установка **Python 3.6.1** или более поздней версии
Мы рекомендуем [установить](https://www.python.org/downloads/) Python 3.6 или 3.7.
Если вы используете Windows, пожалуйста, установите x86-64 версию, а не x86.
Если у вас нет системы управления пакетами `pip3` для Python, пожалуйста,
воспользуйтесь [этими инструкциями](https://packaging.python.org/guides/installing-using-linux-tools/#installing-pip-setuptools-wheel-with-linux-package-managers)
для ее установки. И хотя мы более не поддерживаем установку пакетов для Anaconda на Windows,
инструкция все еще доступна - [Windows Anaconda Installation (Deprecated)](Installation-Anaconda-Windows.md)
### Клонирование репозитория ML-Agents Toolkit (Опционально)
Теперь, когда вы установили Unity и Python, вы можете начать установку пакетов.
Для этого не обязательно клонировать репозиторий, но если вы хотите протестировать
наши примеры, сделать это будет необходимо (некоторые наши уроки и гайды этого требуют)
```sh
git clone --branch release_7 https://github.com/Unity-Technologies/ml-agents.git
```
Флаг `--branch release_7` установит последную стабильную рабочую версию.
Если ее не набрать, установится мастер версия, которая, возможно, будет работать нестабильно.
#### Продвинутая локальная установка для разработки
Вам нужно будет склонировать репозиторий, если вы планируете вносить изменения
или что-то добавлять в ML-Agents для своих целей. Или вы планируете сделать
эти изменения общедоступными, пожалуйста, склонируйте master branch
(без флага `--branch release_7` в команде выше).
Далее см. [гайд про публикацию правок](https://github.com/Unity-Technologies/ml-agents/blob/master/com.unity.ml-agents/CONTRIBUTING.md).
### Установка пакета `com.unity.ml-agents` для Unity
Unity ML-Agents C# SDK это пакет Unity. Вы можете установить его прямо из пакетного менеджера,
Unity Package Manager. Пожалуйста, убедитесь, что вы нажали 'Preview Packages' в 'Advanced',
чтобы найти этот пакет.
**ОБРАТИТЕ ВНИМАНИЕ:** Если вы не видите пакет ML-Agents в Package Manager,
пожалуйста, следуйте шагам, написанных [ниже](#продвинутая-локальная-установка-для-разработки-1)
#### Продвинутая локальная установка для разработки
Вы можете добавить самостоятельно com.unity.ml-agents (из репозитория, который вы склонировали)
к вашему проекту:
1. `Меню Window` -> `Package Manager`.
1. В `Package Manaer` кликнете на кнопку “+”.
1. Выберите `Add package from disk`...
1. Зайдите в папку `com.unity.ml-agents`
1. Выберите файл `package.json`.
**ПРИМЕЧАНИЕ:** В Unity 2018.4 кпопка `+` находится внизу справа около списка пакетов.
А в Unity 2019.3 она - сверху слева.
<p align="center">
<img src="https://raw.githubusercontent.com/Unity-Technologies/ml-agents/master/docs/images/unity_package_manager_window.png"
alt="Unity Package Manager Window"
height="300"
border="10" />
<img src="https://raw.githubusercontent.com/Unity-Technologies/ml-agents/master/docs/images/unity_package_json.png"
alt="package.json"
height="300"
border="10" />
</p>
Если вы собираетесь протестировать примеры из нашей документации, просто откройте папку `Projects` в Unity и вперед!
### Установка пакета `mlagents` Python
Установка `mlagents` Python требует установки и других Python пакетов, от которых зависит `mlagents`.
Поэтому если у вас установлены их более ранние версии, могут быть ошибки установки.
Чтобы этого избежать, мы рекомендуем использовать Python Virtual Environments.
Virtual Environments позволяет управлять ранее установленными версиями так,
что для одного проекта будут одни зависимости, а для другого - другие на каждой
из операционных систем - Mac / Windows / Linux.
Гайд по [Virtual Environments](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Using-Virtual-Environment.md).
Чтобы установить `mlagents` Python, активируйте вашу виртуальную среду
и выполните следующее в командной строке:
```sh
pip3 install mlagents
```
Обратите внимание, что эта команда установит `mlagents`,
используя PyPi, а не из клонированного репозитория.
Если установка прошла успешно, вы сможете выполнить
команду `mlagents-learn --help`, после
исполнения которой вы увидите набор доступных команд `mlagents-learn`.
Устанавливая mlagents, вы также устанавливаете и все то, на базе чего он сделан -
см. [setup.py file](https://github.com/Unity-Technologies/ml-agents/blob/master/ml-agents/setup.py).
В том числе [TensorFlow](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Background-TensorFlow.md)
(требует поддержки CPU w/ AVX).
#### Продвинутая локальная установка для разработки
Если вы хотите снести изменения в пакеты `mlagents` или `mlagents_envs`,
вам следует установить их из клонированного репозитория, а не через PyPi.
Установить и тот и другой пакет нужно будет по отдельности.
Перейдите к корень репозитория, выполните следующие команды:
```sh
pip3 install -e ./ml-agents-envs
pip3 install -e ./ml-agents
```
Выполняя команды с суффиксом `с -e`, вы вносите изменения в файлы Python напрямую.
Важно: установить данные пакеты надо ровно в таком порядке, как это указано выше,
так как `mlagents` зависит от `mlagents_envs`. В ином случае `mlagents_envs`
будут загружены и установлены через PyPi.
### Следующие шаги
Гайд ["Начало работы"](https://github.com/Unity-Technologies/ml-agents/tree/master/docs/localized/RU/docs/Начало-работы.md)
содержит в себе серию коротких обучающих уроков по настройке ML-Agents внутри Unity
и запуск предобученной модели, а также уроки по созданию и дополнению сцен,
где будет обучаться ваш агент.
### Помощь
Если у вас возникли трудности с ML-Agents, пожалуйста, обратитесь к [FAQ](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/FAQ.md)
и к странице [Limitations](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Limitations.md).
Если это не решило вашу проблему, создайте запрос [здесь](https://github.com/Unity-Technologies/ml-agents/issues),
предоставив информацию о операционной системе, версии Python и сообщение об ошибки (если оно есть).
正在加载...
取消
保存