ARTÍCULO dos clásica red ligeros métodos de compresión: convolución de paquetes (Grupo de convolución) y convolución separable profundidad (profundidad para dar lugar convolución separable)
referencias:
- Breve: pequeño ensayo de ZJC Hermano
- : Detalles análisis R.JD de MobileNet
0. convolución
Para los propósitos ordinarios de convolución, la capa de convolución Filtros determina la cantidad de parámetros, en la que
- Dimensiones (H1, W1) y la entrada / salida de la (H, W) relacionados
- C1 es el mismo que el número de canales de los canales de entrada
- El número de canales c2 y el mismo número de salida
Por lo tanto, la cantidad de capa de los parámetros de convolución común:
1. Paquete de convolución (Grupo Conv)
Paquete desde el primer concepto de convolución AlexNet , como principio básico la figura.
En ese momento sólo por la memoria GTX580 3GB, por lo AlexNet carrera y dos GPU, con el fin de satisfacer las necesidades de su gran cantidad de parámetros
- Los canales de entrada / salida dividido por los grupos G es la dimensión (H1, W1, C1 / g) y (H2, W2, C2 / g)
- De este modo también filtra grupos G C2 / g de dimensiones (h1, w1, C1 / g) de los filtros
De hecho, el equivalente de la fracción de capa de convolución original en capas paralelas g de convolución , de hecho, que no cambió el número de filtros, pero cada filtro sólo es responsable de C1 / g canales de información, y por lo tanto la cantidad de parámetros se convierte en:
2. profundidad convolución separable (profundidad para dar lugar seperable Conv)
En MobileNet , la profundidad de la convolución separable descrito como dos pasos: la profundidad de convolución (profundidad para dar lugar Conv) y convolución punto-Wise (Pointwise Conv)
- profundidad de convolución , de hecho, por encima de un caso especial de convolución de paquetes , de modo que C2 = C1, g = C1, el paquete se convertirá en una convolución convolución de profundidad. Claramente, la profundidad de cada canal es la convolución de la entrada convolucional solo hacerlo ( Hl, W1 de, un C1) → ( H2 de, W2 de, un C1)
- Pointwise convolución , de hecho, un convolucional un caso especial ordinario , sólo el tamaño de convolución kernel de 1 × 1 solamente, sino que significa el uso de un canal de 1 × 1 ajustando Filtros lo hacen (H2 de, W2 de, un C1 ) → (H2 de, W2, C2 )
cálculo de parámetros:
- cantidad convolución de parámetros de profundidad : h1 × w1 × 1 × C1
- Convolución cantidad parámetros estancamiento : 1 × 1 × × C1 C2
Por lo tanto,
(si k para más grande con respecto a C2, y luego
)
La siguiente figura deMobileNet-v1
3. Resumen
- Paquete de convolución : Compresión g
- Separables profundidad de convolución : efecto de trituración
- El equivalente de la profundidad de convolución separable y general de paquetes de convolución convolución que está a cargo de convolución bidimensional, que es responsable para el ajuste del canal de
- 1 × 1 de filtro se debe utilizar puede ser rastreado NIN (, 2013) , a continuación, una serie de redes (incluyendo GoogleNet y la ResNet ) tales usos de diseño diseño de la red (tales como la cantidad de parámetro de compresión)
- MoblieNet de V1 a V3, los ajustes estructurales en los detalles, ver los documentos pertinentes para