CS231n Lecture5-convolucionales Redes Neuronales Notas de Estudio

一, Introducción a la arquitectura

  • Regular Redes Neuronales y convolucional Redes Neuronales (插图)

1. Las capas se utilizan para construir ConvNets

  • Por lo general, la capa de convolución, la capa agrupada, completamente conectado capas.
  • Sin embargo, la convolución entre las capas y la capa de células, en general, tiene una capa de función activa
  • Cada capa recibe un parámetro tridimensional es de entrada, mientras que la salida de un conjunto de datos tridimensionales por diferentes funciones
  • Y una capa de convolución totalmente conectado parámetros de la capa; activado capa de células y la capa de función no tiene parámetros.
  • capa de convolución, capas y capas totalmente conectadas piscina puede tener hiper-parámetros adicionales, pero no la capa de función de activación.
  • ilustración explicar

二, Capa convolucional

  1. Conectividad local: conexión Nos convolución kernel utilizado (o llamados campos receptivos campo receptivo), esta parte es la diferencia entre antes y parámetros de red neural ordinarias de esta sección es compartida, se puede ahorrar una gran cantidad de recursos.

  2. disposición espacial: parámetro tres super importante, una profundidad (profundidad), la etapa (paso), 0 se llena (cero-padding). Es decir, la profundidad de la serie de canales en la salida, el número del kernel de convolución es mucha profundidad, y la etapa de convolución se desliza sobre el tamaño de la imagen; 0 se llena alrededor de los datos de entrada se llena en todas-0 datos.

  3. Cálculo de un tamaño de salida: tamaño del tamaño de entrada de W, el tamaño del núcleo de convolución F; tamaño de paso S; tamaño 0 llenado P; tamaño de salida es (W-F+2*P)/S+1(ilustración)

  4. Lleno de 0s razón: es decir, la celebración de la misma entrada de tamaño y tamaño de salida del tamaño; también establecer a veces paso, si no se utiliza el material de carga, la salida es el caso habrá un decimal, entonces no es válida, y por lo tanto necesita ser llenado.

  5. Parámetro para compartir: se habla de los parámetros del kernel de convolución es compartida.

  6. kernel de convolución y cómo las operaciones de área local: Sabemos que la forma general es un núcleo de convolución 5x5x3, 3representa la profundidad de los datos de entrada originales, es decir, número de canales, que se dibujan en al núcleo de convolución en una práctica una dimensional kernel vector convolución mientras que la parte de solapamiento también se estira en un 5x5x3=75vector unidimensional, las dos partes puede ser una operación de producto escalar. Por último, conseguir un número, que es una convolución La nucleación de píxeles se acaba de generar. Por ejemplo, en el tamaño original 227x227x3, el tamaño del núcleo de convolución 11x11x3=363, tamaño de paso 4, sin necesidad de utilizar un material de carga, calculado según la fórmula (227-11)/4+1=55, el número del núcleo de convolución utilizado es 96uno, es decir, el número de canales de tamaño de salida 96, tamaño de salida se convierte 55x55x96, con la explicación anterior se extrae parcialmente como vector dimensional una convolución kernel, que se puede ver como el núcleo de convolución 96x363y la entrada de 363x3025la multiplicación de matrices, que es el resultado final del producto dot96x3025=55x55x96

  7. Retropropagación: operación de convolución (por peso y datos de peso) también se transmite a la convolución (pero usando filtro de espacio flip)

  8. 1x1 convolución:

  9. circunvoluciones dilatadas:

  10. caso:

