- BrainTools - https://www.braintools.ru -
В этом посте продолжаем дневник TAPe‑детекции и рассказываем, что получилось после отказа от трансформеров: насколько сократилось число параметров, как работают локальные ассоциации [1] TAPe‑патчей и почему на лице человека у нас начинает “сам по себе” появляться зачаток сегментации.
Если вы тут впервые, сначала можно посмотреть:
базовую статью про TAPe+ML — TAPe + ML: универсальная архитектура компьютерного зрения [2]
FAQ по TAPe‑детекции — FAQ по TAPe‑детекции объектов (как мы учимся детектить объекты одномоментно и в десятки раз эффективней/дешевле ML) [3]
как TAPe чувствует себя против SOTA — Как наш “домашний” НИИ обошёл DINOv2, ViT и десятки ML‑моделей в видео‑разметке с помощью TAPe [4]
предыдущие части dear дневника TAPe‑детекции на COCO:
TAPe (Theory of Active Perception) — это математическая теория и технология, которая описывает (и моделирует) механизм активного восприятия [11]: она разбивает изображение на устойчивые признаки и задаёт структуру связей между ними. В TAPe+ML мы используем эти элементы и далее работаем уже с ними, а не с сырыми пикселями.
В рамках TAPe+ML TAPe‑алгоритмы превращают изображение в элементы TAPe — структурированные “строительные блоки” с известными связями между ними, давая компактное векторное представление вместо сырых пикселей. На этих представлениях мы уже строим эксперименты: от self‑supervised задач в духе DINO/iBOT до классических ML‑методов (кластеризация, поиск, классификация) и детекции объектов на COCO, за которыми как раз следим в этом дневнике.
В экспериментах, как и планировали, ушли от трансформеров. Напомним: причина, по которой это возможно, в том, что TAPe-данные уже имеют такую структуру, что как таковое Global Attention не нужно – глобальность закрывается за счет того, что TAPe-данные стабильны и структурированы.
Это привело к очень большому снижению количества параметров. На данный момент времени количество параметров, необходимое для эмбедингов, на порядки меньше любых аналогов.
Уход от трансформеров позволил продвинуться к следующей степени – к условным объединениям любого количества патчей для выделения объектов и дальнейшей классификации их. Уже в первых экспериментах с этим успех (по крайней мере на первый взгляд), и есть пара интересных замечаний.
Во-первых, играет роль некоторая локализация. То есть – если выбирать “ход” от некоего патча, то только некая окружность вокруг него будет ассоциирована с ним, потому что контекстуально, при дальнейшем росте, область выглядит по-другому.
Каждый патч может иметь ассоциации в своем локальном окружении с неким количеством других патчей, которые из тренировки:
на него похожи в том или ином смысле (например, на всех есть кожа); это следует из первичной тренировки эмбеддингов;
относятся к одному и тому же объекту; это следует уже конкретно из того, что мы тренируем ассоциации к объекту (то есть говорим, что все патчи в этой области принадлежат объекту типа “человек”).
При этом при попытке изменять такой патч дальше для решения задач проблем не возникает, просто это нужно немного гранулировать.
Как хороший пример – изображение:

Это одно из изображений в базе COCO. Центровой патч обозначен жёлтым. Оранжевым – все патчи, которые ассоциируются как относящиеся к этому патчу. Как видно, все оранжевые патчи по смыслу ассоциируются с тем же самым, что и жёлтый патч, а именно с лицом человека.
При этом полностью обвести лицо человека – простая задача кластеризации. Мы не тренируемся отличать шею человека от его лица, поэтому обведение не гарантировано останется на лице, и может захватить другие патчи, где есть кожа в целом, например, но в наших экспериментах зачастую лица полностью входили в свою область.
В итоге мы можем в некотором роде классифицировать понятие “кожа”. Да, напрямую мы этого не делаем, но из обучения [12] так выходит, потому что одежда – это натуральная граница внутри самого объекта “человек”, и эти сегменты мы находим, потому что полагаемся на самые контрастные патчи, чтобы собрать из них общее описание всего объекта.

Если сдвинуть жёлтый патч в сторону, то ассоциация остаётся прежней, с небольшими изменениями, потому что соотношение между патчами несимметричное (из принципов TAPe так и должно следовать).

Если начать передвигать центральный патч за пределы первой зоны, то новая и старая зоны начинают пересекаться – при этом сохраняя всё тот же контур самого “объекта” (человека в этом случае всё-таки). Фактически, мы “бесплатно” получаем модель сегментации.
Добавим пару вещей здесь:
Рост этих патчей до покрытия всего объекта также будет – просто сейчас для такого мини-демо это бессмысленно;
Некоторые неточности (на уровне того, что один патч уходит не туда) ещё есть – модель, показанная здесь, тренировалась буквально одну минуту. Это исправится правильной (то бишь более долгой, законченной) тренировкой, а также улучшением модели в целом;
Сегментация – это будущее исследование, пока вся работа идёт в сторону детекции, к чему эти результаты подводят. Конечный результат очень близок.
Модель работает со скоростью 120 кадров в секунду на данный момент времени.
Автор: oopatow
Источник [13]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/27857
URLs in this post:
[1] ассоциации: http://www.braintools.ru/article/621
[2] TAPe + ML: универсальная архитектура компьютерного зрения: https://habr.com/ru/articles/1004788/
[3] FAQ по TAPe‑детекции объектов (как мы учимся детектить объекты одномоментно и в десятки раз эффективней/дешевле ML): https://habr.com/ru/articles/1011406/
[4] Как наш “домашний” НИИ обошёл DINOv2, ViT и десятки ML‑моделей в видео‑разметке с помощью TAPe: https://habr.com/ru/articles/1007128/
[5] День 1. TAPe и YOLO: https://habr.com/ru/posts/1009926/
[6] День 2. 115k параметров у нас vs 2 млн + у YOLO: https://habr.com/ru/posts/1010182/
[7] День 3. Почему нам не нужен градиентный спуск: https://habr.com/ru/posts/1010464/
[8] День 4. Датасет COCO. Начало.: https://habr.com/ru/posts/1010644/
[9] День 5. 98% на 2% COCO, меньше “фона” и первые боксы: https://habr.com/ru/articles/1014966/
[10] День 6. Синтетика, эмбеддинги и первый уход от трансформеров: https://habr.com/ru/articles/1015514/
[11] восприятия: http://www.braintools.ru/article/7534
[12] обучения: http://www.braintools.ru/article/5125
[13] Источник: https://habr.com/ru/articles/1016036/?utm_campaign=1016036&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.