Снижай Потери | Антон Семенюта


Kanal geosi va tili: Rossiya, Ruscha


Делюсь мыслями и находками по машинному обучению. Публикую обучающий материал
Для связи: @Semenant

Связанные каналы

Kanal geosi va tili
Rossiya, Ruscha
Statistika
Postlar filtri


404 Driver Not Found dan repost
Occupancy Grid Prediction [2/2]

Продолжаем серию постов о 3D occupancy perception. В первой части обсудили особенности подхода и общие тренды, а сегодня разберём три актуальные работы.

Одна из особенностей Agent Occupancy Grid — воксели агентов движутся и в системе координат мира, и в системе эго-агента. Это значит, что можно предсказывать Occupancy Grid Flow — то есть, направление и скорость перемещения каждого вокселя.

Let Occ Flow: Self-Supervised 3D Occupancy Flow Prediction

Авторы предлагают решать задачи Occupancy Grid (OG) и Occupancy Grid Flow (OG Flow) prediction, не используя 3D-аннотации. Для этого они обращаются к данным изображений и Optical Flow, полученным из внешней модели.

В общих чертах это работает так:

🔴 2D→3D-энкодер извлекает признаки изображений и строит из них трёхмерный тензор благодаря проекциям на 3D-плоскости.
🔴 Temporal Fusion выравнивает признаки с учетом движения эго-агента, и с помощью deformable attention извлекает временные признаки для разных уровней высоты.
🔴 Rendering-Based Optimization — две разные головы предсказывают Semantic Occupancy Grid и Occupancy Grid Flow. Полученные результаты рендерят на плоскости камер с помощью NeuS и сравнивают с уже существующими изображениями Optical Flow и картами глубин.
🔴 Flow-Oriented Optimization разделяет оптимизацию динамических и статических областей для улучшения сходимости.

ALOcc: Adaptive Lifting-Based 3D Semantic Occupancy and Cost Volume-Based Flow Predictions

Архитектура для предсказания Occupancy Grid и Occupancy Grid Flow. Её главные элементы:

🔴 Adaptive Lifting. Это аналог LSS, но с учётом внутриобъектной и межобъектной окклюзий.
🔴 Semantic Prototype-Based Occupancy Head. В голове предсказания OG используют обучаемые векторы (прототипы), которые инвариантны к BEV- и 3D-представлениям.
🔴 Cost Volume-Based Flow Prediction Head. Для головы предсказания OG Flow вводят тензор, который содержит скалярные произведения всех сдвигов 3D-признаков относительно соседних таймстемпов. Это позволяет семантически сопоставить движущихся агентов в разные моменты времени.

UniOcc: A Unified Benchmark for Occupancy Forecasting and Prediction in Autonomous

Бенчмарк для всех задач Occupancy Grid. Авторы предлагают унифицированное представление данных и инструменты для конвертации открытых датасетов разных форматов.

Задачи условно делят на три категории: предсказание OG, OG Flow и OG/OG Flow с использованием парных проездов.

🔴 Для nuScenes и Waymo синтезировали псевдоразметку с помощью Occ3d, OpenOccupancy и SurroundOcc.
🔴Для движков симуляции Carla и openCOOD — нагенерировали сцен с точными ground truth.

Также авторы предлагают универсальный набор инструментов для задач детекции, трекинга и выравнивания объектов в OG и новые метрики: правдоподобность размеров объектов, временную консистеность формы объекта и фонового окружения.

А какие интересные статьи о 3D occupancy perception находили вы? Расскажите в комментариях!

Разбор подготовил ❣️ Антон Семенюта
404 driver not found


404 Driver Not Found dan repost
FastPillars: A Deployment-friendly Pillar-based 3D Detector

В BEV-based-детекторах часто используют sparse-свёртки. Но их не так-то просто перевести в формат, оптимизированный для инференса: развернуть, квантизировать и конвертировать в TRT.

Лидарный pillar-based-энкодер FastPillars не использует sparse-свёртки, не теряя при этом в скорости и точности. Сегодня разберём статью о том, как он устроен.

У архитектуры FastPillars четыре основных блока: MAPE, Backbone, Neck и Center-Head. Рассмотреть, как всё устроено, можно на схеме. Neck и Center-Head довольно стандартные. Бóльший интерес представляют первые два блока.

MAPE или Max-and-Attention Pillar Encoding — специальный энкодер для pillar’ов, который лучше учитывает локальную геометрию. Например, хорошо находит людей, спрятанных за объектами. А ещё обходится небольшими вычислительными мощностями и легче деплоится в embedded-приложениях.