三, Uso compartido de capa, Capa de Normalización y capa totalmente conectado

  • términos simples es la disminución de resolución, para reducir el tamaño, la overfitting control, se mantiene sin cambiar la profundidad, es decir, el número de canales.
  1. Dimensionamiento: Ilustración

  2. puesta en común general: general agruparon máxima, la agrupación de promedio, L2 paradigma agruparon.

  3. retropropagación:

  4. Algunos capa de estructura de red también puede ser desechada piscina

  5. capa de normalización , ha fracasado en una serie de estructura de la red, mientras que una serie de experimentos han demostrado que esta parte de la contribución a los resultados es muy pequeña.

  6. capas totalmente conectadas , la última capa se introduce en un vector de datos de una sola dimensión, una operación subsiguiente, para cada tipo de puntuación generado.

四, la conversión de capas FC a las capas CONV

  1. No sabía

五, ConvNet Arquitecturas

  1. INPUT -> [[CONV -> RELU]*N -> POOL?]*M -> [FC -> RELU]*K -> FC
  2. Por lo general, una estructura de red de convolución como se muestra arriba, N es el número de repeticiones es generalmente mayor que el módulo 0es menor que 3, el número de otros parámetros de la misma manera.
  3. Yo prefiero usar varios pequeños nivel de convolución kernel en lugar de una gran capa de núcleo de convolución para lograr el tamaño del mismo tamaño. Las siguientes razones: 1. Los capa comprende múltiples capas lineales convolución, caracterizados en que son más expresivo; 2. el uso de menos parámetros expresan características de entrada más potentes. Contras: pueden necesitar más memoria para dar cabida a los resultados de toda la capa intermedia de convolución, si invertimos la propagación.
  4. Algunos parámetros comunes, típicamente el tamaño de la entrada 32, 64, 96, 224, 384, 512, la capa de núcleo de convolución convolución Fy el tamaño de paso Sy el relleno Pde la relación, suponiendo tamaño de paso S = 1, si se quiere mantener el tamaño original, entoncesP = (F - 1)/2
  5. ¿Por qué utilizar la zancada de 1 en CONV? Nos permiten más especímenes pool de superficies de la capa, mientras que al mismo tiempo convertir sólo el número de canales.
  6. ¿Por qué utilizar el relleno? Además de mantener el mismo espacio se ha mencionado anteriormente, también puede mejorar el rendimiento, la extracción más eficiente de la información de la característica, debido a la excesiva reducido perdido una gran cantidad de información útil.

六, Estudios de casos

  1. LeNet: 1990 red de convolución aplicado con éxito, se utiliza para identificar los códigos postales. papel

  2. AlexNet: La primera obra popular en la visión por ordenador, en 2012 los puntajes IMAGEnet ILSVRC desafío de juego mucho más alto que el segundo. La estructura y el conocimiento LeNet, pero la red más profundo y más grande. papel

  3. ZF neto: es una mejora AlexNet mediante el ajuste de parámetros sobre la arquitectura, particularmente por la ampliación del tamaño de la capa intermedia de convolución, y el tamaño de la primera capa de filtro y zancada más pequeño. papel

  4. GoogLeNet: 2014 ganadores Nian ILSVRC son Szegedy, que la red de convolución de Google. Su principal contribución es para iniciar el desarrollo del módulo, el módulo reduce drásticamente el número de parámetros de la red (4 M, y AlexNet solamente 60M). Además, como se usa en este documento, la piscina promedio en la parte superior de ConvNet en lugar de capa completamente conectados, la eliminación de una gran cantidad de ella parece parámetros menos importantes. papel

  5. VGGNet: 2014 Nian ILSVRC segundo puesto es Karen Simonyan y Andrew Zisserman fundada VGGNet. Su principal contribución es para mostrar la profundidad de la red es un componente clave de un buen rendimiento. Su mejor final de la red incluye 16 capas CONV / FC, y el interés es, tiene una estructura muy homogénea, sólo para terminar la ejecución de la piscina de 3x3 y 2x2 convolución desde el principio. Se pre-formados modelos de conexión plug and play en caffe en. Un inconveniente es que VGGNet mayor sobrecarga computacional y usos más memoria y parámetros (140 millones). La mayoría de estos parámetros se encuentran en un capas totalmente conectadas, y desde entonces, nos encontramos con que el FC puede eliminar estas capas sin sacrificar el rendimiento, lo que reduce significativamente el número de parámetros requeridos. papel

  6. ResNet: ganaron el campeonato de 2015 por el ILSVRC Él Kaiming, quien desarrolló la red residual. Tiene un conector especial y un gran número de omitidos mediante la estandarización de lotes. La arquitectura también carece de un extremos de capa de red totalmente conectado. Los lectores también pueden referirse a kaim de demostración (vídeo, diapositivas), y algunos experimentos recientes copia de estas redes en la antorcha. ResNets es actualmente el modelo más avanzado de convolución red neuronal, la opción por defecto es el uso de redes neuronales en la práctica de convolución (10 de mayo, el año 2016 terminó). De particular interés es que recientemente ha habido más cambios. papel

  7. VGGNet en detalle .:

