In-Context Robot Transformer (ICRT) - модель, которая позволяет роботу выполнять новые задачи, интерпретируя контекстную информацию, предоставленную во время демонстрационной фазы, без обновления параметров базовой политики.
ICRT представляет собой причинно-следственный трансформер, который выполняет автоматический прогноз сенсомоторных траекторий без использования лингвистических данных или функции вознаграждения. Он позволяет гибко и без обучения выполнять новые задачи на основе наблюдений изображений, действий и состояний, собранных с помощью телеопераций человека.
Модель состоит из трех частей: предварительно обученного кодировщика изображений, серии проекторов для каждой из входных модальностей и каузального трансформера:
Для предварительного обучения модели использовался датасет DROID и созданный вручную мультизадачный датасет ICRT-Multi-Task (ICRT-MT - 1098 траекторий, 26 задач с 6 примитивами), который использовался в этапе дообучения.
Результаты экспериментов показывают, что ICRT способен обобщать незнакомые задачи и объекты, даже в средах, которые отличаются от демонстрационных.
# Create & activate venv
conda create -n icrt python=3.10 -y
conda activate icrt
# Install torch
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia
conda install -c conda-forge ffmpeg
# Clone the Repository
git clone https://github.com/Max-Fu/icrt.git
cd icrt
# Install required packages
pip install -e .
# Install git-lfs
sudo apt install git-lfs
git lfs install
# Download checkpoints
git clone git@hf.co:mlfu7/ICRT checkpoints
Пример инференса приведен в ноутбуке inference.ipynb. Перед его запуском обязательно ознакомьтесь с рекомендациями по загрузке и созданию собственного датасета.
@ai_machinelearning_big_data
#AI #ML #Robotics #ICRT
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30❤5🔥4
OpenVLA - набор моделей с 7млрд. параметров, которые предназначены для универсального управления роботами.
OpenVLA состоит из комбинации визуальных энкодеров SigLIP, DinoV2 и языковой модели Llama 2, выступающей в качестве основы. Обучение производилось на наборе данных Open-X, который состоит из 970 тыс. траекторий манипуляций в различных средах.
Модели принимают на вход языковую инструкцию и изображение рабочей области с камеры робота. Затем, OpenVLA предсказывает нормализированные действия робота, состоящие из 7-DoF дельт конечных эффекторов в виде координатных положений (x, y, z, roll, pitch, yaw, gripper).
Для выполнения на реальной роботизированной платформе действия должны быть де-нормализованы с учетом статистики, вычисляемой для каждого робота и каждого набора данных.
OpenVLA готовы к использованию для управления роботами в комбинациях действий и обстановках, если они схожи с действиями и задачами, которые присутствуют в Open-X (например, для сред BridgeV2 с роботом Widow-X).
Модели не умеют самообучаться на условиях, не представленных в предварительном обучении; для решения таких случаев разработчики подготовили подробные инструкции по самостоятельному дообучению на вашем наборе демонстраций.
Семейство OpenVLA состоит из 5 модификаций базовой OpenVLA-7B:
# Create venv
conda create -n openvla python=3.10 -y
conda activate openvla
# Install PyTorch
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia -y
# Clone and install the openvla repo
git clone https://github.com/openvla/openvla.git
cd openvla
pip install -e .
# for training only
# Install Flash Attention 2
pip install packaging ninja
ninja --version; echo $? # --> should return code "0"
pip install "flash-attn==2.5.5" --no-build-isolation
@ai_machinelearning_big_data
#AI #ML #OpetVLA #Robotics
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍17❤8💘2
LeLaN - метод, использующий модели Owl-ViT2 и OpenVLA для маркировки видеоданных из реальной среды с помощью языковых инструкций для навигации по объектам.
Политика навигации по объектам, обученная на этих данных, показала высокие результаты в задаче навигации по незнакомым объектам в разных условиях: внутри и снаружи помещений.
LeLaN использует аннотации VLM для маркировки видеоданных из различных источников: наборы данных о навигации роботов, видеоролики с экскурсиями с YouTube и данные из носимых видеорегистраторов. Эти аннотации предоставляют инструкции, охватывающие широкий спектр объектов с разной степенью детализации в их описаниях.
В процессе обучения политика навигации оптимизируется по трем направлениям:
После обучения LeLaN была проведена серия экспериментов из более 1000 испытаний, проведенных в реальных условиях.
Результаты показывают, что LeLaN превосходит существующие методы zero-shot политик навигации по способности ориентироваться в различных средах, надежности в условиях нечетких команд, способности следовать за пешеходами и навыке избегать столкновений.
Код, предлагаемый в репозитории LeLaN, разбит на две части: обучение модели на собственных данных и локальное развертывание с предварительно обученными моделями LeLaN на роботизированной платформе с NVIDIA Jetson Orin.
# Clone repository:
git clone https://github.com/NHirose/learning-language-navigation.git
# Set up the conda env:
conda env create -f train/train_lelan.yml
conda activate lelan
# Install the lelan packages:
pip install -e train/
# Install the `diffusion_policy` package:
git clone git@github.com:real-stanford/diffusion_policy.git
pip install -e diffusion_policy/
# Training lelan w/o collision avoidance
python train.py -c ./config/lelan.yaml
@ai_machinelearning_big_data
#AI #ML #LLM #Navigation #Robotics
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20👍11🔥5