Глоссарий проекта
Технические термины, используемые в документации, отчётах по практике и материалах магистерской работы. Глоссарий собран в одном месте, чтобы любой документ проекта мог ссылаться на него точечно (например, policy или sim-to-real).
Метрики и обучение
| Термин |
Расшифровка |
| SR (Success Rate) |
Доля успешных эпизодов в формальной оценке policy: робот достиг цели и не вышел за пределы коридора / не врезался в стену. Считается на 20 эпизодах с разными случайными seed'ами. |
| PPO |
Proximal Policy Optimization (Schulman 2017) — основной алгоритм обучения policy в этом проекте. Реализация — из библиотеки Stable-Baselines3. |
| Policy |
Обученная нейросеть, которая по наблюдению (кадр + показания ультразвукового датчика) выбирает одно из 5 дискретных действий: DirStop, DirForward, DirBack, DirLeft, DirRight. |
| Transfer learning |
Дообучение от предыдущей policy вместо обучения с нуля. Используется как ускорение и для сохранения навигационных навыков базовой модели. |
| ent_coef |
Коэффициент entropy regularization в PPO. При слишком низком значении policy схлопывается в одну команду (degenerate basin). |
| BC bootstrap (behavior cloning) |
Предобучение policy с учителем на парах (кадр, действие), записанных оператором. Снижает разброс при последующей дотренировке через PPO. |
Sim-to-real и domain randomization
| Термин |
Расшифровка |
| sim-to-real (sim2real) |
Перенос policy, обученной в симуляторе, на физического робота. Основная сложность — расхождение визуальных распределений между Unity-сценой и реальной камерой. |
| Domain randomization (DR) |
Намеренное варьирование визуальных параметров сцены (текстуры, цвета, освещение) в процессе обучения, чтобы policy не закреплялась за конкретный «вид» симулятора. Различают mild-DR (умеренная) и heavy-DR (сильная). |
| Prior flip |
Эффект, при котором одна и та же policy на «эквивалентном» кадре в симе и на реале выбирает противоположные действия. Основной диагностический сигнал sim-to-real разрыва. |
Архитектура нейросети и инфраструктура обучения
| Термин |
Расшифровка |
| CNN |
Свёрточная нейронная сеть для обработки изображений. Используется как визуальная часть policy: сеть получает кадр с камеры и извлекает признаки коридора. |
| LSTM |
Рекуррентный блок с памятью, который может учитывать не только текущий кадр, но и недавнюю историю наблюдений. В maze-сцене это важно из-за последовательности поворотов и ответвлений. |
| Frame stacking (k=4) |
Подача в CNN не одного кадра, а четырёх последовательных. Позволяет policy видеть движение и различать «стою у стены» vs «приближаюсь к стене». |
| R3M |
Замороженный предобученный визуальный encoder для робототехнических задач из работы Nair (2022). Идея: вместо обучения свёрточной сети с нуля используется уже готовая, предобученная на огромном объёме видеоданных — это уменьшает разброс между запусками и количество необходимых примеров. В проекте используется функционально эквивалентный аналог — ResNet18, предобученный на ImageNet, со «замороженными» весами. |
| ImageNet |
Большой датасет изображений, на котором предобучен ResNet18. Упоминается как практическая замена R3M-подходу для устойчивого визуального encoder'а. |
| RecurrentPPO |
Реализация PPO с LSTM-памятью внутри policy (sb3-contrib). Нужна на maze-сцене, где требуется помнить недавнюю историю поворотов. |
| VecEnv |
Вектор-среда (Stable-Baselines3): несколько параллельных копий симулятора, по которым PPO собирает обучающие данные одновременно. В проекте — две собственные реализации: одна запускает несколько агентов в одном Unity-инстансе, вторая — несколько Unity-инстансов параллельно. |
| Stable-Baselines3 / sb3-contrib |
Python-библиотеки с реализациями RL-алгоритмов. Stable-Baselines3 используется для PPO, sb3-contrib — для RecurrentPPO. |
| TensorBoard |
Инструмент визуализации метрик обучения: reward, распределение действий, энтропия, loss и другие сигналы. Используется для раннего обнаружения схлопывания policy. |
| ONNX |
Формат обмена нейросетевыми моделями. В проекте используется для переноса обученной policy из Python-обвязки в backend и в runtime робота. |
Управление роботом и safety
| Термин |
Расшифровка |
| Sonar guard / E-stop |
Аппаратно-программная защита: backend форсирует DirStop, если ультразвуковой датчик HC-SR04 показывает дистанцию ниже заданного порога. |
| Open-loop / closed-loop control |
Open-loop: команды на моторы без обратной связи по фактическому движению. Closed-loop: с обратной связью через энкодеры или IMU. Робот KS0223 в текущей прошивке работает как open-loop. |