Зоровий трансформер![]() Зорови́й трансфо́рмер (англ. Vision Transformer, ViT) — це трансформер, призначений для задач зорової обробки, таких як розпізнавання зображень.[1] Зорові трансформериТрансформери знайшли своє початкове застосування у задачах обробки природної мови (ОПМ), що демонструють такі мовні моделі як BERT та GPT-3. На противагу цьому, типова система обробки зображень використовує згорткову нейронну мережу (ЗНМ). До відомих проєктів належать Xception[en], ResNet, EfficientNet,[2] DenseNet[3] та Inception.[1] Трансформери вимірюють взаємозв'язки (англ. relationships) між парами токенів входу (лексем у випадку текстових стрічок), які називають увагою (англ. attention). Витратність зі зростанням числа токенів зростає експоненційно. Для зображень основною одиницею аналізу є піксель. Проте обчислення взаємозв'язків для кожної з пар пікселів у типовому зображенні є недопускним з точки зору пам'яті та обчислень. Зоровий трансформер натомість обчислює взаємозв'язки між пікселями в різних невеликих ділянках зображення (наприклад, 16×16 пікселів) за різко знижених витрат. Ці ділянки (з позиційними вкладеннями) розташовують у послідовності. Вкладення є векторами, яких можливо навчатися. Кожну з ділянок впорядковують у лінійну послідовність і множать на матрицю вкладення. Результат, із позиційним вкладенням, подають до трансформера.[1] Як і у випадку з BERT, фундаментальну роль у задачах класифікування відіграє токен класу. Спеціальний токен, який використовують як єдиний вхід для завершальної БШП-голови, оскільки на неї вже вплинули всі інші. Архітектура для класифікування зображень є найпоширенішою, і для трансформування різних токенів входу вона використовує лише кодувальник Трансформера. Проте існують й інші застосування, в яких використовують також і декодувальну частину традиційної архітектури Трансформера. ІсторіяТрансформери, спершу представлені 2017 року у відомій праці «Увага — це все, що вам потрібно»,[4] широко поширилися у сфері обробки природної мови, незабаром ставши однією з найширше використовуваних та найперспективніших архітектур у цій галузі. 2020 року, з працею «Зображення вартує 16×16 слів»,[5] для виконання завдань у комп'ютернім баченні було пристосовано Зорові трансформери. Їхня ідея полягає в тому, щоби розбивати вхідні зображення на низку фрагментів, які, перетворивши їх на вектори, розглядати як слова у звичайному трансформері. Якщо в галузі обробки природної мови механізм уваги Трансформерів намагався вловлювати взаємозв'язки між різними словами аналізованого тексту, то в комп'ютернім баченні Зорові трансформери намагаються натомість вловлювати взаємозв'язки між різними частинами зображення. 2021 року чиста трансформерова модель продемонструвала кращу продуктивність та більшу ефективність у класифікуванні зображень, аніж ЗНМ.[1] У дослідженні від червня 2021 року було додано трансформерову післяобробку до ResNet, що різко скоротило витрати та підвищило точність.[6][7][8] Того ж року було запропоновано деякі важливі варіанти Зорових трансформерів. Ці варіанти здебільшого мають на меті бути ефективнішими, точнішими, або краще пристосованими до певної області. Серед найактуальніших — Swin Transformer,[9] який, завдяки деяким видозмінам механізму уваги та багатоступеневому підходу, досяг передових результатів на деяких наборах даних виявляння об'єктів, як-то COCO. Іншим цікавим варіантом є TimeSformer, розроблений для задач розуміння відео, й здатний вловлювати просторову та часову інформацію шляхом використання розділеної просторово-часової уваги.[10][11] Зорові трансформери вже 2021 року виявилися здатними вийти з лабораторії й потрапити до однієї з найважливіших галузей комп'ютерного бачення, автономної їзди. Інженери Тесла продемонстрували під час Дня ШІ Тесла,[12] що їхня система автопілота насправді, серед інших систем, використовує Трансформер, який переважно використовують для правильної роботи багатокамерної системи на автомобілях. Порівняння зі згортковими нейронними мережамиПродуктивність Зорових трансформерів залежить від рішень, включно з рішеннями стосовно оптимізатора, специфічних для набору даних гіперпараметрів, та глибини мережі. Оптимізувати ЗНМ набагато простіше. Однією з видозмін чистого трансформера є одруження трансформера з основою/передобробкою ЗНМ. Типова основа Зорового трансформера використовує згортку 16×16 з кроком 16. На відміну від цього, згортка 3×3 із кроком 2 збільшує стабільність, а також покращує точність.[8] ЗНМ здійснює перетворення з базового рівня пікселів до карти ознак. Токенувальник перетворює карту ознак на низку токенів, які потім подають до трансформера, який застосовує механізм уваги для створення низки токенів виходу. Проєктор, зрештою, знову з'єднує токени виходу з картою ознак. Останнє дозволяє аналізові використовувати потенційно значущі деталі на рівні пікселів. Це різко зменшує кількість токенів, необхідних для аналізу, відповідно знижуючи витрати.[6] Відмінностей між ЗНМ та Зоровими трансформерами багато, і полягають вони головним чином у їхніх архітектурних відмінностях. Насправді ЗНМ досягають чудових результатів навіть за тренування на основі обсягів даних, що є не настільки великими, як того вимагають Зорові трансформери. Ця відмінність у поведінці, схоже, випливає з наявності в ЗНМ деяких індуктивних упереджень, які можуть так чи інакше використовуватися цими мережами для швидшого схоплювання особливостей аналізованих зображень, навіть якщо, з іншого боку, вони зрештою обмежують їх, ускладнюючи схоплювання ними глобальних взаємозв'язків.[13][14] З іншого боку, Зорові трансформери є вільними від цих упереджень, що призводить до їхньої здатності схоплювати також глобальні й ширші взаємозв'язки, але ціною обтяжливішого з точки зору даних навчання. Зорові трансформери також довели свою здатність бути набагато стійкішими до спотворень вхідних зображень, таких як змагальне затуляння або переставляння.[15] Проте обирання однієї архітектури замість іншої не завжди наймудріший вибір, і чудові результати отримано в кількох задачах комп'ютерного бачення за допомогою гібридних архітектур, що поєднують згорткові шари з Зоровими трансформерами.[16][17][18] Роль самокерованого навчанняЗначна потреба в даних на етапі тренування зробила необхідним пошук альтернативних методів для тренування цих моделей,[19] і тепер центральну роль відіграють методи самокерованого навчання. Із застосуванням цих підходів можливо тренувати нейронну мережу практично автономним чином, дозволяючи їй виводити особливості конкретної задачі без потреби у створенні великого набору даних, або надавання їй точно встановлених міток. Можливість тренувати Зоровий трансформер без необхідності мати у своєму розпорядженні величезний набір даних бачення може стати ключем до широкого розповсюдження цієї перспективної нової архітектури. Найзначнішого результату досягли дослідники з Facebook AI із DINO,[20] методом самокерування для тренування Зорового трансформера. Із застосуванням цього підходу отримано чудові результати у задачах класифікування на важливих наборів даних, таких як ImageNet[en], але, і насамперед, вражаючі результати у сегментуванні та кластеруванні відео.[21] ЗастосуванняЗорові трансформери використовували в багатьох задачах комп'ютерного бачення з чудовими результатами, а в деяких випадках навіть із передовими. До найактуальніших сфер застосування належать:
ВтіленняІснує багато втілень Зорових трансформерів та їхніх варіантів, доступних у відкритому коді в Інтернеті. Основні версії цієї архітектури втілено в PyTorch,[22] але також зроблено доступними втілення й для Tensorflow.[23] Див. також
Примітки
Посилання
|
Portal di Ensiklopedia Dunia