- •Курсовая работа
- •Тема: «Обучение с подкреплением в робототехнике: обзор алгоритмов (dqn, ppo, sac) и примеров применения в сборке. Сравнение методов, их применимость для задач манипуляции нежёсткими объектами.»
- •Аннотация
- •Содержание
- •Список сокращений и условных обозначений
- •Введение
- •Системный анализ разработки интеллектуального агента с применением обучения с подкреплением
- •1.1 Общая характеристика и современные тенденции применения искусственного интеллекта и машинного обучения в игровой индустрии и симуляциях
- •1.2 Анализ задач и определение требований к интеллектуальному агенту. Характеристика целевых сред и сценариев тестирования
- •1.3 Описание потоков данных и бизнес-процессов
- •1.4 Обзор и сравнительный анализ игровых движков и фреймворков для реализации обучения с подкреплением
- •1.5 Анализ проблематики выбора архитектуры агента, настройки гиперпараметров и обеспечения стабильности обучения
- •1.6 Патентный поиск
- •1.7 Анализ существующих методов и алгоритмов обучения с подкреплением (dqn, ppo, sac) для задач навигации, управления и принятия решений в виртуальной среде
- •1.7.1 Математическая формализация процесса обучения и алгоритмов ppo и sac
- •1.8 Применимость алгоритмов dqn, ppo и sac для задач манипуляции нежёсткими объектами в роботизированной сборке
- •1.9 Выводы по главе 1
- •2. Методы и технологии разработки и исследования интеллектуального агента в среде unity
- •2.1 Применение фреймворка Unity ml-Agents Toolkit для создания среды обучения, конфигурации агентов и нейронных сетей
- •2.1.1 Архитектура искусственной нейронной сети и конфигурация гиперпараметров
- •2.2 Обзор и сравнительный анализ алгоритмов обучения с подкреплением, методов предобработки данных и техник ускорения обучения
- •2.3 Методы сбора, обработки и визуализации метрик обучения (cumulative reward, loss, entropy) для анализа поведения и эффективности агента
- •2.3.1 Итеративная настройка и эволюция функции подкрепления (Reward Engineering)
- •2.4 Методы оценки производительности, обобщающей способности и устойчивости обученного агента в детерминированных и стохастических условиях
- •2.5 Технологический стек и архитектурные решения для интеграции модели машинного обучения (Python) с игровой логикой и физическим движком (c#/Unity)
- •2.6 Выводы по главе 2
- •3.Экспериментальные исследования и анализ результатов работы интеллектуального агента
- •3.1 Характеристика экспериментального стенда и условий проведения эксперимента
- •3.2 Сравнительный анализ эффективности алгоритмов ppo и sac в задаче навигации
- •3.3 Исследование влияния сенсорной системы и формирования функции вознаграждения
- •3.4 Анализ влияния гиперпараметров на сходимость алгоритма ppo
- •3.5 Абляционные исследования: влияние архитектуры сенсоров и функции вознаграждения на процесс обучения
- •3.6 Профилирование производительности и анализ вычислительной нагрузки в режиме реального времени
- •3.7 Программная реализация алгоритмов поведения и управления агентом
- •3.8 Тестирование и валидация обученной модели в режиме инференса
- •3.9 Выводы по главе 3
- •Заключение
- •Список использованных источников
- •Приложение а
- •Приложение б
3.5 Абляционные исследования: влияние архитектуры сенсоров и функции вознаграждения на процесс обучения
Для всесторонней оценки разработанной системы и доказательства оптимальности выбранных инженерных решений была проведена серия абляционных исследований (Ablation Studies). Абляционный анализ подразумевает намеренное изменение или удаление отдельных компонентов системы с целью оценки их вклада в общую производительность интеллектуального агента.
Эксперимент 1: Исследование конфигурации Ray Perception Sensor 3D. В базовой версии интеллектуального агента (описанной в разделе 2.1) использовалась конфигурация из 3 лучей на полусферу (Max Ray Degrees = 90, Rays Per Direction = 1). В рамках эксперимента были протестированы две альтернативные конфигурации сенсорной системы:
Избыточная сенсорная система: 7 лучей, угол обзора 180 градусов (Rays Per Direction = 3).
Дефицитная сенсорная система: 1 центральный луч (Rays Per Direction = 0).
Анализ метрик обучения выявил закономерность: избыточная сенсорная система (7 лучей) увеличивает размерность входного вектора (Observation Space), что привело к снижению скорости сходимости (Sample Efficiency). Алгоритму PPO потребовалось на 40% больше шагов симуляции (около 110 000) для достижения плато награды. Нейронной сети требовалось больше времени на выявление значимых признаков из «шумного» потока данных. С другой стороны, дефицитная конфигурация (1 луч) привела к нестабильному обучению и снижению Success Rate до 65%. Агент часто застревал в углах лабиринта, так как единственный луч не позволял оценить габариты препятствия для построения маневра уклонения. Таким образом, экспериментально доказано, что конфигурация с 3 лучами на 90 градусов является Парето-оптимальной для данной топологии лабиринта, обеспечивая идеальный баланс между вычислительной сложностью и качеством навигации.
Эксперимент 2: Reward Hacking и влияние величины экзистенциального штрафа
Как было описано в Главе 2, введение экзистенциального штрафа (−1/MaxSteps) стимулирует агента искать цель быстрее. Для проверки устойчивости функции вознаграждения был проведен эксперимент с агрессивным штрафом: величина отрицательного подкрепления была увеличена в 10 раз (−10/MaxSteps).
В ходе симуляции наблюдалось классическое для DRL явление — Reward Hacking (взлом функции вознаграждения). Нейронная сеть обнаружила, что при сложных генерациях лабиринта, где путь до цели занимает много времени, суммарный накопленный экзистенциальный штраф превышает штраф за падение с платформы (-1.0). В результате агент выработал субоптимальную, но математически обоснованную политику "самоубийства": в 30% эпизодов он намеренно съезжал с края платформы в первые секунды симуляции, чтобы минимизировать потери. Данный эксперимент подтвердил необходимость ювелирной балансировки функции вознаграждения (Reward Shaping) и доказал корректность первоначально выбранного значения штрафа, при котором награда за достижение цели (+1.0) всегда математически привлекательнее досрочного прерывания эпизода.
3.6 Профилирование производительности и анализ вычислительной нагрузки в режиме реального времени
Одним из важнейших критериев качества разработанного интеллектуального агента является возможность его работы на устройствах конечного пользователя без использования высокопроизводительных GPU и среды Python. Для оценки этого параметра было проведено профилирование автономного инференса с использованием инструмента Unity Profiler.
Тестирование скомпилированной модели .onnx через движок Unity Sentis (Worker Type = CPU) показало высокую вычислительную эффективность. На одном агенте расчет действий нейронной сетью прямого распространения занимает в среднем от 0.8 до 1.2 миллисекунд (ms) процессорного времени на каждый кадр принятия решений (Decision Step).
При масштабировании среды до 20 параллельно функционирующих агентов в одной сцене (что характерно для игр жанра Crowd Simulation или роевой робототехники), суммарное время на инференс увеличилось непропорционально мало — до 4-5 ms. Это достигается за счет автоматического батчинга (batching) матричных операций внутри библиотеки Sentis. Частота кадров (FPS) в тестовой сборке (Standalone Windows) на процессоре архитектуры x64 стабильно держалась на уровне 60 FPS (привязка к VSync), без просадок (drop frames) в моменты вычисления управляющих сигналов.
Затраты оперативной памяти на инициализацию модели составили менее 15 МБ, что полностью удовлетворяет требованиям к разработке интеллектуальных систем для мобильных устройств и встраиваемых систем (Edge AI).
