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

TAPe + ML: универсальная архитектура компьютерного зрения вместо патчей и «сырых» пикселей

Пять лет назад я начал работать с или в проекте Comexp Research Lab – научно-исследовательской компании, в которой тогда было два человека (считая меня). На самом деле исследованиями компания в своей области занимается примерно 15 лет, просто именно на последние пять лет (и особенно на последние полтора года) пришлась самая интенсивность разработок и открытий.

На основе открытой нами Теории активного восприятия [1] или TAPe (Theory of Active Perception), мы разрабатываем новые способы обработки информации, отличные от широко известных методов. За последние пять лет мы прошли от гипотез и мечт через многочисленные барьеры и нехватки денег до реальных технологических прорывов, которыми готовы начать делиться. Например, однажды мы поняли, что можем обходиться без расстояния Хэмминга, а еще раньше для нас было очевидно, что нам не нужна операция свертки. Об этом я расскажу в других статьях. А пока

Краткая присказка

Современные модели компьютерного зрения [2] впечатляют результатами, но цена очевидна: огромные датасеты, тяжелые архитектуры, тысячи GPU и недели или месяцы обучения [3]. При этом значительная часть вычислений уходит на то, чтобы сначала разрушить структуру данных, а потом попытаться восстановить ее из патчей.

В этой статье мы даем высокоуровневый технический обзор архитектуры TAPe+ML, которая работает не с сырыми пикселями, а с элементами TAPe (Theory of Active Perception). Модель, благодаря TAPe, сразу видит структурированные «строительные блоки» с известными связями и решает задачу, опираясь на них, а не на статичные произвольные патчи.

Ниже — чем этот подход отличается от трансформеров и CNN, какие задачи он покрывает и что показывают первые эксперименты.

Что такое TAPe‑адаптированная архитектура

TAPe‑адаптированной архитектурой является архитектура, работающая изначально уже с элементами TAPe, а не с произвольными пикселями. Такая  архитектура работает с данными, в которых уже заданы их изначальные связи и значения – назовем их “строительными блоками”. Архитектура занимается решением задачи, используя эти  блоки и известные связи, а не нахождением этих основополагающих связей «from first principles».

То есть мы не берем «пустые» патчи и не заставляем модель методом перебора находить, как они связаны друг с другом, а даем ей элементы, в которых связи уже заложены TAPe‑представлением.

В чем проблема трансформеров и CNN

Один из наибольших ограничителей стандартных моделей (помимо самого подхода) — попытка дискретизировать изначально недискретные данные. Это один из фундаментальных посылов классического Computer Science: представлять все в виде дискретных единиц. В ML это, в сочетании с существующими архитектурами, приводит к гораздо более серьезным проблемам, чем раньше. Особенно это проявляется в CV-задачах, потому что представление изображений через пиксели изначально является аппроксимацией реальности (в отличии от, например, текста) “убивающей” структуру на нулевом шаге.

Один из примеров такой дискретизации — попытка решать изначально недискретные задачи (сегментация, детекция, сложная классификация) на дискретизированных данных в виде патчей.

Трансформеры

Визуальные трансформеры (ViT, HieraViT и т.д.) — это последняя крупная попытка справиться с дискретизацией за счет того, что патчи начинают влиять друг на друга. Патч_1 становится описанием не только локального пространства, где он расположен, но и зависимости этого пространства от патча_2, 3 и т.д. Так удается в каком‑то смысле аппроксимировать области, размер которых отличается от размера патчей.

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

CNN

Исторически проблема патчей появилась именно в CNN. CNN работает чуть «умнее», чем трансформеры со стороны патчей — уровней патчей несколько (по одному на каждый слой), каждый со своим размером и позицией.

Но и здесь конечная «картина мира» собирается из объединения патчей друг с другом, что дает:

  • блочность на финальной карте признаков;

  • физически «странные» объединения несвязанных областей;

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

Чем отличается подход TAPe

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

  • нет необходимости выявлять непонятные взаимосвязи между патчами через внимание/само‑внимание — эти взаимосвязи уже известны заранее из теории TAPe;

  • нет необходимости на каждом уровне искать «лучшие» патчи для объединения в одно представление, как это делает CNN — «лучшие» элементы уже определены TAPe, задача архитектуры — правильно их использовать.

Универсальность архитект��ры приходит из того, что элементы теории TAPe — это набор известных строительных блоков, которые можно использовать «из коробки». Архитектура не зависит от того, с какими именно данными она работает, ей важен только класс задачи (сегментация, классификация, что‑то третье).

