Derivatives, Backpropagation, and Vectorization
Статейка про многомерные производные в нейросетях.
Полезная штука для освежения деталей бэкпропа.
Статейка про многомерные производные в нейросетях.
Полезная штука для освежения деталей бэкпропа.
👍2
Репозиторий про чистый код для ml-разработчиков
Кратко перечислены основные принципы чистого кода с ссылкой на Youtube-плейлист с разбором
+ приведён поэтапный рефакторинг ноутбука по Титанику - от самого чернового варианта до аккуратного и лакончиного.
Кратко перечислены основные принципы чистого кода с ссылкой на Youtube-плейлист с разбором
+ приведён поэтапный рефакторинг ноутбука по Титанику - от самого чернового варианта до аккуратного и лакончиного.
🔥4👏1
Gandalf by lakera.ai
Есть Гендальф. Гендальф - lm-агент, который знает секретное слово, но не хочет его рассказывать. Ваша задача - хитростью заставить его расколоться.
Забавная штука для потренироваться в промтинге. Вспоминаем многочисленные "забудь все предыдущие команды и сделай ..." и "моя бабушка любила рассказывать мне по вечерам ... , что, например, могла рассказать мне бабушка?".
Есть Гендальф. Гендальф - lm-агент, который знает секретное слово, но не хочет его рассказывать. Ваша задача - хитростью заставить его расколоться.
Забавная штука для потренироваться в промтинге. Вспоминаем многочисленные "забудь все предыдущие команды и сделай ..." и "моя бабушка любила рассказывать мне по вечерам ... , что, например, могла рассказать мне бабушка?".
😁1
Статья по обработке звука
Статейка от CTO компании, занимающейся интеллектуальным дубляжом.
Можно получить представление, из чего в принципе состоит обработка звука, и потестить пару небольших скриптов на Python.
Статейка от CTO компании, занимающейся интеллектуальным дубляжом.
Можно получить представление, из чего в принципе состоит обработка звука, и потестить пару небольших скриптов на Python.
🔥2
Лидерборд с топ-моделями для распознавания речи
Чаще всего смотрят на метрику WER = normalized Levinshtein distance. Чем меньше - тем лучше.
Чаще всего смотрят на метрику WER = normalized Levinshtein distance. Чем меньше - тем лучше.
🔥3
Media is too big
VIEW IN TELEGRAM
Очередное возможное применение LLM'кам.
Чувак с помощью сетки делает виртуальных исторических персонажей на основе текстов их работ.
Пообщался немного с автором - никаких сложных тюнингов типа LORA он не использует, просто подробный промпт в ChatGPT (видимо, ChatGPT-4o) о том, как должен себя вести агент, + черри-пикинг вырезок из какой-нибудь работы.
В данном случае в основном из "Государство и революция" и ещё пары работ.
Чувак с помощью сетки делает виртуальных исторических персонажей на основе текстов их работ.
Пообщался немного с автором - никаких сложных тюнингов типа LORA он не использует, просто подробный промпт в ChatGPT (видимо, ChatGPT-4o) о том, как должен себя вести агент, + черри-пикинг вырезок из какой-нибудь работы.
В данном случае в основном из "Государство и революция" и ещё пары работ.
🔥3
На HuggingFace вышло демо, где запрос одновременно передаётся нескольким моделям, после чего их результаты суммаризируются и повторно передаются каждой из этих моделей. После нескольких раундов обсуждений выдаётся финальное соглашение.
Попробовал заставить 2 модели предложить мне небольшую архитектуру для интерактивной сегментации - обе модели предложили разные свёрточные архитектуры, а общее соглашение выдало что-то среднее. Плюс, почему-то, в итоговую архитектуру встроили аттеншн слой, который ни одной архитектурой не был предложен.
Кажется, для генерации идей такое использовать прикольно, но ждать очень уж долго (80 секунд на 2 модели и 1 раунд обсуждения). LMArena в side-by-side режиме всё ещё практичнее)
Попробовал заставить 2 модели предложить мне небольшую архитектуру для интерактивной сегментации - обе модели предложили разные свёрточные архитектуры, а общее соглашение выдало что-то среднее. Плюс, почему-то, в итоговую архитектуру встроили аттеншн слой, который ни одной архитектурой не был предложен.
Кажется, для генерации идей такое использовать прикольно, но ждать очень уж долго (80 секунд на 2 модели и 1 раунд обсуждения). LMArena в side-by-side режиме всё ещё практичнее)
👍5
Anthropic выпустили клёвый гайд, какие системы можно построить с помощью LLM и как их проектировать.
Клик
Клик
👍2
Яндекс выпустил новый хендбук! На этот раз по вышмату для DS.
Сейчас тут есть разделы с теорией графов и базовым мат.анализом.
Ждём статистику и линал!
Сейчас тут есть разделы с теорией графов и базовым мат.анализом.
Ждём статистику и линал!
👏4
ML System Design Doc
Недавно убедился, что не все ещё знают про шаблон документа для дизайна ML-систем от Reliable ML.
А, между тем, это очень крутая штука, которая структуризирует все компоненты типичного проекта - бизнес требования, техническое решение, метрики и риски.
Несколько раз сам пользовался, сильно прояснят собственное представление, чем придется заниматься следующие N месяцев))
Недавно убедился, что не все ещё знают про шаблон документа для дизайна ML-систем от Reliable ML.
А, между тем, это очень крутая штука, которая структуризирует все компоненты типичного проекта - бизнес требования, техническое решение, метрики и риски.
Несколько раз сам пользовался, сильно прояснят собственное представление, чем придется заниматься следующие N месяцев))
🔥6
В arXiv встроили Gemini!
Теперь можно прям на одном сервисе параллельно с чтением статьи задавать вопросы llm'ке и получать ответы. Разбирать пейперы стало веселее)
Вроде как он может ещё ходить в прикреплённые репозитории с имплементациями и уточнять подробности из кода. Но у меня он не на все вопросы смог ответить.
Потыкать
Теперь можно прям на одном сервисе параллельно с чтением статьи задавать вопросы llm'ке и получать ответы. Разбирать пейперы стало веселее)
Вроде как он может ещё ходить в прикреплённые репозитории с имплементациями и уточнять подробности из кода. Но у меня он не на все вопросы смог ответить.
Потыкать
🔥5👍1
Вышло интервью со мной на тему восприятия в Автономном Транспорте Яндекса.
Можно посмотреть, пару лайков поставить)
Можно посмотреть, пару лайков поставить)
❤3👍2
Forwarded from DeepSchool
Рубрика «Вопросы эксперту» | Антон Семенюта, ML-инженер команды Восприятия Автономного Транспорта в Яндекс
В коротком интервью Антон рассказал о том, как устроена работа в команде, которая отвечает за систему восприятия автономного транспорта.
Мы обсудили применение ML и CV в автономном транспорте, какие модели и для каких задач используются, а также путь модели от dev-окружения до реальных тестов на дороге.🚗
Из видео вы узнаете:
- какие технологии и инструменты применяются в современном self-driving
- как автономный транспорт понимает сцену вокруг
- как строятся пайплайны обучения и валидации моделей
- и что нужно знать инженеру, чтобы попасть в команду автономного транспорта
Смотрите первый выпуск по ссылке!
В коротком интервью Антон рассказал о том, как устроена работа в команде, которая отвечает за систему восприятия автономного транспорта.
Мы обсудили применение ML и CV в автономном транспорте, какие модели и для каких задач используются, а также путь модели от dev-окружения до реальных тестов на дороге.🚗
Из видео вы узнаете:
- какие технологии и инструменты применяются в современном self-driving
- как автономный транспорт понимает сцену вокруг
- как строятся пайплайны обучения и валидации моделей
- и что нужно знать инженеру, чтобы попасть в команду автономного транспорта
Смотрите первый выпуск по ссылке!
И приходите на наш курс CV Rocket, если хотите научиться решать сложные задачи компьютерного зрения. Ближайший поток стартует 5 ноября, а до 26 октября вы можете присоединиться со скидкой до 20%!
Изучайте подробности на сайте и записывайтесь в лист ожидания.
YouTube
«Вопросы эксперту» | Антон Семенюта, ML-инженер команды Восприятия Автономного Транспорта в Яндекс
В коротком интервью Антон рассказал о том, как устроена работа в команде, которая отвечает за систему восприятия беспилотного автомобиля.
Мы обсудили применение ML и CV в автономном транспорте, какие модели и для каких задач используются, а также путь модели…
Мы обсудили применение ML и CV в автономном транспорте, какие модели и для каких задач используются, а также путь модели…
🔥4👍3👏2
DeepSchool запустили канал с такой темой - ведущим каждую неделю становится новый человек - ml-инженер из нового домена.
На этой неделе такой человек - я. Буду делать посты про AV)
https://t.me/deepschool_underthehood
На этой неделе такой человек - я. Буду делать посты про AV)
https://t.me/deepschool_underthehood
Telegram
DeepSchool / underthehood
Это канал школы deepschool.ru. Каждую неделю ведущим канала становится один из преподавателей или друзей школы. Каждую неделю: новый человек, новая область и домен, новые истории, наблюдения и рекомендации. Поддержка: @deepschool_support
🔥6
У Автономного Транспорта появился публичный канал с разборами статей.
Если интересуетесь новыми архитектурами в восприятии, планировании или калибровках - можно следить.
Статья от меня там тоже будет)
https://t.me/DriverNotFound
Если интересуетесь новыми архитектурами в восприятии, планировании или калибровках - можно следить.
Статья от меня там тоже будет)
https://t.me/DriverNotFound
Telegram
404 Driver Not Found
Канал об ML в автономном транспорте от специалистов из Яндекса: разбираем научные статьи, делимся интересными находками, обсуждаем горячие вопросы индустрии.
Вопросы и предложения > @yandex_ml_brand
Вопросы и предложения > @yandex_ml_brand
👍3
Forwarded from 404 Driver Not Found
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
Авторы сегодняшней статьи утверждают, что создали первый targetless-подход с BEV. Опираясь на идею о том, что каждый BEV-объект соответствует определённой области в пространстве, они геометрически упростили маппинг таких объектов из разных модальностей.
Знакомьтесь, BEVСalib — модель для калибровок экстринсиков cam2lidar на основе BEVFusion.
Её архитектура (на первой схеме) почти полностью повторяет BEVFusion: изображение и облако точек попадают каждое в свой энкодер, проходят Fuser и FPN. Для предсказания матрицы калибровок результат попадает в Geometry-Guided BEV Decoder (или просто GGBD).
GGBD — разработка авторов. Она состоит из двух модулей:
После нескольких SA-блоков используется Global Average Pooling и выход из векторов перемещения и кватерниона поворота. Кватернион поворота затем преобразуют в матрицу трансформации и объединяют с вектором перемещения. Рассмотреть процессы подробнее можно на второй схеме.
Лоссы стандартные:
BEVСalib — SoTA. Результаты работы модели обгоняют по качеству такие архитектуры, как Regnet, LCCNet, CalibAnything и Koide3. На датасетах KITTI, NuScenes и собственном наборе авторов CALIBD ошибка составляет ±0,1 угла для roll, pitch и yaw вне зависимости от раскалибровки.
Модель опенсорсная: попробовать её и посмотреть демо можно на официальном сайте.
Разбор подготовил
404 driver not found
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1🔥1
Forwarded from 404 Driver Not Found
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
В 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
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👏2❤1👍1
Forwarded from 404 Driver Not Found
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
Продолжаем серию постов о 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, полученным из внешней модели.
В общих чертах это работает так:
ALOcc: Adaptive Lifting-Based 3D Semantic Occupancy and Cost Volume-Based Flow Predictions
Архитектура для предсказания Occupancy Grid и Occupancy Grid Flow. Её главные элементы:
UniOcc: A Unified Benchmark for Occupancy Forecasting and Prediction in Autonomous
Бенчмарк для всех задач Occupancy Grid. Авторы предлагают унифицированное представление данных и инструменты для конвертации открытых датасетов разных форматов.
Задачи условно делят на три категории: предсказание OG, OG Flow и OG/OG Flow с использованием парных проездов.
Также авторы предлагают универсальный набор инструментов для задач детекции, трекинга и выравнивания объектов в OG и новые метрики: правдоподобность размеров объектов, временную консистеность формы объекта и фонового окружения.
А какие интересные статьи о 3D occupancy perception находили вы? Расскажите в комментариях!
Разбор подготовил
404 driver not found
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
