nndl-book-Notes-Modelo básico Capítulo 5-Red neuronal convolucional

Capítulo 5 Redes neuronales convolucionales

La red neuronal convolucional (CNN o ConvNet) es una red neuronal de alimentación directa profunda con conexión local, peso compartido y otras características.

    1) Al principio, se usaba principalmente para procesar información de imágenes. Hay dos desventajas de usar la conexión completa para procesar imágenes: demasiados parámetros; características invariantes locales (por lo que aparecen operaciones de convolución).

    2) La red neuronal convolucional es generalmente una red neuronal de alimentación hacia adelante formada por capas convolucionales de apilamiento cruzado, capas de agrupación y capas completamente conectadas, utilizando el algoritmo de retropropagación para el entrenamiento (parámetros de actualización).

    3) Características de la CNN: conexión local, peso compartido (un grupo de conexiones comparte un parámetro), agregación.

    4) Aplicación CNN: Varias tareas de análisis de imágenes y videos, como clasificación de imágenes, reconocimiento de rostros, reconocimiento de objetos, segmentación de imágenes, etc., se han aplicado al procesamiento del lenguaje natural, sistemas de recomendación y otros campos en los últimos años.

  5.1 Convolución

    1) Convolución unidimensional: la convolución unidimensional se usa a menudo en el procesamiento de señales para calcular la acumulación retardada de señales.

                 

    2) Convolución bidimensional: la convolución es similar a las operaciones de correlación cruzada, excepto que la operación de convolución primero invierte el núcleo de convolución en 180° y luego realiza la suma de productos. Entre ellos, la selección del kernel de convolución es diferente, lo que conducirá a diferentes resultados y diferentes efectos después de la operación de convolución. El resultado obtenido después de que una imagen se someta a una operación de convolución se denomina mapa de características.

                  

    5.1.1 Correlación cruzada

    1) En la implementación específica, la convolución generalmente se reemplaza por operaciones de correlación cruzada, lo que reducirá algunas operaciones innecesarias o sobrecarga (cambio de núcleo de convolución).

    2) Las operaciones de convolución en muchas herramientas de aprendizaje profundo son en realidad operaciones de correlación cruzada. Se puede expresar como: Y = W ⊗ X

    5.1.2 Variaciones de convolución

    1) Sobre la base de la convolución, el tamaño de paso deslizante del filtro y el relleno cero se introducen para aumentar la diversidad de la convolución, lo que puede realizar la extracción de características de manera más flexible.

    1) Suponiendo que el número de neuronas de entrada en la capa convolucional es n, el tamaño de la convolución es m, la zancada es s y los rellenos de p cero se rellenan en ambos extremos de las neuronas de entrada, entonces el número de neuronas de la capa convolucional es (n − m + 2p)/s + 1.

         Entre ellos, n+2p es la longitud total después del llenado, menos m es la longitud total de movimiento, /s es el número de veces de movimiento y +1 es el complemento de -2p entre.

         Por lo tanto, se suele tomar un valor adecuado para que (n+2p-m)/s+1 sea un número entero

    2) Hay tres convoluciones de uso común, y la convolución es generalmente una convolución de igual ancho por defecto.

                 

    5.1.3 Propiedades matemáticas de la convolución

    1) En el caso de convolución amplia, es decir cuando p=m-1, es conmutativa, x⊗y = y⊗x.

    1) La conclusión de la derivada en la convolución (la derivación es algo confusa...): Supongamos que Y = W⊗X, donde X ∈ RM×N, W ∈ Rm×n, Y ∈ R(M−m+1 )×(N −n+1

                   1. La derivada parcial de f(Y ) con respecto a W es la convolución de X y ∂f(Y )/∂Y,

                   2. La derivada parcial de f(Y ) con respecto a X es la convolución amplia de W y ∂f(Y )/∂Y.

  5.2 Redes neuronales convolucionales

                  Las redes neuronales convolucionales generalmente consisten en capas convolucionales, capas de agrupación y capas completamente conectadas.

    5.2.1 Sustitución de conexión completa por convolución

    1) Debido a demasiados parámetros causados ​​por la capa completamente conectada, se piensa en usar la capa convolucional en lugar de la capa completamente conectada.

         Se utiliza la convolución en lugar de la conexión total, la entrada neta z(l) de la capa l es la convolución del valor de actividad a(l−1) de la capa l−1 y el filtro w(l) ∈ Rm, es decir, z(l )
                                                     = w(l) ⊗ a(l−1) + b(l),

              Donde el filtro w(l) es un vector de peso aprendible, b(l) ∈ Rnl−1 es un sesgo aprendible. (El propósito es reducir los parámetros)

                                      

    2) Las características de la operación de convolución: conexión local (las neuronas de la siguiente capa están conectadas a todas las neuronas de la capa anterior);

                                      Peso compartido (el filtro w(l) como parámetro es el mismo para todas las neuronas en la capa l-ésima. Es decir, los pesos para diferentes neuronas son los mismos)

    5.2.2 Capa de convolución

    1) La función de la capa de convolución es extraer las características de un área local, y diferentes núcleos de convolución son equivalentes a diferentes extractores de características.

    2) Mapa de características (Feature Map): Es una característica extraída por convolución para una imagen (u otro mapa de características), y cada mapa de características se puede utilizar como una clase de características de imágenes extraídas. (¿Se puede decir que la matriz de imagen es la matriz resultante generada después de la operación de convolución?) Para mejorar la capacidad de representación de la red convolucional, se pueden usar diferentes núcleos de convolución en diferentes capas para obtener diferentes mapas de características.

    3) La siguiente figura muestra una representación de capa convolucional tridimensional, donde el mapa de características de entrada es la matriz de la imagen de entrada, y la conexión completa se reemplaza por convolución para calcular el mapa de características de salida.

        

                

    5.2.3 Capa de agrupación (capa de agrupación capa de agrupación)

    1) La capa convolucional puede reducir la cantidad de conexiones en la red, pero la cantidad de neuronas en el grupo del mapa de características no disminuye significativamente. La razón por la que los clasificadores no se pueden agregar directamente después de la capa convolucional es porque la dimensión es demasiado alta y es probable que ocurra un sobreajuste. Por lo tanto, se necesita una capa de agrupación (capa de convergencia) para reducir la dimensión de la característica y evitar el sobreajuste. Y así reducir el número de parámetros. 

    2) Operación de agregación: agregación máxima (se saca el valor de mayor valor en una misma área); agregación promedio (representada por el valor promedio en un área)

    3) Una capa de agrupación típica divide cada mapa de características en regiones no superpuestas de tamaño 2×2 y luego utiliza el método de agrupación máxima para la reducción de muestreo. La capa de agrupación también se puede considerar como una capa de convolución especial, el tamaño del núcleo de convolución es m × m, el tamaño de paso es s × s y el núcleo de convolución es una función máxima o una función media. Un área de muestreo demasiado grande reducirá drásticamente el número de neuronas y provocará una pérdida de información excesiva.

  5.2.4 Estructura de red convolucional típica

    1) Capa de convolución --> capa de activación (el propósito de la capa de activación es agregar una función no lineal después de la operación de convolución; de lo contrario, la superposición de funciones lineales no puede lograr el efecto de los parámetros de aprendizaje)

        (Capa convolucional --> Capa de activación) --> Capa de convergencia (capa de agrupación) (Para reducir los parámetros del mapa de características después de la operación de convolución, la máxima convergencia en el área común 2*2)

          La capa anterior -----> completamente conectada (para completar las tareas requeridas, como la operación de la capa completamente conectada en la tarea de clasificación como resultado final de la división)

          El softmax final debe ser una operación de normalización para completar el mapeo.

              

    2) La estructura de la red tiende a utilizar núcleos de convolución más pequeños (como 1 × 1 y 3 × 3) y estructuras más profundas (como capas superiores a 50). A medida que la operatividad de la convolución se vuelve más y más flexible (como diferentes tamaños de paso), el papel de la capa de agrupación se vuelve cada vez más pequeño. Por lo tanto, en las redes convolucionales actualmente populares, la proporción de la capa de agrupación se reduce gradualmente, tendiendo a Red totalmente convolucional. ( El kernel de convolución es un número impar para lograr una convolución de igual ancho, y cuanto más profunda sea la profundidad para poder aprender funciones de nivel superior )

  5.3 Aprendizaje de parámetros (derivación de la lectura....)

  5.4 Varias redes neuronales convolucionales típicas

    5.4.1 LeNet-5: Reconocimiento de dígitos escritos a mano

                     https://blog.csdn.net/saw009/article/details/80590245 será muy claro

         

