- •Курсовая работа
- •Тема: «Обучение с подкреплением в робототехнике: обзор алгоритмов (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
- •Заключение
- •Список использованных источников
- •Приложение а
- •Приложение б
2.6 Выводы по главе 2
Во второй главе было проведено комплексное проектирование и технологическая реализация программной инфраструктуры, необходимой для обучения интеллектуального агента методами глубокого обучения с подкреплением. В ходе работы решены ключевые инженерные и алгоритмические задачи, что позволяет сформулировать следующие основные выводы:
Спроектирована, программно реализована и физически настроена специализированная виртуальная обучающая среда на базе платформы Unity. Среда представляет собой сложную топологическую структуру (лабиринт со статичными барьерами), имитирующую задачи реальной навигации. Для кардинального повышения эффективности сбора обучающей выборки (experience replay) и обеспечения декорреляции поступающих данных внедрена парадигма мультиагентного обучения. Запуск 20 изолированных, но синхронно функционирующих экземпляров лабиринта позволил многократно ускорить процесс накопления градиентов и стабилизировать процесс оптимизации весов нейронной сети, сбалансировав вычислительную нагрузку на аппаратное обеспечение.
Разработана и научно обоснована гибридная архитектура восприятия (сенсорная система) агента. В качестве основного источника информации о геометрии окружающего пространства интегрирована эмуляция физического лидара — подсистема Ray Perception Sensor 3D, позволяющая агенту превентивно детектировать препятствия. Для гарантии надежности процесса обучения реализован уникальный алгоритм безопасной стохастической инициализации (GetRandomSafePosition). Использование метода предварительного математического зондирования пространства (валидация пересечения коллайдеров) на 100% исключило программные ошибки физического движка PhysX (такие как спавн агента внутри стен) при процедурной генерации стартовых состояний в новых эпизодах.
Сформирована комплексная функция вознаграждения (Reward Shaping), успешно решившая фундаментальную проблему разреженных наград (Sparse Reward). Математическая модель полезности была модифицирована: помимо классических бинарных триггеров (поощрение за достижение цели и штраф за падение с платформы), был внедрен механизм непрерывного «экзистенциального штрафа» (отрицательное подкрепление на каждом шаге). Это архитектурное решение трансформировало поведение агента из пассивного (хаотичное блуждание) в строго целенаправленное, принудив нейросеть не просто находить цель, но и синтезировать оптимальные (кратчайшие) траектории обхода препятствий для минимизации временных затрат.
Выстроена и отлажена надежная микросервисная архитектура конвейера (pipeline) обучения, обеспечивающая высокоскоростной двусторонний асинхронный обмен тензорами данных между процессом физической симуляции (C#/Unity) и бэкендом машинного обучения (Python/PyTorch) посредством протокола gRPC. Для объективного мониторинга, глубокой аналитики и валидации сходимости моделей в режиме реального времени определен исчерпывающий набор метрик. Интеграция с аналитическим инструментарием TensorBoard позволила непрерывно отслеживать динамику кумулятивного вознаграждения (Cumulative Reward), контролировать баланс между стохастическим исследованием и эксплуатацией опыта через энтропию политики (Policy Entropy) и оценивать устойчивость градиентного спуска (Loss).
