# Гугл Брейн против дефицита данных: подробный разбор бенчмарка ВТАБ

Источник: https://www.youtube.com/watch?v=ctCv_NRpqvM
Канал: Yannic Kilcher
Опубликовано: 31.10.2019

---

В новом обзоре популярный IT-блогер Янник Кильхер (Yannic Kilcher) разбирает масштабную работу исследователей из Google Brain, посвященную оценке эффективности переноса знаний в компьютерном зрении. В центре внимания находится созданный ими бенчмарк The Visual Task Adaptation Benchmark (VTAB), призванный стандартизировать тестирование алгоритмов адаптации нейросетей к различным визуальным задачам. Автор анализирует как сильные технологические стороны предложенного инструмента, так и спорные методологические подходы разработчиков.

## 🧠 Суть и назначение VTAB
[[JUMP:0:00]]

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

Для преодоления этого дефицита исследователи применяют подход, называемый адаптацией визуальных задач (visual task adaptation). Суть метода заключается в использовании обширных сторонних наборов данных — так называемых восходящих данных (upstream data), ярким примером которых является база ImageNet, содержащая более миллиона изображений, распределенных по тысяче классов.

В рамках этой парадигмы процесс обучения делится на два ключевых этапа:

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

Разработчики из Google Brain стандартизировали условия тестирования в рамках VTAB, ограничив размер обучающей выборки для целевой задачи ровно 1000 образцов. Бенчмарк VTAB разработан для того, чтобы объективно сравнивать различные алгоритмы адаптации и определять, какой из них обеспечивает наилучшую точность в условиях жесткого дефицита данных.

## 🔄 Двухэтапная адаптация и алгоритм оценки
[[JUMP:5:16]]

В классическом сценарии, предлагаемом авторами VTAB в качестве базового решения, нейросеть представляет собой последовательность слоев, завершающуюся классификатором на 1000 категорий ImageNet. При переходе ко второму этапу — адаптации — исследователи переносят веса всех слоев модели вплоть до предпоследнего, сохраняя накопленные знания о визуальных признаках. Затем к архитектуре добавляются один или два новых слоя, настроенных на специфику целевой задачи, например, на различение кошек и собак.

В ходе адаптации инженеры могут выбрать одну из двух стратегий:

* Обучать исключительно новые финальные слои, оставив остальные веса неизменными.
* Провести полное тонкое настраивание (fine-tuning) всей сети целиком, что и делает большинство авторов оригинального исследования.

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

Для математической оценки эффективности алгоритмов авторы VTAB ввели специальный показатель качества. Формально он описывается как математическое ожидание величины ошибки классификации алгоритма на задачах, случайным образом выбранных из гипотетического «распределения визуальных задач». На практике же, поскольку реальное распределение недоступно, вычисление финального балла происходит по упрощенной схеме: модель адаптируется под каждую из фиксированного списка тестовых задач, после чего рассчитывается среднее арифметическое их показателей ошибок.

## 🧐 Критика Янника Кильхера: излишняя математизация и размытые определения
[[JUMP:11:26]]

Янник Кильхер подверг критике теоретическую базу исследования, назвав ее излишне математизированной. По его мнению, введение абстрактного понятия «распределения визуальных задач» выглядит необоснованным, поскольку авторы не приводят его строгого описания, а на практике банально вычисляют среднее значение ошибок по списку. Гораздо честнее и проще было бы сразу заявить, что бенчмарк оценивает среднюю точность на фиксированном наборе данных, не пытаясь подвести под это сложную статистическую теорию.

Дополнительные вопросы у блогера вызвал критерий отбора задач: разработчики определили «визуальную задачу» как любую проблему, которую человек способен решить исключительно на основе зрительной информации. Чтобы проиллюстрировать уязвимость этого тезиса, Янник Кильхер привел пример с геометрическими фигурами:

1.  Определение того, является ли объект квадратом или треугольником, — это чистая визуальная задача, легко решаемая по картинке.
2.  Задача определить, содержит ли текстовое название показанной фигуры букву «А» (например, в словах square или triangle), формально решается человеком по картинке, но требует привлечения внешних языковых знаний о мире.

Хотя авторы VTAB в приложении к статье утверждают, что валидировали способность людей решать представленные тесты сугубо визуально, Янник Кильхер выразил несогласие с их выводами. Он убежден, что при распознавании тех же домашних животных люди непрерывно задействуют накопленные знания об анатомии, поведении и типичной среде обитания кошек или собак, а не просто анализируют пиксели. Отсутствие строгого математического описания распределения делает структуру VTAB шаткой: при появлении принципиально новой задачи невозможно объективно определить, относится ли она к данному бенчмарку или нет.

## 📊 Структура датасетов и результаты базовых экспериментов
[[JUMP:14:52]]

В текущую реализацию The Visual Task Adaptation Benchmark включены 19 различных задач, которые авторы разделили на три обширные категории:

* **Натуральные (Natural)** — изображения привычных объектов, встречающихся в повседневной жизни (домашние питомцы, цветы, номера домов).
* **Специализированные (Specialized)** — снимки, полученные с помощью профессионального или научного оборудования (медицинские изображения, спутниковая съемка).
* **Структурированные (Structured)** — задания, требующие от нейросети понимания трехмерной геометрии пространства и взаимного расположения объектов (подсчет количества предметов, определение глубины сцены).

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

Тем не менее, результаты базовых экспериментов, представленные Google Brain, содержат ряд нетривиальных открытий. Исследователи протестировали различные методы предварительного обучения и зафиксировали четкую закономерность: чем больше размеченной информации получает модель на первом этапе, тем выше ее итоговая точность. Классическое обучение с учителем (supervised) показало наилучшие результаты, за ним следует полуавтоматическое обучение (semi-supervised), а третье место заняло самообучение без учителей (self-supervised), основанное на мета-задачах вроде определения угла поворота картинки. Самым неожиданным фактом оказалось то, что генеративное предобучение (generative pre-training) показало наихудшую эффективность, уступив даже обучению нейросети с нуля на базовой тысяче образцов.

## 🛠️ Доступность бенчмарка и практическая реализация
[[JUMP:18:37]]

Важнейшим достоинством работы Google Brain Янник Кильхер назвал заботу авторов о доступности бенчмарка для широкого круга исследователей. Изначально модели обучались на базе массивного вычислительного кластера, состоящего из 16 графических ускорителей Google Cloud GPU, что сопряжено с огромными финансовыми затратами. Понимая это, разработчики провели серию дополнительных тестов для оптимизации процесса.

Эксперименты подтвердили, что полноценно участвовать в тестировании VTAB можно и на весьма скромном оборудовании:

* Для запуска всех 19 задач достаточно одной видеокарты Nvidia P100 GPU.
* Продолжительность обучения можно сократить всего до 1000 шагов при размере mini-batch в 64 изображения.
* Точность модели при 1000 шагах практически не уступает результатам, полученным после ресурсоемких 50 000 шагов.

Выбор лимита в 1000 обучающих примеров также преследовал цель снизить порог входа, при этом авторы доказали, что метрики на усеченной выборке отлично коррелируют с результатами на полных версиях датасетов. Весь исходный код проекта опубликован в открытом репозитории Google Research на GitHub под названием `task_adaptation`. Скрипты автоматически скачивают необходимые наборы данных, подготавливают их и вычисляют итоговый балл VTAB для загруженной пользователем модели. Янник Кильхер призвал профильное сообщество активно использовать данный инструмент в своих научных публикациях и выразил надежду, что в будущем у проекта появится полноценная онлайн-таблица лидеров.