Чтобы точнее определять объекты, MAPE, по сути, производит positional-энкодинг — рассчитывает для каждого pillar’а один feature-вектор: параллельно вычисляет два вектора и усредняет их. Один вектор получается с помощью MLP и max-энкодинга — просто max-pool по размерности количества точек. Другой вектор вычисляют так называемым аттеншн-энкодингом, который на самом деле представляет собой взвешивание фичей для точек pillar’а и их суммирование по той же размерности. В целом блок напоминает Squeeze-And-Excitation.

Для Backbone к обычному ResNet-34 авторы применили computation reallocation design: оказалось, что с бóльшим количеством слоёв начальные блоки лучше обрабатывают изображения. А для блоков ближе к концу разница не так заметна, можно оставить по одному слою. В итоге авторы увеличили количество слоёв в первых блоках и уменьшили в последних.

В Neck сфьюзили фичи из слоёв 8x и 16x как в PillarNet. Head — обычный center-based detection head. Чтобы лучше локализовывать объекты, дополнительно к типичным детекционным лоссам напрямую оптимизировали IoU-лосс.

Всего в FastPillars четыре лосса: фокальный, L1, регрессионный DIoU и отдельный для IoU.

На момент публикации, в 2023 году, FastPillars показывал SoTA-результаты на Waymo Open Dataset. Познакомиться с кодом детектора можно на GitHub авторов.

Разбор подготовил ❣️ Антон Семенюта
404 driver not found


404 Driver Not Found dan repost
BEVCalib: LiDAR-Camera Calibration via Geometry-Guided Bird’s-Eye View Representations

Авторы сегодняшней статьи утверждают, что создали первый targetless-подход с BEV. Опираясь на идею о том, что каждый BEV-объект соответствует определённой области в пространстве, они геометрически упростили маппинг таких объектов из разных модальностей.

Знакомьтесь, BEVСalib — модель для калибровок экстринсиков cam2lidar на основе BEVFusion.

Её архитектура (на первой схеме) почти полностью повторяет BEVFusion: изображение и облако точек попадают каждое в свой энкодер, проходят Fuser и FPN. Для предсказания матрицы калибровок результат попадает в Geometry-Guided BEV Decoder (или просто GGBD).

GGBD — разработка авторов. Она состоит из двух модулей:

🔴 Feature Selector — запоминает координаты, куда спроецировались камерные фичи.
🔴 Refinement Module — применяет self-attention к фичам по запомненным координатам.

После нескольких SA-блоков используется Global Average Pooling и выход из векторов перемещения и кватерниона поворота. Кватернион поворота затем преобразуют в матрицу трансформации и объединяют с вектором перемещения. Рассмотреть процессы подробнее можно на второй схеме.

Лоссы стандартные:

🔴 Geodesic Loss на кватернион + регуляризация на нормальность вектора.
🔴 Smooth-L1 Loss для вектора перемещения.
🔴 Reprojection Loss на координаты облаков точек (по сути, L2).

BEVСalib — SoTA. Результаты работы модели обгоняют по качеству такие архитектуры, как Regnet, LCCNet, CalibAnything и Koide3. На датасетах KITTI, NuScenes и собственном наборе авторов CALIBD ошибка составляет ±0,1 угла для roll, pitch и yaw вне зависимости от раскалибровки.

Модель опенсорсная: попробовать её и посмотреть демо можно на официальном сайте.

Разбор подготовил ❣️ Антон Семенюта
404 driver not found


У Автономного Транспорта появился публичный канал с разборами статей.
Если интересуетесь новыми архитектурами в восприятии, планировании или калибровках - можно следить.
Статья от меня там тоже будет)

https://t.me/DriverNotFound




DeepSchool dan repost
Рубрика «Вопросы эксперту» | Антон Семенюта, ML-инженер команды Восприятия Автономного Транспорта в Яндекс

В коротком интервью Антон рассказал о том, как устроена работа в команде, которая отвечает за систему восприятия автономного транспорта.
Мы обсудили применение ML и CV в автономном транспорте, какие модели и для каких задач используются, а также путь модели от dev-окружения до реальных тестов на дороге.🚗

Из видео вы узнаете:
- какие технологии и инструменты применяются в современном self-driving
- как автономный транспорт понимает сцену вокруг
- как строятся пайплайны обучения и валидации моделей
- и что нужно знать инженеру, чтобы попасть в команду автономного транспорта

