С начала года я стал регулярно заниматься в FPV-симуляторе.
Как вы помните, летом я купил новый дрон DJI FPV, который сочетает в себе два режима пилотирования: классический режим с автоматикой, как было на всех моих предыдущих дронах, и продвинутый режим (он называется Acro Mode). О нюансах такого управления я расскажу отдельно, сейчас же нужно знать только то, что Acro Mode — сложный режим, который, с одной стороны, позволяет выполнять пролёты по хитрым траекториям, но с другой стороны требует немало навыка.
Человек, который никогда не летал на дронах, в обычном режиме без проблем с первого раза взлетит и скорее всего не убьёт дрон. В Acro почти наверняка убьёт. И для этого придумали симуляторы: к ним подключается настоящий пульт управления от дрона, но картинка вся на компьютере, поэтому можно тренироваться, не рискуя своим оборудованием.
Я стал заниматься по полчаса каждый день. Сначала шло очень тяжело. Не получалось вообще. Ловил сильную демотивацию от этого. Но поставил себе цель к наступлению тёплых дней обязательно освоить навык, и поэтому через страдания продолжал. И это сработало: на текущий момент в симуляторе я могу на начальном и начально-среднем уровне пролетать разные трассы, делать петли, влетать в узкие места, тоннели, оконные проёмы и так далее.
Я ещё ни разу не пробовал на настоящем дроне. Хотя авторы симулятора (Liftoff) в какой-то момент добавили туда именно DJI FPV и пообещали, что его виртуальные характеристики и поведение в воздухе будут максимально приближены к реальности. Питер погодой не радует, но в конце майских обещают хотя бы минимальное тепло и солнце — я поеду пробовать.
Кстати, в симуляторе есть карта в виде антенного комплекса "Дуга", который под Чернобылем. Карта называлась Russian Woodpecker, а после начала событий авторы симулятора (бельгийцы) переименовали её в просто Woodpecker.
#drone#hobby
🌟 FlexTok: адаптивная 1D-токенизация изображений от Apple.
FlexTok - метод токенизации изображений, который преобразует 2D-изображения в упорядоченные 1D-последовательности переменной длины.
Его цель - сократить объем данных, необходимых для обучения генеративных моделей, и при этом оставить достаточную информацию для качественной реконструкции и генерации.
В отличие от традиционных подходов, где число токенов фиксировано и зависит только от размера изображения, FlexTok подстраивается под сложность контента: простейшая сцена может кодироваться несколькими токенами, а сложная - десятками и сотнями .
FlexTok, это по сути, пайплайн из 3 компонентов: ViT‑энкодер, квантование регистров и маскирование внимания:
ViT‑энкодер с набором «регистровых» токенов читает латентные представления VAE‑GAN и конденсирует их в 1D-последовательность до 256 регистров .
Затем, с помощью FSQ‑квантования, каждый регистр дискретизируется в код из заранее определенного словаря размером ~64 000.
На этом этапе применяется "nested dropout": во время обучения случайно обрезаются последние токены, чтобы модель научилась упорядочивать информацию от грубых форм к деталям.
Параллельно применяется авторегрессионная маска внимания: каждый токен в цепочке видит только те, что были до него, и не знает о тех, что идут после. Это заставляет модель генерировать изображения шаг за шагом, от первого токена к последнему, и упрощает ей задачу прогнозирования следующих элементов.
Декодер в FlexTok - это модель rectified flow, которая на вход берет укороченные токены и слегка зашумленные латенты VAE и учится предсказывать тот шум, который нужно убрать, чтобы вернуть исходное представление.
Чтобы обучение шло быстрее и давало более точные результаты, добавляют REPA‑Loss: он сравнивает промежуточные признаки с векторами из DINOv2‑L. Благодаря этому даже при очень жесткой компрессии (от 1 до 256 токенов), FlexTok успешно восстанавливает детали изображения.
FlexTok легко встраивается в текстово‑ориентированные модели и может улучшить соответствие изображения описанию, даже если число токенов меняется. К тому же его адаптивная токенизация применима не только к картинкам, но и к аудио или видео.
▶️Набор токенизаторов:
🟢Flextok_d12_d12_in1k - 12\12 слоев энкодер-декодер, датасет IN1K;
🟢Flextok_d18_d18_in1k - 18\18 слоев энкодер-декодер, датасет IN1K;
🟢Flextok_d18_d28_in1k - 18\28 слоев энкодер-декодер, датасет IN1K;
🟢Flextok_d18_d28_dfm - 18\28 слоев энкодер-декодер, датасет DFN.
▶️VAE:
🟠Flextok_vae_c4 - 4 каналов латента, коэффициент понижающей дискретизации 8;
🟠Flextok_vae_c8 - 8 каналов латента, коэффициент понижающей дискретизации 8;
🟠Flextok_vae_c16 - 16 каналов латента, коэффициент понижающей дискретизации 8.
🟡Страница проекта
🟡Набор на HF
🟡Arxiv
🟡Demo
🖥GitHub
@ai_machinelearning_big_data
#AI#ML#Tokenizer#Flextok#Apple
🌟Minimax VTP: гибридный токенизатор для диффузии на стероидах.
В диффузионных архитектурах считается, что масштабировать первую стадию, VAE - занятие неблагодарное.
Eго задача - превратить пиксели в латентный код и обратно, а добавление ему параметров или данных никак не помогает основной модели DiT генерировать изображения лучше.
MiniMax решила поменять правила игры и представила Visual Tokenizer Pre-training (VTP).
Их гипотеза заключается в том, что токенизатор должен не просто механически "зиповать" пиксели, а понимать семантику изображения.
Чтобы реализовать это, они объединили в обучении токенизатора сразу 3 лосса:
🟢Стандартный pixel reconstruction loss;
🟢Self-supervised learning (через Masked Image Modeling и дистилляцию, как в DINOv2);
🟢Image-text contrastive loss (как в CLIP).
Это заставило латентное пространство структурироваться семантически: теперь векторы кодировали смыслы, а не просто цветовые пятна.
🟡Теоретические выкладки подтвердились на практике.
Оказалось, что качество генерации напрямую зависит от "интеллекта" токенизатора. Не меняя архитектуру и гиперпараметры самого DiT и не увеличивая затраты на его обучение, просто за счет использования VTP-токенизатора удалось улучшить метрику FID на 65.8% и ускорить сходимость модели в 3 раза.
🟡Но главное открытие - это то, что заработал закон масштабирования для Stage 1.
Теперь, чем больше вычислительной мощности и данных вливается в претрейн токенизатора, тем качественнее становится итоговая генерация, чего раньше с обычными VAE достичь было невозможно.
🟡В открытом доступе опубликованы 3 чекпоинта VTP с различием по количеству параметров:
🟠VTP-Large - 0.7B;
🟠VTP-Base - 0.3B;
🟠VTP-Small - 0.2B.
📌Лицензирование: MIT License.
🟡Набор моделей
🟡Arxiv
🖥GitHub
@ai_machinelearning_big_data
#AI#ML#Diffusion#Tokenizer#Minimax