Colección de citas famosas - Slogan de motivación - Introducción a la red CNN

Introducción a la red CNN

Introducción a la red neuronal convolucional

La red neuronal convolucional es un método de identificación eficaz desarrollado en los últimos años y ha atraído una atención generalizada. En la década de 1960, cuando Hubel y Wiesel estudiaban las neuronas utilizadas para la sensibilidad local y la selección de dirección en la corteza del gato, descubrieron que su estructura de red única podía reducir efectivamente la complejidad de la red neuronal de retroalimentación y luego propusieron la red neuronal convolucional (convolucional). Red neuronal)

Neural

CNN). Ahora, CNN se ha convertido en uno de los puntos de investigación en muchos campos científicos, especialmente en el campo de la clasificación de patrones. Dado que la red evita el preprocesamiento complejo de imágenes y puede ingresar directamente imágenes originales, se ha utilizado ampliamente.

La nueva máquina de reconocimiento propuesta por K. Fukushima en 1980 fue la primera red en implementar una red neuronal convolucional. Posteriormente, más investigadores mejoraron la red. Entre ellos, el resultado representativo de la investigación es la "máquina cognitiva mejorada" propuesta por Alexander y Taylor, que combina las ventajas de varios métodos de mejora y evita la lenta retropropagación de errores.

En términos generales, la estructura básica de CNN incluye dos capas. Una capa es la capa de extracción de características. La entrada de cada neurona está conectada al campo receptor local de la capa anterior para extraer características locales. Una vez que se extrae una característica local, también se determina su relación posicional con otras características. La segunda capa es la capa de mapeo de características. Cada capa informática de la red se compone de múltiples mapas de características. Cada mapa de características es un plano y los pesos de todas las neuronas en el plano son iguales. La estructura de mapeo de características utiliza la función sigmoidea con una menor influencia en el núcleo de la función como función de activación de la red convolucional, de modo que el desplazamiento del mapa de características permanece sin cambios. Además, el número de parámetros libres de la red se reduce debido al peso otorgado a las neuronas en el plano de mapeo. Cada capa convolucional en una red neuronal convolucional va seguida de una capa computacional para el promedio local y la extracción secundaria. Esta estructura única de extracción de características secundarias reduce la resolución de las características.

CNN se utiliza principalmente para identificar gráficos bidimensionales que son invariantes al desplazamiento, escalado y otras formas de distorsión. Dado que la capa de detección de características de CNN se aprende de los datos de entrenamiento, se evita la extracción de características de la visualización y se aprende implícitamente de los datos de entrenamiento cuando se usa CNN. Además, dado que los pesos de las neuronas en el mismo plano de mapeo de características son los mismos, la red puede aprender en paralelo, lo que también es una gran ventaja de las redes convolucionales sobre las redes en las que las neuronas están conectadas entre sí. Las redes neuronales convolucionales tienen ventajas únicas en el reconocimiento de voz y el procesamiento de imágenes debido a su estructura especial de reparto de peso local. Su diseño se acerca más a la red neuronal biológica real y el peso compartido reduce la complejidad de la red. En particular, las imágenes con vectores de entrada multidimensionales se pueden ingresar directamente en la red, evitando la complejidad de la reconstrucción de datos durante la extracción y clasificación de características.

65438+

Primero, se presenta la red neuronal. Para obtener más información sobre este paso, consulte el Recurso 1. Una breve introduccion. Cada unidad de la red neuronal es la siguiente:

La fórmula correspondiente es la siguiente:

Entre ellas, esta unidad también se puede llamar modelo de regresión logística. Cuando se combinan varias unidades y tienen una estructura jerárquica, se forma un modelo de red neuronal. La siguiente imagen muestra una red neuronal con capas ocultas.

La fórmula correspondiente es la siguiente:

Del mismo modo, se puede ampliar a 2, 3, 4, 5,... capas ocultas.

El método de entrenamiento de la red neuronal también es similar al logístico, pero debido a su naturaleza multicapa, es necesario utilizar la regla derivada de la cadena para derivar los nodos en la capa oculta, es decir, el descenso de gradiente. + regla de derivación de cadena, y el nombre profesional se propaga al revés. Con respecto al algoritmo de entrenamiento, este artículo no lo cubrirá por el momento.

Red neuronal convolucional

En el procesamiento de imágenes, las imágenes a menudo se representan como vectores de píxeles. Por ejemplo, una imagen de 1000 × 1000 se puede representar como un vector de 100.000. Para la red neuronal mencionada en la sección anterior, si el número de capas ocultas es el mismo que el número de capas de entrada, es decir, 1000000, entonces los datos de parámetros desde la capa de entrada a la capa oculta son 1000000 × 1000000 = 10 12 , que es demasiado. Por lo tanto, si desea practicar el método de redes neuronales en el procesamiento de imágenes, primero debe reducir los parámetros y acelerar el proceso. Como el manual de espada para alejar a los espíritus malignos. La gente común es terrible en la práctica. Una vez que tu fuerza interna se fortalezca y tus habilidades con la espada se vuelvan más rápidas, te volverás increíble.

