Многие нейронные сети, используемые для приложений обработки изображений, имеют архитектуру, следующую модульному шаблону. Шаблон состоит из модуля энкодера, который понижает дискретизацию входа, за которой следует декодер, который повышает дискретизацию данных. Слои моста опционально соединяют модули энкодера и декодера. Модульный шаблон используется сверточными нейронными сетями (CNNs), такими как U-Net, и генератором генеративной состязательной сети (GAN) и сетями дискриминатора, такими как CycleGAN и PatchGAN.
Для создания модулей энкодера и декодера можно:
Создайте сеть энкодера из предварительно обученной сети, такой как SqueezeNet, используя pretrainedEncoderNetwork
функция. Функция обрезает предварительно обученную сеть таким образом, чтобы энкодер включал количество операций понижающей дискретизации, которые вы задаете.
Создайте модули энкодера и декодера из базовых блоков слоев, которые следуют повторяющемуся шаблону. Чтобы создать модуль, задайте функцию, которая задает шаблон, затем соберите блоки в модуль с помощью blockedNetwork
функция.
Модуль энкодера состоит из начального блока слоев, блоков понижающей дискретизации и остаточных блоков. Модуль декодера состоит из блоков повышающей дискретизации и последнего блока, который обеспечивает выход сети. Таблица описывает блоки слоев, которые обычно содержат модули энкодера и декодера.
Тип блока | Описание |
---|---|
Начальный блок |
|
Блок понижающей дискретизации |
|
Остаточный блок |
|
Блок повышающей дискретизации |
|
Конечный блок |
|
После того, как у вас есть энкодер и модуль декодера, можно объединить модули, чтобы сформировать генератор CNN, GAN или сеть дискриминатора GAN, используя encoderDecoderNetwork
функция. В конце сети можно опционально включать мостовое соединение, пропускать соединения или дополнительные слои.
Можно также создать популярные GAN-генераторы и сети дискриминаторов непосредственно с помощью функций, доступных в Image Processing Toolbox™. Эти сети включают CycleGAN, PatchGAN, pix2pixHD и МОДУЛЬ. Для получения дополнительной информации смотрите Запуск с сетями GAN для преобразования изображений в изображения.
blockedNetwork
| encoderDecoderNetwork
| pretrainedEncoderNetwork