Добавил:
ИВТ (советую зайти в "Несортированное")rnПИН МАГА Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Баранов_Вадим_Пин11М (1).docx
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
2 Мб
Скачать

2. Методы и технологии разработки и исследования интеллектуального агента в среде unity

2.1 Применение фреймворка Unity ml-Agents Toolkit для создания среды обучения, конфигурации агентов и нейронных сетей

В качестве программной платформы для проведения экспериментальных исследований и разработки интеллектуального агента был выбран игровой движок Unity в связке с официальным фреймворком ML-Agents Toolkit [43]. Выбор данного технологического стека обусловлен его высокой гибкостью, возможностью точной симуляции физических процессов (посредством встроенного физического движка PhysX) и наличием оптимизированного моста (communicator) для передачи тензорных данных между средой симуляции (C#) и процессом обучения нейронной сети (Python).

Для реализации интеллектуального поведения был спроектирован виртуальный полигон, представляющий собой топологически сложную среду — лабиринт со статичными препятствиями. Среда включает в себя пол (платформу), ограничивающие внешние бортики и внутренние перегородки.

Основным действующим субъектом среды является интеллектуальный агент (сферический объект), управляемый скриптом RollerAgent, унаследованным от базового класса Agent библиотеки ML-Agents.

Движение агента реализовано на основе физических законов: к компоненту Rigidbody агента применяется вектор силы в режиме ForceMode.VelocityChange. Данный режим позволяет применять мгновенное изменение скорости, игнорируя массу объекта, что повышает отзывчивость агента на малые корректировки политики (policy) со стороны нейронной сети.

Для обеспечения агента информацией о состоянии окружающей среды (наблюдениями), его архитектура была разделена на два информационных канала:

  1. Векторные наблюдения (Vector Observations). В методе CollectObservations собираются детерминированные математические параметры: вектор направления от агента до цели (вычисляемый как разность их координат) и текущий вектор скорости агента. Общий размер пространства непрерывных наблюдений (Space Size) составил 6 значений.

  2. Пространственное восприятие (Ray Perception Sensor 3D). Учитывая сложную топологию лабиринта, передачи одних лишь координат цели оказалось недостаточно. Без понимания геометрии препятствий агент сталкивался с проблемой застревания в локальных оптимумах, пытаясь двигаться к цели по прямой линии сквозь стены. Для решения этой проблемы в архитектуру агента была интегрирована сенсорная подсистема Ray Perception Sensor 3D, эмулирующая работу физического лидара. Данный компонент генерирует лучи с заданным углом обзора (Max Ray Degrees = 90) и плотностью (Rays Per Direction = 3), фиксируя объекты с заранее определенными тегами (Wall для стен и Target для целевого объекта).

На рисунке 2.1 можно увидеть настройки компонента Ray Perception Sensor 3D и лучи, исходящие от агента.

Рисунок 2.1 - настройки компонента Ray Perception Sensor 3D и лучи, исходящие от агента

Использование комбинированного подхода к сбору наблюдений позволило сформировать для нейронной сети исчерпывающий вектор состояния, достаточный для прохождения лабиринтов любой сложности. Конфигурация поведения агента осуществлялась через компонент Behavior Parameters, где тип пространства действий (Action Space) был определен как непрерывный (Continuous) с двумя осями (движение по осям X и Z).