Ligera red: la profundidad de paquetes separables convolución convolución y

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:

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: PAG 1 = h 1 × w 1 × C 1 × C 2 = k 2 C 1 C 2 P1 = h1 × × w1 C1 × C2 = k ^ 2C1C2
Aquí Insertar imagen Descripció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

Aquí Insertar imagen Descripción

  • 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: PAG 2 = PAG 1 / sol P2 = P1 / g

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, PAG 3 = k 2 C 1 + C 1 C 2 = ( 1 / C 2 + 1 / k 2 ) PAG 1 P3 = k ^ 2C1 + C1C2 = (1 / C2 + 1 / k ^ 2) P1
(si k para más grande con respecto a C2, y luego PAG 3 PAG 1 / k 2 P3≈P1 / k ^ 2 )
Aquí Insertar imagen Descripción
La siguiente figura deMobileNet-v1
Aquí Insertar imagen Descripción

3. Resumen

  • Paquete de convolución : Compresión α \ propto g
  • Separables profundidad de convolución : efecto de trituración α \ propto k 2 k ^ 2
  • 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
Publicado 52 artículos originales · ganado elogios 4 · Vistas 2156

Supongo que te gusta

Origin blog.csdn.net/qq_42191914/article/details/103491048
Recomendado
Clasificación