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

Yannic Kilcher 1,5 тыс. 21 мин 6 мин 31.10.2019
Главное

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

🧠 Суть и назначение VTAB 0:00

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

💬 Цитаты

«генеративное предобучение (generative pre-training) показало наихудшую эффективность, уступив даже обучению нейросети с нуля на базовой тысяче образцов»

Янник Кильхер 18:10

«Для запуска всех 19 задач достаточно одной видеокарты Nvidia P100 GPU»

Янник Кильхер 19:15
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Бенчмарк
Стандартизированный тест или набор задач для оценки и сравнения производительности систем или моделей.
Тонкая настройка (Fine-tuning)
Процесс дообучения уже натренированной нейросети на новом, более узком наборе данных с изменением всех её весов.
Обучение с учителем (Supervised learning)
Метод обучения нейросетей, при котором модель тренируется на полностью размеченных данных с известными правильными ответами.
Самообучение (Self-supervised learning)
Подход к обучению ИИ, где модель сама создает метки для данных на основе внутренней структуры самих файлов.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Янник Кильхер Google Brain VTAB ImageNet