2.1 Percepción local

Las redes neuronales convolucionales tienen dos artefactos para reducir el número de parámetros. El primer artefacto se llama campo perceptivo local. En general, se cree que la cognición del mundo exterior por parte de las personas es de local a global, y la conexión espacial de las imágenes también es que los píxeles locales están más cerca, mientras que la correlación de los píxeles distantes es débil. Por lo tanto, cada neurona no necesita percibir la imagen global, solo necesita percibir la imagen local y luego sintetizar la información local a un nivel superior para obtener la información global. La idea de que las redes están parcialmente conectadas también se inspira en la estructura de los sistemas visuales en biología. Las neuronas de la corteza visual reciben información localmente (es decir, estas neuronas responden sólo a la estimulación en determinadas áreas). Como se muestra en la siguiente figura: la imagen de la izquierda es la conexión completa y la imagen de la derecha es la conexión local.

En la imagen de la derecha, si cada neurona solo está conectada a valores de 10 × 10 píxeles, entonces los datos de peso son 100000 × 100 parámetros, reducidos a una milésima parte del valor original. Los parámetros de 10 × 10 correspondientes a valores de 10 píxeles son en realidad equivalentes a una operación de convolución.

2.2 Parámetros * * *

Pero de hecho todavía hay demasiados parámetros, así que inicie el artefacto de segundo nivel, es decir, disfrute del peso * * *. En la conexión local anterior, cada neurona corresponde a 100 parámetros y hay ***1.000.000 de neuronas. Si los 100.000 parámetros de estas 100.000 neuronas son iguales, entonces el número de parámetros pasa a ser 100.

¿Cómo entender el disfrute del peso? Podemos pensar en estos 100 parámetros (es decir, la operación de convolución) como una forma de extraer características, independientemente de su posición. El principio subyacente es que las características estadísticas de una parte de una imagen son las mismas que las de otras partes. Esto también significa que las funciones que aprendemos en esta parte también se pueden usar en otra parte, por lo que podemos usar las mismas funciones aprendidas para todas las ubicaciones de esta imagen.

Para decirlo de manera más intuitiva, cuando se selecciona aleatoriamente una pequeña porción de una imagen de gran tamaño como muestra, como 8 × 8, y se aprenden algunas características de esta pequeña porción de muestra, entonces Puedes usar esto como Aprender de.

Las características aprendidas de muestras de 8×8 se utilizan como detectores y se aplican en todas partes de esa imagen. En particular podemos usar 8×8.

Convierta las características aprendidas en la muestra con la imagen de gran tamaño original, para obtener los valores de activación de diferentes características en cualquier posición de la imagen de gran tamaño.

Como se muestra en la siguiente figura, muestra el proceso de convolución de una imagen 55 con un núcleo de convolución 33. Cada convolución es un método de extracción de características, como un tamiz, que filtra las partes de la imagen que cumplen las condiciones (cuanto mayor es el valor de activación, más calificada).

2.3 Múltiples núcleos de convolución

Cuando solo hay 100 parámetros mencionados anteriormente, significa que solo hay un núcleo de convolución, 100 * 100. Obviamente, la extracción de características no es suficiente. Podemos agregar más núcleos de convolución, como 32 núcleos de convolución, para aprender 32 funciones. Cuando hay varios núcleos de convolución, como se muestra en la siguiente figura:

A la derecha, diferentes colores representan diferentes núcleos de convolución. Cada núcleo de convolución genera una imagen como otra imagen. Por ejemplo, dos núcleos de convolución pueden generar dos imágenes, que pueden verse como canales diferentes de una imagen. Como se muestra en la imagen a continuación, hay un pequeño error en la imagen a continuación, es decir, w1 se cambia a w0 y w2 se cambia a w1. En lo sucesivo, todavía se los denominará w1 y w2.

La siguiente figura muestra la operación de convolución en cuatro canales, utilizando dos núcleos de convolución para generar dos canales. Cabe señalar que cada uno de los cuatro canales corresponde a un núcleo de convolución. Primero ignore w2 y solo vea w1. Luego agregue los resultados de la convolución en (I, j) en los cuatro canales y luego tome el valor de la función de activación para obtener el valor en una determinada posición (I, j) de w1.

Entonces, en el proceso de convolución de cuatro canales a dos canales en la figura anterior, el número de parámetros es 4 × 2 × 2 × 2, donde 4 representa cuatro canales, los primeros 2 representan la generación de dos canales, y el último 2 × 2 representa el tamaño del núcleo de convolución.

2.4 Agrupación descendente

Después de obtener características mediante convolución.

Después, esperamos utilizar estas funciones para la clasificación en el siguiente paso. En teoría, se pueden utilizar todas las funciones extraídas para entrenar un clasificador como softmax.

Clasificador, pero enfrenta desafíos computacionales. Por ejemplo, para 96 ​​96 ?8+ 1) = características de convolución de 7921 dimensiones. Dado que hay 400 características, cada ejemplo obtendrá un vector de características de convolución de 892 × 400 = 3168400 dimensiones. Aprender un clasificador con más de 3 millones de entradas de características es muy inconveniente y propenso a sobreajustarse.

