Las capas convolucionales y las capas de agrupación son independientes de las dimensiones de entrada. Sin embargo, la salida de las capas convolucionales tendrá diferentes tamaños espaciales para imágenes de diferentes tamaños, y esto causará un problema si tenemos una capa completamente conectada después (ya que nuestra capa completamente conectada requiere una entrada de tamaño fijo). Hay varias soluciones para esto:
1. Agrupación global: evite las capas completamente conectadas al final de las capas convolucionales, y en su lugar use la agrupación (como la Agrupación promedio global) para reducir sus mapas de características de una forma de (N, H, W, C) (antes de la agrupación global ) para dar forma (N, 1,1, C) (después del conjunto global), donde:
N = Número de muestras de minibatch
H = Altura espacial del mapa de características
W = Ancho espacial del mapa de características
C = Número de mapas de características (canales)
Como Como se puede ver, la dimensionalidad de salida (N * C) ahora es independiente del tamaño espacial (H, W) de los mapas de características. En caso de clasificación, puede proceder a usar una capa completamente conectada en la parte superior para obtener los logits para sus clases.
2. Agrupación de tamaño variable:Utilice regiones de agrupación de tamaño variable para obtener el mismo tamaño de mapa de características para diferentes tamaños de entrada.
3. Recortar / redimensionar / rellenar imágenes de entrada: puede intentar cambiar la escala / recortar / rellenar sus imágenes de entrada para que todas tengan la misma forma.
En el contexto del aprendizaje por transferencia, es posible que desee utilizar entradas de diferente tamaño que las entradas originales con las que se entrenó el modelo. Aquí hay algunas opciones para hacerlo:
4. Cree nuevas capas completamente conectadas: puede deshacerse completamente de las capas completamente conectadas originales e inicializar una nueva capa completamente conectada con la dimensionalidad que necesita, y entrenarla desde cero.
5. Trate la capa completamente conectada como una convolución: normalmente, damos forma a los mapas de características de (N, H, W, C) a (N, H * W * C) antes de alimentarla a la capa completamente conectada. Pero también puede tratar la capa totalmente conectada como una convolución con un campo receptivo de (H, W). Luego, puede convolver este núcleo con sus mapas de características independientemente de su tamaño (use cero relleno si es necesario) [
http://cs231n.github.io/transfer-learning/ ].