Вопрос или проблема
В статье ResNet описаны входные размеры первого остаточного блока 56x56x64, что вызвано фильтром 7x7x64 на первом слое. Однако в статье показан остаточный блок с размером входа 56x56x256. Как это возможно изменить с 56x56x64 на 56x56x256?
Я не знаю ответа на этот вопрос точно, но предполагаю, что “256-d” относится к короткому соединению и не к входу. Поскольку размер выходных данных трёх свёрточных слоёв на вашей правой картинке (рис. 5) составляет 256, короткое соединение преобразует глубину с 64 до 256.
Как это делается, объясняется в следующем абзаце на стр. 4:
Остаточная сеть. Основываясь на приведенной выше обычной сети, мы
вставляем короткие соединения (Рис. 3, справа), которые
превращают сеть в её остаточную версию. Идентичные
короткие соединения (Уравн. (1)) можно использовать непосредственно, когда входные и
выходные размеры равны (сплошные линии коротких соединений на
Рис. 3). Когда размеры увеличиваются (пунктирные линии коротких соединений
на Рис. 3), мы рассматриваем два варианта: (A) Короткое соединение всё еще
выполняет отображение идентичности, с дополнительными нулевыми записями, добавленными
для увеличения размеров. Этот вариант не вводит дополнительных
параметров; (B) Используется проекционное короткое соединение в Уравн. (2) для
сопоставления размеров (выполняется с помощью свёрток 1×1). Для обоих
вариантов, когда короткие соединения проходят через карты признаков двух
размеров, они выполняются с шагом 2.
Для ResNet-34 это не требуется для первого строительного блока, который показан на рис. 5, но также и для последующих блоков. Это показано пунктирными линиями на рисунке 3:
Здесь 256-d может происходить из одной из трёх вещей, обозначенных в статье как A, B, C.
Где,
A → Зазорные проекции
B → для увеличения размеров используются проекционные короткие соединения, а другие короткие соединения являются идентичными.
C → все короткие соединения являются проекциями.
(как упомянуто на странице 6 статьи)
На приведенной ниже визуализации блока ResNet применяется параллельная операция 1×1, которая преобразует 64 фильтра в 256 фильтров.
Ответ или решение
Вопрос изменения размера входных данных в архитектуре ResNet с 56x56x64 до 56x56x256 требует детального анализа структуры остаточных блоков, используемых в данной модели.
Обзор архитектуры ResNet
В оригинальной статье, посвященной ResNet, предложена новая структура нейронной сети, которая включает остаточные соединения. Эта архитектура помогает избежать проблемы градиентного исчезновения и облегчает процесс обучения глубоких сетей. Первый остаточный блок получает на вход тензор размером 56x56x64, который исходит из слоя свертки с фильтром 7×7 и глубиной 64.
Переход от 56x56x64 к 56x56x256
Для понимания перехода между этими размерами важно рассмотреть, как работает механизм остаточных соединений. На страницах 4 и 6 статьи описаны следующие условия для изменения размера входных данных:
-
Идентичные преобразования: Если размеры входа и выхода одинаковые, используем идентичные соединения (solid line shortcuts). В этом случае ошибки не возникают, и механизм функционирует нормально.
-
Проекционные соединения: Если размеры не совпадают, необходимо использовать проекционные соединения (dotted line shortcuts), которые могут быть реализованы через сверточные слои 1×1. Это позволяет выровнять размерность входных данных с выходными, даже если они различаются по глубине.
Параметры проектирования
Согласно описанию в статье, для изменения выходной размерности с 64 до 256 может быть применен один из следующих подходов:
-
A – Нулевая подложка: Этот метод заключается в добавлении дополнительных нулей в выходные данные, что позволяет сохранить формы, но не добавляет новых параметров к модели.
-
B – Проекции: Эта опция вовлекает свертки 1×1 для выравнивания размерности. В верхнем остаточном блоке, изображенном в приведенной вами иллюстрации, происходит преобразование глубины с 64 до 256 через свертки 1×1, что приводит к увеличению количества фильтров.
-
C – Все соединения проекции: В этом случае все соединения будут использовать проекции для выравнивания размерностей, что также позволяет реструктурировать данные согласно предыдущим слоям.
Заключение
Таким образом, переход от размера 56x56x64 к 56x56x256 в архитектуре ResNet достигается за счет использования проекционных соединений, обеспечивающих корректное согласование размерностей данных. Каждый из перечисленных методов играет важную роль в формировании гибкой и мощной архитектуры нейронных сетей, позволяющей эффективно обучать модель на больших наборах данных.