Basicamente, o treinamento totalmente convolucional captura toda a imagem MxM e produz saídas para todas as sub-imagens em uma única passagem direta ConvNet . O treinamento patchwise explora explicitamente as sub-imagens e produz resultados para cada sub-imagem em passes para frente independentes . Portanto, o treinamento totalmente convolucional geralmente é substancialmente mais rápido do que o treinamento sem patch.
Portanto, para um treinamento totalmente convolucional, você faz atualizações como estas:
- Entrada de imagem MxM inteira (ou várias imagens)
- Envie através do ConvNet -> obtenha um mapa inteiro das saídas (tamanho máximo MxM por imagem, possivelmente menor)
- Faça atualizações usando a perda de todas as saídas
Agora, embora seja bastante rápido, ele restringe o processo de amostragem do treinamento em comparação com o treinamento remendado: você é obrigado a fazer muitas atualizações na mesma imagem(na verdade, todas as atualizações possíveis para todas as sub-imagens) durante uma etapa do seu treinamento. É por isso que eles escrevem que o treinamento totalmente convolucional é apenas idêntico ao treinamento com patches, se cada campo receptivo (também conhecido como subimagem) de uma imagem estiver contido em um lote de treinamento do procedimento de treinamento com patches (para o treinamento com patches, você também pode ter dois de dez possíveis). sub-imagens da imagem A, três das oito possíveis sub-imagens da imagem B, etc. em um lote). Em seguida, eles argumentam que, ao não usar todas as saídas durante o treinamento totalmente convolucional, você se aproxima do treinamento remendado novamente (já que não está fazendo todas as atualizações possíveis para todas as sub-imagens de uma imagem em uma única etapa de treinamento). No entanto, você perde parte da computação. Além disso, na Seção 4.4 / Figura 5,