Descripción general de las redes neuronales convolucionales

Soy un novato, ¿puedes señalar algún problema en el estudio?

¿Qué es una red neuronal convolucional?

Las redes neuronales convolucionales (CNN) son un tipo de red neuronal feedforward que contiene cálculos convolucionales y tiene una estructura profunda. Es una variante del perceptrón multicapa (MLP). Es esencialmente un perceptrón multicapa, pero debido a su Se adopta el método de conexión local y reparto de pesos. Por un lado, reduce el número de pesos y facilita la optimización de la red. Por otro lado, también reduce la complejidad del modelo y reduce el riesgo de sobreajuste. Las redes neuronales convolucionales tienen ventajas más obvias al ingresar imágenes. Pueden usar imágenes directamente como la entrada de la red, evitando los complejos procesos de extracción de características y reconstrucción de datos en los algoritmos de reconocimiento tradicionales. Durante el procesamiento de imágenes bidimensionales Tiene grandes ventajas. Por ejemplo, la red puede extraer características de la imagen, incluidos el color, la textura, la forma y la estructura topológica de la imagen por sí misma. Se utiliza para tratar imágenes bidimensionales, especialmente el reconocimiento de desplazamiento, escalado y otras formas de aplicaciones de invariancia de distorsión. Tiene buena robustez y eficiencia computacional.

La estructura de la red neuronal convolucional:

La red neuronal convolucional generalmente se compone de una capa de entrada, una capa oculta y una capa de salida. La capa oculta se compone principalmente de una capa convolucional, una capa de agrupación, una capa completamente conectada, etc. La composición general es como se muestra en la figura anterior.

Capa convolucional:

Mediante la operación de convolución, podemos extraer las características de la imagen. Mediante la operación de convolución, se pueden mejorar algunas características de la señal original y reducir el ruido. La operación de convolución es aproximadamente como se muestra en la figura siguiente.

El lado izquierdo de la figura es la imagen de entrada (5 × 5), el medio es el núcleo de convolución (3 × 3) y el derecho es el resultado de la convolución (3 × 3). Durante la operación, el núcleo de convolución comienza desde la esquina superior izquierda de la imagen, de izquierda a derecha de arriba a abajo, y realiza secuencialmente la convolución con una longitud de paso de 1. La operación de convolución específica es multiplicar los coeficientes en el núcleo de convolución por la posición correspondiente de la imagen. Value y luego acumular todos los valores para obtener el valor de un determinado píxel del mapa de características. Por ejemplo, 155 = (- 1) × 0 + (- 2) × 0 + (- 1) × 75 + 0 × 0 + 0 × 75 + 0 × 80 + 1 × 0 + 2 × 75 + 1 × 80 . Como podemos ver en la figura, la simple convolución hará que el tamaño de la imagen sea menor. Por lo tanto, para reducir la pérdida de características de la imagen, generalmente llenamos la imagen de entrada con el valor de relleno generalmente 0 o relleno de límites repetido. Suponga que el tamaño de la imagen de entrada es l, el número de capas de relleno para un cierto lado es p, el tamaño del núcleo de convolución es f, el tamaño del paso es w, y el tamaño de la imagen de salida es L, entonces:

        L = (l + 2 × pf) ÷ w + 1

En términos generales, para garantizar el efecto de la extracción de entidades, no cambiaremos el tamaño del mapa de entidades durante la convolución y el ancho y la altura permanecen sin cambios.

Capa de agrupación:

La capa de agrupación es generalmente una operación para reducir el tamaño del mapa de características y, al mismo tiempo, garantizar que las características no se pierdan tanto como sea posible. La agrupación habitual se divide en agrupación máxima y agrupación promedio. En términos generales, la energía de agrupación promedio Reduzca el error causado por el aumento en la varianza del valor estimado causado por el tamaño limitado del vecindario, conservando así la información de fondo de la imagen, y la combinación máxima puede reducir la desviación del valor medio estimado causada por el error de parámetro de la capa de convolución de plata Error, reteniendo así más información de textura. La figura anterior es el resultado de agrupar una imagen de 4 × 4 con 2 × 2 y un tamaño de paso de 2.

Capa completamente conectada:

La capa completamente conectada en la red neuronal convolucional es equivalente a la capa oculta en la red neuronal feedforward tradicional. La capa completamente conectada generalmente se construye en la última parte de la capa oculta de la red neuronal convolucional y solo transmite señales a otras capas completamente conectadas. El mapa de características pierde la estructura tridimensional en la capa completamente conectada, se expande en un vector y pasa a la siguiente capa a través de la función de excitación. En algunas redes neuronales convolucionales, la función de la capa completamente conectada se puede reemplazar parcialmente por la agrupación de promedios globales. La agrupación de promedios globales promediará todos los valores de cada canal del mapa de características, es decir, si hay 7 × 7 × 256 mapa de características, la agrupación media global devolverá un vector de 256, donde cada elemento es 7 × 7, el tamaño del paso es 7 y la agrupación promedio sin relleno.

