Рефактор и краткий конспект обзора от румынских коллег

This commit is contained in:
Igor Brylyov 2021-07-15 13:46:50 +03:00
parent dd6a956122
commit 5182e24204

View file

@ -37,7 +37,7 @@ title: 'Применение машинного обучения в робото
## Исследования
### Sachin Vidyasagaran'2020
### Sachin Vidyasagaran '2020
[Видео-обзор](https://www.youtube.com/watch?v=ub4ZyegbTSw) исследования по основным алгоритмам обучения с подкреплением
Используемое ПО: OpenAI Gym
@ -48,26 +48,56 @@ title: 'Применение машинного обучения в робото
* Twin-Delayed DDPG (TD3+HER) - 150
* Extended Twin-Delayed DDPG (ETD3+HER) - 100
### Liliana STAN, Adrian Florin NICOLESCU, Cristina PUPĂZĂ '2020 [pdf](https://journals.indexcopernicus.com/api/file/viewByFileId/1158070.pdf)
Машинное обучение для сборочных роботов. Обзор решений и подходов.
Вызовы обучения с подкреплением в робототехнике:
* Наличие большого количества степеней свободы у современных промышленных манипуляторов(6-7 DoF) приводит к т.н. "проклятью размерности" (взрывному росту числа возможных действий и состояний) и не позволяет использовать ряд алгоритмов. __Возможные способы решения:__ выбор алгоритмов, нечувствительных к проклятью.
* Необходимость в большом количестве данных для обучения и длительность обучения. Создание баз данных на реальных объектах очень затратно, долго по времени и небезопасно. __Возможные способы решения:__ создание проектов как [KnowRob](https://www.knowrob.org/) для сбора и аггрегирования данных многочисленных роботов в разных предметных областях, формирование баз данных.
* Проблема переноса алгоритмов обучения в другие среды и сценарии - _Transfer Learning_. Современные алгоритмы RL чувствительны к настройке гипер-параметров и требуют адаптации под каждый новый случай для достижения лучшей производительности.
* Обучение роботов в виртуальных средах способно компенсировать недостаток "реальных" данных, но оно чувствительно к недостаточной точности моделей как самого робота, так и его окружающей среды. Возникает проблема переносимости алгоритмов из симуляции в реальность - _Sim-to-Real Transfer_, выражающаяся в т.н. _Reality Gap_ - расхождении в поведении движков физики и реального мира. Возможные способы решения: добавление шума в модели окражующей среды; domain randomization - добавление большего количества вариантов сред.
* Проблема безопасности. В ходе обучение параметры робота (от условий окружающей среды и компонентов) могут изменяться и процесс обучения может не сойтись. __Возможный способ решения:__ использования низкоуровневых стратегий с использованием "мягких роботов"(?).
* Главный вызов в роботизации сборочных операций - надёжность, повторяемость, гибкость. __Возможные способы решения:__ использование иерархической декомпозиции задач (Hierarchical Task Decompositions) и переиспользования навыков (Skill Reusability), когда большая задача разбивается на несколько маленьких, которые потом проще переносить на новые задачи.
* Вычислительная ресурсоёмкость. Решается развитием CPU/GPU/FPGA, паралеллизацией и это делает RL-подходы более применимыми на практике.
Главные стимулы для использования RL в робототехнике:
* изучение задачам, которые не могут быть напрямую запрограммированы
* оптимизация сложные задач, которые не имеют аналитических решений (известна функция затрат (например, снизить энергии для выполнения задачи)
* адаптация навыков к новым (ранее не встречавшимся) задачам.
## Инструменты машинного обучения
### OpenAI Gym
### Библиотеки
Наиболее распространённая библиотека для обучения с подкреплением
* [OpenAI Gym](https://gym.openai.com) - Наиболее распространённая библиотека для обучения с подкреплением. Стандарт индустрии.
* [Deepmind Acme](https://github.com/deepmind/acme) - Вторая по популярности библиотека для RL
* [Surreal](https://github.com/SurrealAI/surreal) - Open-Source Distributed Reinforcement Learning Framework by Stanford Vision and Learning Lab. Активно не разрабатывается.
https://gym.openai.com
### [Gym-UnrealCV](https://github.com/zfw1226/gym-unrealcv)
Реалистичные виртуальные миры для обучения с подкреплением. [UnrealCV](https://unrealcv.org/)
используется для связи Unreal Engine и Gym.
### Gym-UnrealCV
### robo-gym
[Github](https://github.com/zfw1226/gym-unrealcv)
[Сайт](https://sites.google.com/view/robo-gym) | [Github](https://github.com/jr-robotics/robo-gym) | [Paper](https://arxiv.org/pdf/2007.02753.pdf)
Реалистичные виртуальные миры для обучения с подкреплением. [UnrealCV](https://unrealcv.org/) используется для связи Unreal Engine и Gym.
Набор open source инструментов для распределённого машинного обучения на реальных и симулируемых роботах. Фреймворк состоит из двух частей:
* Серверной части, которая взаимодействует с реальным или симуляционным роботом. Реализована на ROS, Gazebo, Python.
* Части с окружающей средой, которая представляет OpenAI Gym интерфейс к роботу и реализует различные среды.
Ключевая особенность заключается в том, что части взаимодействуют между собой через сеть, что делает возможным реализацию обмена данными со множественными экземплярами частей как на одной машине, так и на нескольких.
Разработано [JOANNEUM RESEARCH Institute for Robotics and Mechatronics](https://joanneum.at/robotics), Klagenfurt, Austria. Активно разрабатывается по сей день, но развитого сообщества нет - всего 2 контрибьютора - это авторы статьи.
В [Paper](https://arxiv.org/pdf/2007.02753.pdf) также приведена сравнительная таблица(Table I, страница 7) фреймворков для глубокого машинного обучения роботов. Рассмотрены OpenAI Gym - Robotics Suite, DeepMind Control Suite, SURREAL Robotics Suite, RLBench, SenseAct, gym-gazebo-2, robo-gym. Показатели сравнения: количество форков, поддерживаемые роботы, количество задач, поддержка виртуального и реального железа, масштабируемость, используемая платформа симуляции. robo-gym
### Unity ML Agents
[Github](https://github.com/Unity-Technologies/ml-agents)
### [Unity ML Agents](https://github.com/Unity-Technologies/ml-agents)
Проект для обучения агентов на Unity, интегрирована с gym. Среды мультяшные, не очень фотореалистичные.