Al calcular los parámetros *6 *6 *3 *1 origen,

    5.4.2 AlexNet

    1) Es el primer modelo moderno de red convolucional profunda, que usa GPU para entrenamiento en paralelo, usa ReLU como una función de activación no lineal, usa Dropout para evitar el sobreajuste y usa mejora de datos para mejorar la precisión del modelo, etc.

    2) Estructura AlexNet: incluye 5 capas convolucionales, 3 capas totalmente conectadas y 1 capa softmax.

                      Acerca de la explicación de la estructura:   https://blog.csdn.net/forsch/article/details/84893277

           

    5.4.3 Red de inicio (como en el documento, no repetido)

    5.4.4 Red ResNet (igual que arriba)

  5.5 Otros métodos de convolución

          Diseñado para realizar diferentes operaciones de convolución con zancada y relleno cero.

    5.5.1 Convolución transpuesta

    1) Para realizar el mapeo de baja dimensión a alta dimensión, este proceso se llama convolución transpuesta.

               

    5.5.2 Convolución de agujeros (para aumentar el campo receptivo del resultado de salida)

           Para una capa convolucional, si desea aumentar el campo receptivo de la unidad de salida , generalmente puede lograrlo de tres maneras: (1) aumentar el tamaño del núcleo de convolución ; (2) aumentar el número de capas ; (3) realizar una operación de agrupación antes de la convolución . Las dos primeras operaciones aumentan el número de parámetros, mientras que la tercera pierde algo de información.

    1) La convolución de agujeros es un método que no aumenta el número de parámetros mientras aumenta el campo receptivo de la unidad de salida.

    2) La convolución de Atrous aumenta su tamaño disfrazado al insertar "agujeros" en el núcleo de la convolución. Si se insertan d − 1 agujeros entre cada dos elementos del kernel de convolución, el tamaño efectivo del kernel de convolución es:
                         m′ = m + (m − 1) × (d − 1)       Ver la animación de la convolución de agujeros: https: //nndl.github.io/v/cnn-conv-more
           donde d se denomina tasa de dilatación (tasa de dilatación). Cuando d = 1, el kernel de convolución es un kernel de convolución ordinario.

Supongo que te gusta

Origin blog.csdn.net/qq_41427834/article/details/107945920
Recomendado
Clasificación