глоссарий

Transposed convolution

Transposed convolution

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

Зачем это нужно? Генеративно-состязательные сети, автоэнкодеры и модели для сегментации изображений должны переходить от абстрактного, сжатого представления данных к полному визуальному образу. Без транспонированных сверток такие сети просто не смогли бы формировать изображения высокого разрешения, а учились бы только уменьшать или классифицировать.

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

Показательный пример — StyleGAN, сеть, генерирующая реалистичные лица людей. Она начинает с небольшого скрытого вектора размером 1024 числа, а затем последовательно применяет транспонированные свертки, увеличивая изображение с 8×8 до 16×16, потом до 32×32 и так далее, пока не получит картинку 1024×1024 пикселей. Этот же принцип используется в нейросетях для раскрашивания черно-белых фотографий и повышения разрешения старых видео.

В итоге транспонированная свертка — ключевой инструмент генеративного ИИ, превращающий сжатые данные в полноценные изображения.