INPUT: [224x224x3]        memory:  224*224*3=150K   weights: 0
CONV3-64: [224x224x64]  memory:  224*224*64=3.2M   weights: (3*3*3)*64 = 1,728
CONV3-64: [224x224x64]  memory:  224*224*64=3.2M   weights: (3*3*64)*64 = 36,864
POOL2: [112x112x64]  memory:  112*112*64=800K   weights: 0
CONV3-128: [112x112x128]  memory:  112*112*128=1.6M   weights: (3*3*64)*128 = 73,728
CONV3-128: [112x112x128]  memory:  112*112*128=1.6M   weights: (3*3*128)*128 = 147,456
POOL2: [56x56x128]  memory:  56*56*128=400K   weights: 0
CONV3-256: [56x56x256]  memory:  56*56*256=800K   weights: (3*3*128)*256 = 294,912
CONV3-256: [56x56x256]  memory:  56*56*256=800K   weights: (3*3*256)*256 = 589,824
CONV3-256: [56x56x256]  memory:  56*56*256=800K   weights: (3*3*256)*256 = 589,824
POOL2: [28x28x256]  memory:  28*28*256=200K   weights: 0
CONV3-512: [28x28x512]  memory:  28*28*512=400K   weights: (3*3*256)*512 = 1,179,648
CONV3-512: [28x28x512]  memory:  28*28*512=400K   weights: (3*3*512)*512 = 2,359,296
CONV3-512: [28x28x512]  memory:  28*28*512=400K   weights: (3*3*512)*512 = 2,359,296
POOL2: [14x14x512]  memory:  14*14*512=100K   weights: 0
CONV3-512: [14x14x512]  memory:  14*14*512=100K   weights: (3*3*512)*512 = 2,359,296
CONV3-512: [14x14x512]  memory:  14*14*512=100K   weights: (3*3*512)*512 = 2,359,296
CONV3-512: [14x14x512]  memory:  14*14*512=100K   weights: (3*3*512)*512 = 2,359,296
POOL2: [7x7x512]  memory:  7*7*512=25K  weights: 0
FC: [1x1x4096]  memory:  4096  weights: 7*7*512*4096 = 102,760,448
FC: [1x1x4096]  memory:  4096  weights: 4096*4096 = 16,777,216
FC: [1x1x1000]  memory:  1000 weights: 4096*1000 = 4,096,000

TOTAL memory: 24M * 4 bytes ~= 93MB / image (only forward! ~*2 for bwd)
TOTAL params: 138M parameters

七, Consideraciones computacionales

  • Hay tres fuentes principales de memoria para no perder de vista:
  1. Almacenamiento de los datos intermedios
  2. Tamaño del parámetro, el gradiente
  3. Debe mantener una amplia variedad de memoria, tales como piezas de datos de imagen, tal vez la versión mejorada, y así sucesivamente.

Supongo que te gusta

Origin www.cnblogs.com/tsruixi/p/12616889.html
Recomendado
Clasificación