Поскольку нет подробного и отмеченного ответа, я постараюсь изо всех сил.
Давайте сначала разберемся, откуда взялись мотивы для таких слоев: например, сверточный автоэнкодер. Вы можете использовать сверточный автоэнкодер для извлечения характеристик изображений во время обучения автокодера для восстановления исходного изображения. (Это неконтролируемый метод.)
Такой автоэнкодер состоит из двух частей: кодера, который извлекает элементы из изображения, и декодера, который восстанавливает исходное изображение из этих функций. Архитектура кодера и декодера обычно отражается.
В сверточном автоэнкодере кодер работает со слоями свертки и пула. Я предполагаю, что вы знаете, как это работает. Декодер пытается отразить кодировщик, но вместо того, чтобы «сделать все меньше», он имеет цель «сделать все больше», чтобы соответствовать оригинальному размеру изображения.
Противоположностью сверточных слоев являются транспонированные сверточные слои (также известные как деконволюция , но с математической точки зрения это нечто иное). Они работают с фильтрами, ядрами и шагами так же, как слои свертки, но вместо отображения, например, с 3х3 входных пикселей на 1 вывод, они отображают от 1 входного пикселя до 3х3 пикселей. Конечно, обратное распространение также работает немного иначе.
Противоположностью объединяющих слоев являются слои повышенной дискретизации, которые в чистом виде изменяют только размер изображения (или копируют пиксель столько раз, сколько необходимо). Более продвинутый метод - удаление, которое восстанавливает максимальное объединение, запоминая расположение максимумов в слоях максимального и в неиспользуемых слоях, копирует значение именно в это местоположение. Цитировать из этого ( https://arxiv.org/pdf/1311.2901v3.pdf ) документа:
В конвенте операция максимального объединения необратима, однако мы можем получить приблизительное обратное, записав местоположения максимумов в каждой области объединения в наборе переменных переключения. В deconvnet операция объединения использует эти переключатели для помещения реконструкций из уровня выше в соответствующие места, сохраняя структуру стимула.
Для получения дополнительной технической информации и контекста взгляните на это действительно хорошее, наглядное и подробное объяснение: http://deeplearning.net/software/theano/tutorial/conv_arithmetic.html
И посмотрите на https://www.quora.com/What-is-the-difference-between-Deconvolution-Upsampling-Unpooling-and-Convolutional-Sparse-Coding