Имеет ли значение заполнение в моделях глубокого обучения?

компьютерное зрение

​Эта статья взята из технического руководства по публичному аккаунту CV.Серия технических резюме

Обратите внимание, сосредоточьтесь на техническом обзоре компьютерного зрения, новейших технологий отслеживания и интерпретации классических статей.

предисловие

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

эксперимент один

Свертки трансляционно-эквивалентны: при сдвиге входного изображения на 1 пиксель выходное изображение также сдвигается на 1 пиксель (см. рис. 1). Если мы применим глобальное усреднение (т. е. суммируем все значения пикселей) к выходным данным, мы получим трансляционно-инвариантную модель: выходные данные останутся неизменными независимо от того, как мы переводим входное изображение.

В PyTorch модель выглядит так: y = torch.sum(conv(x), dim=(2, 3)) принимает ввод x и выводит y.

Рис. 1. Вверху: исходное изображение с одним белым пикселем (исходная версия и версия со смещением на 1 пиксель). Середина: ядро ​​свертки. Внизу: выходное изображение и сумма его пикселей.

Можно ли использовать эту модель для определения абсолютного положения пикселей в изображении?

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

Давайте обучим эту модель классифицировать изображение, содержащее один белый пиксель: она должна выводить 1, если пиксель находится в верхнем левом углу, иначе 0. Обучение сходилось быстро, и тестирование бинарного классификатора на некоторых изображениях показало, что он отлично определяет расположение пикселей (см. рис. 2).

Рисунок 2: Вверху: входное изображение и результаты классификации. Внизу: выходное изображение и сумма пикселей.

Как модель учится классифицировать абсолютные позиции пикселей? Это возможно только из-за типа заполнения, которое мы используем:

  1. На рис. 3 показано ядро ​​свертки после некоторой эпохи обучения.
  2. При использовании «одного и того же» заполнения (используемого во многих моделях) центр ядра смещается по всем пикселям изображения (неявно предполагается, что значения пикселей за пределами изображения равны 0)
  3. Это означает, что правый столбец и нижняя строка ядра никогда не будут «касаться» верхнего левого пикселя изображения (иначе центр ядра должен был бы выйти за пределы изображения).
  4. Однако при перемещении по изображению правый столбец и/или нижний ряд ядра касаются всех остальных пикселей.
  5. Наша модель использует различия в способах обработки пикселей.
  6. К верхнему левому белому пикселю применяются только положительные (желтые) значения ядра, в результате чего получаются только положительные значения, что дает положительную сумму
  7. Для всех остальных местоположений пикселей также применяются сильно отрицательные значения ядра (синий, зеленый), что дает отрицательную сумму

Рисунок 3: ядро ​​свертки 3×3.

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

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

Зависит ли влияние входного пикселя на выход от его абсолютного положения?

Давайте попробуем еще раз с черным изображением только с одним белым пикселем. Изображение подается в нейронную сеть, состоящую из сверточного слоя (веса всех ядер установлены равными 1, а член смещения установлен равным 0). Влияние входных пикселей измеряется путем суммирования значений пикселей выходного изображения. «Действительное» заполнение означает, что полное ядро ​​остается в пределах входного изображения, в то время как было определено «такое же» заполнение.

На рис. 4 показано влияние каждого входного пикселя. Для «действительного» заполнения результат выглядит следующим образом:

  1. Существует только одно место, где ядро ​​касается угла изображения, и значение 1 для углового пикселя отражает это.
  2. Для каждого краевого пикселя ядро ​​3×3 касается пикселя в 3 местах.
  3. Для пикселей в общих местах есть 9 местоположений ядра, где пиксель и ядро ​​соприкасаются.

Рисунок 4: Применение одного сверточного слоя к изображению 10×10. Слева: «такая же» прокладка. Справа: «допустимый» отступ.

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

Последний эксперимент (см. рис. 5) показывает, что если начать с входного изображения 28×28 (например, изображения из набора данных MNIST) и передать его в нейронную сеть с 5 сверточными слоями (например, простой классификатор MNIST), может выглядеть нравится). Специально для «действительного» заполнения теперь есть большие области изображения, которые модель почти полностью игнорирует.