Схема: input → T+ML → output

На уровне «черного ящика» T+ML можно воспринимать как универсальный feature extractor, работающий в TAPe‑пространстве.

Самый первый шаг для любой задачи:

input → T+ML → векторный выход TAPe‑элементов

Важно, что векторы не являются произвольными — они «живут» в одном и том же пространстве для решения любых задач. Этот выход можно использовать downstream для любых задач.

Feature Extraction, кластеризация и поиск похожего

Получившийся векторный output, а также инструментарий TAPe обладают всеми необходимыми характеристиками для:

  • кластеризации данных;

  • поиска похожести между объектами;

  • построения устойчивого индекса для последующей работы моделей.

Классификация изображений

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

  • может явно сказать, что те или иные изображения не относятся ни к одному из заданных классов;

  • измеряет, насколько объект близок к тому или иному классу.

Сегментация и детекция объектов

Выход из сырого TAPe‑output на первом шаге натуральным образом позволяет проводить сегментацию изображения: каждый вектор относится к той или иной найденной точке в пространстве.

Отсюда:

  • Image Segmentation получается как разметка пространства по TAPe‑векторам;

  • Object Detection — как классификация сегментов, что позволяет находить не только заданные объекты, но и те, которые изначально не были предопределены.

Поддерживаемые задачи CV

Так как архитектура работает в одном TAPe‑пространстве, ее можно использовать для разных CV‑задач без «пересборки» с нуля:

  • Image Classification

  • Object Detection

  • Image Segmentation

  • Clustering & Similarity Search

  • Generative Models (GANs)

  • Feature Extraction (это то же самое, что и использование модели как backbone – а это уже позволяет использовать T+ML как drop-in replacement любого другого backbone, каким является та же самая DINO, например)

Здесь важен не датасет, а класс задачи: одна и та же архитектура может решать разные задачи, используя один и тот же принцип работы с TAPe‑элементами.

Первые эксперименты

Несколько экспериментов, которые уже проведены.

DINO и задача iBOT

TAPe + ML: универсальная архитектура компьютерного зрения вместо патчей и «сырых» пикселей - 1

В задаче iBOT модели нужно сгенерировать набор патчей по другим патчам: 30% изображения скрыто, модель должна восстановить их по оставшимся 70%. Это SSL‑архитектура, требующая большого количества данных.

Результат:

  • стандартная DINO на 9k и даже на 120k изображений не сходится по iBOT‑loss;

  • та же архитектура, но на TAPe‑данных, сходится с loss порядка 0.4 уже на 9k.

Даже в архитектуре, не предназначенной для TAPe‑данных, структурированное представление позволяет получить сходимость там, где стандартный подход «ломается».

Imagenette: TAPe vs сырые пиксели

TAPe + ML: универсальная архитектура компьютерного зрения вместо патчей и «сырых» пикселей - 2
TAPe + ML: универсальная архитектура компьютерного зрения вместо патчей и «сырых» пикселей - 3

Эксперимент:

  • сабсет ImageNet — Imagenette (10 классов);

  • 3‑слойная CNN, ~516k параметров;

  • обучение на 10% данных без аугментаций.

Результат:

  • та же архитектура на TAPe‑данных достигает ~92% accuracy на валидации;

  • baseline на сырых пикселях при тех же условиях — около 47% и с заметно более хаотичной динамикой обучения.

MNIST и собственная архитектура T+ML

TAPe + ML: универсальная архитектура компьютерного зрения вместо патчей и «сырых» пикселей - 4

Следующим шагом стала разработка собственной архитектуры для правильной работы с TAPe‑данными. Первый тест — стандартная задача классификации MNIST (с более строгим split 40% train / 60% val).

Результат:

  • около 98.5% accuracy к 10‑й эпохе;

  • плавная сходимость при более сложной схеме валидации.

Куда мы движемся дальше

TAPe + ML — это разработка универсальной и эффективной архитектуры компьютерного зрения, которая начинается с осмысленного представления данных.

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

Задавайте вопросы. Особенно интересуют возражения, критика, сомнения.

Автор: oopatow

Источник [4]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/26356

URLs in this post:

[1] восприятия: http://www.braintools.ru/article/7534

[2] зрения: http://www.braintools.ru/article/6238

[3] обучения: http://www.braintools.ru/article/5125

[4] Источник: https://habr.com/ru/articles/1004788/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1004788

www.BrainTools.ru

Rambler's Top100