Como não há resposta detalhada e marcada, tentarei o meu melhor.
Vamos primeiro entender de onde vem a motivação para essas camadas: por exemplo, um autoencoder convolucional. Você pode usar um auto-codificador convolucional para extrair usuários de imagens enquanto treina o auto-codificador para reconstruir a imagem original. (É um método não supervisionado.)
Esse codificador automático possui duas partes: o codificador que extrai os recursos da imagem e o decodificador que reconstrói a imagem original desses recursos. A arquitetura do codificador e decodificador é geralmente espelhada.
Em um autoencoder convolucional, o codificador trabalha com camadas de convolução e pool. Presumo que você saiba como isso funciona. O decodificador tenta espelhar o codificador, mas em vez de "tornar tudo menor", ele tem o objetivo de "tornar tudo maior" para corresponder ao tamanho original da imagem.
O oposto das camadas convolucionais são as camadas de convolução transpostas (também conhecidas como deconvolução , mas falando matematicamente corretamente isso é algo diferente). Eles trabalham com filtros, núcleos, passos exatamente como as camadas de convolução, mas em vez de mapearem, por exemplo, 3x3 pixels de entrada para 1 saída, eles mapeiam de 1 pixel de entrada para 3x3 pixels. Claro, também a retropropagação funciona um pouco diferente.
O oposto das camadas de pooling são as camadas de upsampling que, na sua forma mais pura, redimensionam a imagem (ou copiam o pixel quantas vezes for necessário). Uma técnica mais avançada é o desassociação, que reverte o máximo, lembrando a localização dos máximos nas camadas de máximo e copie o valor exatamente para esse local. Para citar este documento ( https://arxiv.org/pdf/1311.2901v3.pdf ):
No convnet, a operação de pool máximo não é invertível, no entanto, podemos obter um inverso aproximado registrando os locais dos máximos dentro de cada região de pool em um conjunto de variáveis de chave. No deconvnet, a operação de desconexão usa esses comutadores para colocar as reconstruções da camada acima em locais apropriados, preservando a estrutura do estímulo.
Para informações e contexto mais técnicos, dê uma olhada nesta explicação realmente boa, demonstrativa e aprofundada: http://deeplearning.net/software/theano/tutorial/conv_arithmetic.html
E dê uma olhada em https://www.quora.com/What-is-the-difference-between-Deconvolution-Upsampling-Unpool-and-Convolutional-Sparse-Coding