Смотрите первый выпуск по ссылке!

И приходите на наш курс CV Rocket, если хотите научиться решать сложные задачи компьютерного зрения. Ближайший поток стартует 5 ноября, а до 26 октября вы можете присоединиться со скидкой до 20%!
Изучайте подробности на сайте и записывайтесь в лист ожидания.


Вышло интервью со мной на тему восприятия в Автономном Транспорте Яндекса.

Можно посмотреть, пару лайков поставить)


В arXiv встроили Gemini!

Теперь можно прям на одном сервисе параллельно с чтением статьи задавать вопросы llm'ке и получать ответы. Разбирать пейперы стало веселее)

Вроде как он может ещё ходить в прикреплённые репозитории с имплементациями и уточнять подробности из кода. Но у меня он не на все вопросы смог ответить.

Потыкать


ML System Design Doc

Недавно убедился, что не все ещё знают про шаблон документа для дизайна ML-систем от Reliable ML.

А, между тем, это очень крутая штука, которая структуризирует все компоненты типичного проекта - бизнес требования, техническое решение, метрики и риски.

Несколько раз сам пользовался, сильно прояснят собственное представление, чем придется заниматься следующие N месяцев))


Яндекс выпустил новый хендбук! На этот раз по вышмату для DS.

Сейчас тут есть разделы с теорией графов и базовым мат.анализом.

Ждём статистику и линал!


Anthropic выпустили клёвый гайд, какие системы можно построить с помощью LLM и как их проектировать.

Клик


На HuggingFace вышло демо, где запрос одновременно передаётся нескольким моделям, после чего их результаты суммаризируются и повторно передаются каждой из этих моделей. После нескольких раундов обсуждений выдаётся финальное соглашение.

Попробовал заставить 2 модели предложить мне небольшую архитектуру для интерактивной сегментации - обе модели предложили разные свёрточные архитектуры, а общее соглашение выдало что-то среднее. Плюс, почему-то, в итоговую архитектуру встроили аттеншн слой, который ни одной архитектурой не был предложен.

Кажется, для генерации идей такое использовать прикольно, но ждать очень уж долго (80 секунд на 2 модели и 1 раунд обсуждения). LMArena в side-by-side режиме всё ещё практичнее)


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Очередное возможное применение LLM'кам.

Чувак с помощью сетки делает виртуальных исторических персонажей на основе текстов их работ.

Пообщался немного с автором - никаких сложных тюнингов типа LORA он не использует, просто подробный промпт в ChatGPT (видимо, ChatGPT-4o) о том, как должен себя вести агент, + черри-пикинг вырезок из какой-нибудь работы.

В данном случае в основном из "Государство и революция" и ещё пары работ.


Лидерборд с топ-моделями для распознавания речи

Чаще всего смотрят на метрику WER = normalized Levinshtein distance. Чем меньше - тем лучше.


Статья по обработке звука

Статейка от CTO компании, занимающейся интеллектуальным дубляжом.

Можно получить представление, из чего в принципе состоит обработка звука, и потестить пару небольших скриптов на Python.


Gandalf by lakera.ai

Есть Гендальф. Гендальф - lm-агент, который знает секретное слово, но не хочет его рассказывать. Ваша задача - хитростью заставить его расколоться.

Забавная штука для потренироваться в промтинге. Вспоминаем многочисленные "забудь все предыдущие команды и сделай ..." и "моя бабушка любила рассказывать мне по вечерам ... , что, например, могла рассказать мне бабушка?".


Репозиторий про чистый код для ml-разработчиков

Кратко перечислены основные принципы чистого кода с ссылкой на Youtube-плейлист с разбором

+ приведён поэтапный рефакторинг ноутбука по Титанику - от самого чернового варианта до аккуратного и лакончиного.


Derivatives, Backpropagation, and Vectorization

Статейка про многомерные производные в нейросетях.
Полезная штука для освежения деталей бэкпропа.


Paperology

"После чтения обзора литературы у неопытного читателя может сложиться впечатление, что то, что вы предлагаете – это лучшее, что случалось с наукой"

Мемный, но полезный сайт для помощи с написанием статей. Рассказывает об основные этапах написания статьи. В конце приводит чеклист самопроверки и список полезных инструментов типа AI-ассистента по написанию статей.


Все юпитерские профайлеры по типу %timeit, %prune и %memit в одном месте.

https://jakevdp.github.io/PythonDataScienceHandbook/01.07-timing-and-profiling.html

20 ta oxirgi post ko‘rsatilgan.