- BrainTools - https://www.braintools.ru -

TAPe‑дневник, день 7: первый уход от трансформеров и “почти бесплатная” сегментация

В этом посте продолжаем дневник TAPe‑детекции и рассказываем, что получилось после отказа от трансформеров: насколько сократилось число параметров, как работают локальные ассоциации [1] TAPe‑патчей и почему на лице человека у нас начинает “сам по себе” появляться зачаток сегментации.

Если вы тут впервые, сначала можно посмотреть:

Небольшое напоминание: что такое TAPe и зачем он нам

TAPe (Theory of Active Perception) — это математическая теория и технология, которая описывает (и моделирует) механизм активного восприятия [11]: она разбивает изображение на устойчивые признаки и задаёт структуру связей между ними. В TAPe+ML мы используем эти элементы и далее работаем уже с ними, а не с сырыми пикселями.

В рамках TAPe+ML TAPe‑алгоритмы превращают изображение в элементы TAPe — структурированные “строительные блоки” с известными связями между ними, давая компактное векторное представление вместо сырых пикселей. На этих представлениях мы уже строим эксперименты: от self‑supervised задач в духе DINO/iBOT до классических ML‑методов (кластеризация, поиск, классификация) и детекции объектов на COCO, за которыми как раз следим в этом дневнике.

Почему мы смогли уйти от трансформеров

В экспериментах, как и планировали, ушли от трансформеров. Напомним: причина, по которой это возможно, в том, что TAPe-данные уже имеют такую структуру, что как таковое Global Attention не нужно – глобальность закрывается за счет того, что TAPe-данные стабильны и структурированы.

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

Уход от трансформеров позволил продвинуться к следующей степени – к условным объединениям любого количества патчей для выделения объектов и дальнейшей классификации их. Уже в первых экспериментах с этим успех (по крайней мере на первый взгляд), и есть пара интересных замечаний.

Локальные ассоциации TAPe‑патчей

Во-первых, играет роль некоторая локализация. То есть – если выбирать “ход” от некоего патча, то только некая окружность вокруг него будет ассоциирована с ним, потому что контекстуально, при дальнейшем росте, область выглядит по-другому.

Каждый патч может иметь ассоциации в своем локальном окружении с неким количеством других патчей, которые из тренировки:

  • на него похожи в том или ином смысле (например, на всех есть кожа); это следует из первичной тренировки эмбеддингов;

  • относятся к одному и тому же объекту; это следует уже конкретно из того, что мы тренируем ассоциации к объекту (то есть говорим, что все патчи в этой области принадлежат объекту типа “человек”).

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

Пример с лицом: как выглядят ассоциации

Как хороший пример – изображение:

TAPe‑дневник, день 7: первый уход от трансформеров и “почти бесплатная” сегментация - 1

Это одно из изображений в базе COCO. Центровой патч обозначен жёлтым. Оранжевым – все патчи, которые ассоциируются как относящиеся к этому патчу. Как видно, все оранжевые патчи по смыслу ассоциируются с тем же самым, что и жёлтый патч, а именно с лицом человека.

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

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

TAPe‑дневник, день 7: первый уход от трансформеров и “почти бесплатная” сегментация - 2

Сдвиг центра и “зачаток” сегментации

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

TAPe‑дневник, день 7: первый уход от трансформеров и “почти бесплатная” сегментация - 3

Если начать передвигать центральный патч за пределы первой зоны, то новая и старая зоны начинают пересекаться – при этом сохраняя всё тот же контур самого “объекта” (человека в этом случае всё-таки). Фактически, мы “бесплатно” получаем модель сегментации.

Ограничения, будущее и скорость

Добавим пару вещей здесь:

  • Рост этих патчей до покрытия всего объекта также будет – просто сейчас для такого мини-демо это бессмысленно;

  • Некоторые неточности (на уровне того, что один патч уходит не туда) ещё есть – модель, показанная здесь, тренировалась буквально одну минуту. Это исправится правильной (то бишь более долгой, законченной) тренировкой, а также улучшением модели в целом;

  • Сегментация – это будущее исследование, пока вся работа идёт в сторону детекции, к чему эти результаты подводят. Конечный результат очень близок.

  • Модель работает со скоростью 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

www.BrainTools.ru

Rambler's Top100