Рисунок 5: Применение пяти сверточных слоев к изображению 28×28. Слева: «такая же» прокладка. Справа: «допустимый» отступ.

в заключении

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

1. Следите за прокладкой — CNNS МОГУТ РАЗВИВАТЬСЯ СЛЕПЫЕ ЗНАКИ

2. On Translation Invariance in CNNs: Convolutional Layers can Exploit Absolute Spatial Location

Автор: Харальд Шайдл.

Составление: Техническое руководство по резюме

Оригинальная ссылка:Harald - широко известный как black face.medium.com/does - Подогрев полов Creeper…

Добро пожаловать в техническое руководство CV для общедоступной учетной записи, в котором основное внимание уделяется техническому обзору компьютерного зрения, отслеживанию новейших технологий и интерпретации классических статей.

Ответьте на ключевое слово «техническое резюме» в официальном аккаунте, чтобы получить краткий PDF-файл исходной технической сводной статьи официального аккаунта.

Другие статьи

Техническое руководство по CV - Резюме и классификация основных статей

Резюме методов настройки параметров для гиперпараметров нейронной сети

Загружайте модели PyTorch в 340 раз быстрее с помощью Ray

Резюме инструментов аннотирования изображений в компьютерном зрении

Серия облегченных моделей -- GhostNet: дешевые операции дают больше возможностей

ICCV2021 | MicroNet: Улучшение распознавания изображений с очень низкими значениями FLOP

CVPR2021 | Переосмысление пакетной обработки в BatchNorm

ICCV2021 | Переосмысление пространственного измерения визуальных трансформеров

CVPR2021 | Transformer для сквозной сегментации экземпляров видео

ICCV2021 | (Tencent Youtu) Переосмысление подсчета и локализации в толпе: чисто основанная на баллах структура

Анализ сложности сверточных нейронных сетей

Обзор последних исследований по обнаружению малоразмерных целей в 2021 году

Самостоятельное внимание в компьютерном зрении

Обзорная колонка | Обзор оценки позы

Говоря об оптимизации CUDA

Почему GEMM лежит в основе глубокого обучения

Почему 8 бит достаточно для использования глубоких нейронных сетей?

Серия Classic Paper — Капсульные сети: новая сеть глубокого обучения

Классическая серия документов | Обнаружение целей - CornerNet и также известные как дефекты якорных ящиков

Как просмотреть пузырь искусственного интеллекта

Четкое обнаружение границ с использованием Dice loss

PVT — многофункциональная основа для плотного прогнозирования без свертки

CVPR2021 | Обнаружение объектов в открытом мире

Siamese networkСводка

Краткое изложение терминологии компьютерного зрения (1) Создание системы знаний для компьютерного зрения

Краткое изложение методов недообучения и переобучения

Резюме методов нормализации

Краткое изложение общих идей бумажных инноваций

Резюме методов эффективного чтения англоязычной литературы по направлению CV

Обзор непродолжительного обучения компьютерному зрению

Краткий обзор дистилляции знаний

Краткое изложение методов пирамиды функций в компьютерном зрении

Siamese networkСводка

Краткое изложение методов механизма внимания в компьютерном зрении

Сравнение фреймворков OCR с открытым исходным кодом для распознавания текста — Tesseract и EasyOCR

Краткое изложение терминологии компьютерного зрения (1) Создание системы знаний для компьютерного зрения

Резюме методов нормализации

Краткое изложение методов эффективного чтения англоязычной литературы в компьютерном зрении

Обзор непродолжительного обучения компьютерному зрению

Краткий обзор дистилляции знаний

Краткое изложение методов функции потерь

CVPR2021 | Обнаружение объектов в открытом мире

CVPR2021|PVT — многофункциональная магистраль для плотного прогнозирования без свертки

CVPR2021|Новый способ функциональной пирамиды YOLOF

CVPR2021 | Трансформатор в трансформере, предложенный Huawei Noah Lab

CVPR2021 | Новое внимание после SE, CBAMСиловой механизм Координация внимания

Серия Classic Paper | Переосмысление предварительного обучения в ImageNet