Para resolver este problema, recordemos que decidimos usar características convolucionales porque las imágenes tienen propiedades "estáticas", lo que significa que las características que son útiles en un área de la imagen probablemente sean igualmente aplicables en otra área. . Por lo tanto, para describir imágenes grandes, una idea natural es agregar estadísticas de características en diferentes ubicaciones. Por ejemplo, se puede calcular el valor promedio (o máximo) de una característica específica en un área de la imagen. Estas características estadísticas resumidas no solo tienen una dimensionalidad mucho menor (en comparación con todas las características extraídas) sino que también mejoran los resultados (menos propensos al sobreajuste). Esta operación de agregación se denomina agrupación, a veces denominada agrupación promedio o agrupación máxima (según cómo se calcula la agrupación).

En este punto se han explicado la estructura básica y los principios de las redes neuronales convolucionales.

2.5 Convolución multicapa

En aplicaciones prácticas, a menudo se usa convolución multicapa y luego se usan capas completamente conectadas para el entrenamiento. El propósito de la convolución multicapa es que las características aprendidas por una capa de convolución sean a menudo locales. Cuanto mayor sea el número de capas, más globales serán las características aprendidas.

3 Estructura de red ImageNet-2010

ImageNetLSVRC es una competencia de clasificación de imágenes. Su conjunto de entrenamiento incluye más de 127 W de imágenes, el conjunto de verificación tiene 5 W de imágenes y el conjunto de prueba tiene 15 W de imágenes. Este artículo intercepta la estructura de CNN de Alexkrijevsky 2010 para su explicación. Esta estructura ganó el campeonato en 2010, con una tasa de error entre los cinco primeros del 15,3%.

Vale la pena mencionar que en la competencia ImageNetLSVRC de este año, GoogNet, que ganó el campeonato, logró una tasa de error entre los 5 primeros del 6,67%. Se puede ver que todavía hay un gran margen de mejora en el aprendizaje profundo.

La siguiente imagen es la estructura de CNN de Alex. Cabe señalar que el modelo adopta una estructura paralela de 2 GPU, es decir, las capas convolucionales 1, 2, 4 y 5 dividen los parámetros del modelo en dos partes para el entrenamiento. Aquí, además, la estructura paralela se divide en paralelismo de datos y paralelismo de modelos. El paralelismo de datos significa que en diferentes GPU, la estructura del modelo es la misma, pero los datos de entrenamiento están segmentados, los diferentes modelos se entrenan por separado y luego los modelos se fusionan. En el paralelismo del modelo, los parámetros del modelo de varias capas se segmentan, se entrenan en diferentes GPU utilizando los mismos datos y los resultados obtenidos se conectan directamente como entrada de la siguiente capa.

Los parámetros básicos del modelo anterior son:

Entrada: imagen de tamaño 224×224, 3 canales.

La primera capa de convolución: 96 núcleos de convolución de tamaño 5×5, 48 en cada GPU.

La primera capa de Max-Pooling: kernel 2×2.

Convolución de segunda capa: 256 núcleos de convolución 3×3, 128 en cada GPU.

Agrupación máxima de capa 2: 2 × 2 núcleos.

La tercera capa de convolución: completamente conectada a la capa anterior, 384 núcleos de convolución 3*3. Dividido en dos GPU, 192.

La cuarta capa de convolución: hay 384 núcleos de convolución de 3×3, 192 por GPU. La conexión entre esta capa y la capa superior no pasa a través de la capa de la piscina.

La quinta capa de convolución: 256 núcleos de convolución 3×3, 128 en dos GPU.

La quinta capa de Max-Pooling: kernel 2×2.

La primera capa está completamente conectada: 4096 dimensiones. La salida de la agrupación máxima de la quinta capa está conectada a un vector unidimensional como entrada de esta capa.

La segunda capa está completamente conectada: 4096 dimensiones.

Capa Softmax: la salida es 1000 y cada dimensión de la salida es la probabilidad de que la imagen pertenezca a esta categoría.

4 Estructura de red DeepID

La estructura de red DeepID se deriva de Sun de la Universidad China de Hong Kong.

Redes neuronales convolucionales fáciles de desarrollar para aprender rasgos faciales. Cada cara de entrada se representa como un vector de 160 dimensiones. Utilice otros modelos para clasificar los vectores aprendidos y la tasa de precisión es del 97,45% en el experimento de verificación facial. Además, el autor original mejoró CNN y obtuvo una tasa de precisión del 99,15%.

Como se muestra en la figura siguiente, la estructura es similar a los parámetros específicos de ImageNet, solo se explican las diferentes partes.

La estructura en la figura anterior tiene solo una capa completamente conectada al final, seguida de una capa softmax. Este artículo utiliza capas completamente conectadas como representación de imágenes. En la capa completamente conectada, las salidas de la cuarta capa de convolución y la tercera capa de agrupación máxima se utilizan como entrada de la capa completamente conectada, de modo que se puedan aprender las características locales y globales.