- Оригинальный адрес:Transposed Convolution Demystified
- Оригинальный автор:Divyanshu Mishra
- Перевод с:Программа перевода самородков
- Постоянная ссылка на эту статью:GitHub.com/rare earth/gold-no…
- Переводчик:PingHGao
- Корректор:chzh9311,samyu2000
Расшифровать транспонированную свертку
Транспонированная свертка — это революционная концепция в таких областях применения, как сегментация изображений, сверхвысокое разрешение и т. д., но она несколько неясна. В этой статье я демистифицирую это для вашего удобства.
предисловие
С момента популярности технологии сверточных нейронных сетей (CNN) технология компьютерного зрения вступила в переходный этап. В конкурсе ImageNet 2012 года Alexnet выиграла чемпионат, и с тех пор CNN стала доминирующей технологией для классификации изображений, обнаружения объектов, сегментации изображений и других задач, связанных с изображениями и видео.
По мере того, как сеть становится глубже, операция свертки уменьшает пространственный размер при создании абстрактного представления входного изображения. Эта функция CNN полезна для таких задач, как классификация изображений, где требуется только предсказание наличия или отсутствия определенного объекта на входном изображении. Однако эта функция может вызвать проблемы для таких задач, как локализация и сегментация объектов. Потому что в задачах этого типа пространственный размер объекта на исходном изображении необходим для прогнозирования выходной ограничивающей рамки или сегментации объекта.
Для решения этой проблемы появились различные методы, в том числе полномасштабные сверточные нейронные сети. В полномасштабной сверточной нейронной сети размеры изображения поддерживаются в соответствии с входными данными через одно и то же заполнение. Хотя этот метод в значительной степени решает проблему, он также увеличивает вычислительные затраты, поскольку операция свертки всей сети выполняется с исходным размером входных данных.
Другой подход, используемый в области сегментации изображений, заключается в разделении сети на две части: сеть с понижающей дискретизацией и сеть с повышающей дискретизацией. В сети с понижающей дискретизацией используется общая архитектура CNN, и генерируется абстрактное представление входного изображения. В сети с повышающей дискретизацией используются различные методы для повышения дискретизации абстрактного представления изображения, чтобы его пространственные размеры были равны входному изображению. Эта архитектура также известна как сеть кодер-декодер.
техника повышения дискретизации
Сети с понижающей дискретизацией относительно интуитивно понятны и широко используются, но связанные с ними методы повышения дискретизации редко обсуждаются.
Наиболее широко используемые методы повышающей дискретизации в сетях кодер-декодер:
- Техника ближайшего соседа:Как следует из названия, в методе ближайшего соседа мы копируем значение одного входного пикселя в K ближайших соседей, где K зависит от желаемого результата.
- Билинейная интерполяция:При билинейной интерполяции мы берем 4 ближайших значения входного пикселя и сглаживаем выходные данные на основе средневзвешенного расстояния от этих четырех пикселей.
- Кровать ногтей:В этом методе мы копируем значение входного пикселя в соответствующее место на выходном изображении и заполняем оставшиеся места нулями.
- Обратный максимальный пул:Слой максимального пула в CNN выбирает максимальное значение в ядре свертки в качестве выходных данных. Чтобы выполнить обратную операцию максимального объединения, сначала индекс максимального значения сохраняется для каждого слоя максимального объединения на этапе кодирования. Сохраненные индексы затем используются на этапе «декодирования» для сопоставления входных пикселей с позициями, соответствующими сохраненным индексам и нулям заполнения в другом месте.
Все вышеперечисленные методы предопределены и не зависят от данных, что делает их специфичными для конкретной задачи. Они не могут учиться на данных, поэтому они не являются методами общего назначения.
транспонированная свертка
Транспонированная свертка используется для повышения дискретизации входной карты объектов с некоторыми изучаемыми параметрами, в результате чего получается желаемая выходная карта объектов. Основные этапы работы транспонированной свертки следующие:
- Возьмите в качестве примера закодированную карту объектов 2x2 и увеличьте ее до размера 3x3.
2. Мы используем ядро размером 2x2 с шагом 1 и отступом 0.
- Теперь мы умножаем верхний левый элемент входной карты объектов на каждый элемент ядра, как показано на рисунке 10.
- Опять же, мы делаем это для всех оставшихся элементов входной карты объектов, как показано на рисунке 11.
- Как видите, некоторые элементы результирующих карт объектов с повышенной дискретизацией перекрываются. Чтобы исправить это, мы просто суммируем перекрывающиеся элементы.
- Конечным результатом будет карта объектов размером 3x3 с желаемыми пространственными размерами после повышения дискретизации.
Транспонированная свертка также известна как деконволюция, но это прозвище не подходит. Потому что деконволюция означает противодействие эффекту операции свертки, что не является нашей целью.
Это также называется сверткой с повышающей дискретизацией, которая интуитивно отражает выполняемую задачу, а именно повышающую дискретизацию входной карты объектов.
Поскольку обычная свертка на выходе эквивалентна свертке с дробным шагом на входе, транспонированная свертка также известна как свертка с дробным шагом. Например, свертка с шагом 2 на выходе эквивалентна свертке с шагом 0,5 на входе.
Наконец, его также называют обратной сверткой, потому что прямое вычисление в транспонированной свертке эквивалентно обратному вычислению обычной свертки.
Задача транспонированной свертки:
Транспонированная свертка страдает от эффекта шахматной доски, как показано ниже.
Основная причина этого — неравномерное наложение некоторых частей изображения, вызывающее артефакты. Это можно исправить или смягчить, используя размер ядра, кратный шагу, например размер ядра 2x2 или 4x4, когда шаг равен 2.
Применение транспонированной свертки:
- Супер разрешение:
- Семантическая сегментация:
в заключении:
Транспонированные свертки являются основой современных алгоритмов семантической сегментации и сверхвысокого разрешения. Они обеспечивают лучший и наиболее общий способ повышения дискретизации абстрактных представлений. В этом посте мы исследуем различные часто используемые методы повышающей дискретизации, а затем попытаемся получить более интуитивное и глубокое понимание транспонированных сверток. Надеюсь, вам понравилась эта статья, и если у вас есть какие-либо вопросы, вопросы или комментарии, пожалуйста, не стесняйтесь пройтиTwitterилиLinkedinсвяжитесь со мной.
Справочный каталог:
- CS231n: Convolutional Neural Networks for Visual Recognition
- Транспонированные свертки объясняются с помощью… MS Excel!
- Deep Dive into Deep Learning
Если вы обнаружите ошибки в переводе или в других областях, требующих доработки, добро пожаловать наПрограмма перевода самородковВы также можете получить соответствующие бонусные баллы за доработку перевода и PR. начало статьиПостоянная ссылка на эту статьюЭто ссылка MarkDown этой статьи на GitHub.
Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из ИнтернетаНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.