alphapilot-v1 / README.md
prostochel097's picture
Update README.md
d28e733 verified
---
library_name: transformers
tags:
- reinforcement-learning
- gymnasium
- dqn
- lunar-lander
- alpha-pilot
model_name: Alpha-Pilot-V1
pipeline_tag: reinforcement-learning
license: apache-2.0
---
# 🚀 Alpha-Pilot-V1 (LunarLander-v2)
**Alpha-Pilot-V1** — это полностью автономная интеллектуальная система управления космическим модулем, обученная с нуля методом глубокого обучения с подкреплением (Deep Q-Learning).
Модель прошла путь цифровой эволюции от хаотичных падений до ювелирной посадки на поверхность Луны всего за **357 тренировочных эпизодов**.
## 🎥 Видео полета (Эпизод №357)
<div align="center">
<video src="https://cdn-uploads.huggingface.co/production/uploads/694031e46f4ee7b27d767524/C0BHwaqOzTjxDl0nfFCUs.mp4" width="100%" controls autoplay loop muted></video>
</div>
*На видео продемонстрирован финальный этап обучения: агент идеально стабилизирует модуль и совершает мягкую посадку в заданном квадрате.*
## 🧠 Характеристики модели
- **Архитектура:** Многослойный перцептрон (MLP) с 35.7k параметров.
- **Входные данные:** 8 сенсоров (координаты, скорости, углы, касание лап).
- **Выходные данные:** 4 дискретных действия (Ничего не делать, Левый движок, Главный движок, Правый движок).
- **Формат:** SafeTensors (безопасные веса, мгновенная загрузка).
- **Точность:** Float32.
## 📈 История обучения
Модели потребовалось менее 400 попыток, чтобы полностью освоить физику среды:
- **Эпизоды 0-100:** Хаотичное движение, поиск базовых инстинктов выживания.
- **Эпизоды 100-250:** Стабилизация горизонтального полета, попытки подруливания.
- **Эпизоды 300+:** Профессиональное маневрирование и стабильная мягкая посадка с итоговой наградой > 200 очков.
## 💻 Как запустить
Модель поддерживает автоматическую загрузку через библиотеку `transformers`.
```python
import torch
from transformers import AutoModel
# Загрузка модели
# Обязательно используйте trust_remote_code=True для активации кастомной архитектуры
model = AutoModel.from_pretrained("prostochel097/alphapilot-v1", trust_remote_code=True)
model.eval()
# Симуляция входных данных с датчиков (8 чисел)
dummy_observation = torch.randn(1, 8)
# Принятие решения
with torch.no_grad():
logits = model(dummy_observation)
action = torch.argmax(logits).item()
actions = ["Ничего не делать", "Левый движок", "Главный движок", "Правый движок"]
print(f"🤖 Решение пилота: {actions[action]}")