Función de incentivo:

En el pasado, las funciones de excitación comúnmente utilizadas eran la función sigmoidea y la función tanh. Sin embargo, en los últimos años, la función ReLu (rectificación lineal) se usa más comúnmente en redes neuronales convolucionales. El uso de ReLu y la función sigmoidea anterior tienen el mismo efecto, pero la velocidad de convergencia de ReLu será Es mucho más rápido que los otros dos, y es más fácil de aprender y optimizar. Debido a su linealidad por partes, la pasada anterior y posterior y la derivación son todas lineales por partes, lo que alivia los problemas de desaparición del gradiente y sobreajuste hasta cierto punto. En el entrenamiento de red profunda, tanto tanh como sigmoide tienden a saturarse en el valor final, lo que hace que la velocidad de entrenamiento sea demasiado lenta, por lo que la función ReLu se usa a menudo de forma predeterminada. Sin embargo, la función ReLu tendrá un problema de muerte. La razón principal es que la tasa de aprendizaje es demasiado grande, por lo que el valor de salida de los datos de entrada es menor que 0 cuando los datos de entrada pasan a través de la neurona, y luego ReLu no tendrá ningún efecto, así que preste atención a que la tasa de aprendizaje no sea demasiado grande.

El proceso de entrenamiento de la red neuronal convolucional:

CNN es esencialmente un mapeo de entrada a salida. Puede aprender una gran cantidad de relaciones de mapeo entre entrada y salida sin requerir ninguna expresión matemática precisa entre entrada y salida, siempre y cuando utilice un patrón conocido para La red convolucional está entrenada y la red tiene la capacidad de mapear entre pares de entrada y salida. La red convolucional realiza entrenamiento supervisado, por lo que su conjunto de muestra está compuesto por pares de vectores de la forma: (vector de entrada, vector de salida ideal). Todos estos pares de vectores deben derivarse de la estructura de "ejecución" real del sistema que la red está a punto de simular, y pueden recopilarse del sistema en ejecución real.

1) Inicialización de parámetros: antes de comenzar el entrenamiento, todos los pesos deben inicializarse con algunos números aleatorios diferentes. "Número aleatorio pequeño" se utiliza para asegurar que la red no entrará en un estado saturado debido a pesos excesivos, lo que resultará en fallas de entrenamiento; se utiliza "diferente" para garantizar que la red pueda aprender normalmente. De hecho, si la matriz de ponderación se inicializa con el mismo número, la red no tiene capacidad de aprendizaje.

2) El proceso de entrenamiento incluye cuatro pasos ① La primera etapa: la etapa de propagación hacia adelante i toma una muestra del conjunto de muestras y entra en la red ii para calcular la salida real correspondiente; en esta etapa, la información se transforma de la capa de entrada a la capa de salida Este proceso también es el proceso que se realiza cuando la red se ejecuta normalmente después de que se completa el entrenamiento. La segunda etapa: la etapa de propagación hacia atrás iii calcula la diferencia entre la salida real y la salida ideal correspondiente iv ajusta la matriz de peso de toda la red de acuerdo con el método de minimizar el error Pasos de formación específicos:

1. Seleccione el grupo de entrenamiento y busque aleatoriamente N muestras del conjunto de muestras como grupo de entrenamiento;

2. Establezca cada peso y umbral en un pequeño valor aleatorio cercano a 0 e inicialice los parámetros de control de precisión y la tasa de aprendizaje;

3. Tome un patrón de entrada del grupo de entrenamiento y agréguelo a la red, y proporcione su vector de salida objetivo;

4. Calcule el vector de salida de la capa intermedia y calcule el vector de salida real de la red;

5. Compare los elementos del vector de salida con los elementos del vector de destino para calcular el error de salida, la unidad oculta de la capa intermedia también necesita calcular el error;

6. Calcule la cantidad de ajuste de cada peso y la cantidad de ajuste del umbral a su vez;

7. Ajuste el peso y ajuste el umbral;

8. Después de experimentar M, juzgue si el índice cumple con los requisitos de precisión, si no, regrese a (3) y continúe iterando, si está satisfecho, vaya al siguiente paso;

9. Al final del entrenamiento, guarde los pesos y umbrales en un archivo. En este momento, se puede considerar que los distintos pesos se han estabilizado y se ha formado el clasificador. El entrenamiento se vuelve a realizar y los pesos y umbrales se derivan directamente del archivo para el entrenamiento sin inicialización.

 

Supongo que te gusta

Origin blog.csdn.net/qq_36909245/article/details/104380251
Recomendado
Clasificación