Notas de estudio básico de redes neuronales (7) aprendizaje profundo

Tabla de contenido

Aprendizaje profundo

8.1 Profundizar la red

8.1.2 Mejorar aún más la precisión del reconocimiento

8.1.3 Motivación más profunda

8.2 Una pequeña historia del aprendizaje profundo

8.2.1 ImageNet

8.2.2 VGG

8.2.3 GoogLeNet

8.2.4 ResNet

8.3 Acelerar el aprendizaje profundo

8.3.1 Problemas a resolver

8.3.2 Alta velocidad basada en GPU

8.3.3 Aprendizaje distribuido

8.3.4 Reducción de dígitos de precisión de operación

8.4 Casos de aplicación del aprendizaje profundo

8.4.1 Detección de objetos

8.4.2 Segmentación de imágenes

8.4.3 Generación de título de imagen

8.5.1 Cambio de estilo de imagen

8.5.2 Generación de imágenes

8.5.3 Conducción autónoma

8.5.4 Deep Q-Network (aprendizaje por refuerzo)


Aprendizaje profundo

Sobre la base de CNN, puede crear una red profunda simplemente superponiendo capas

8.1 Profundizar la red

Esta red usa el valor inicial de He como el valor inicial del peso y usa Adam para actualizar los parámetros de peso .

Para resumir el contenido anterior, esta red tiene las siguientes características

  • Capa convolucional basada en pequeños filtros de 3 × 3 .
  • La función de activación es ReLU.
  • La capa Dropout se utiliza detrás de la capa completamente conectada .
  • Basado en la tecnología óptima de Adam .
  • Utilice el valor inicial de He como valor inicial del peso .

El progreso de reconocimiento es tan alto como 99,38%

La imagen incorrecta :

8.1.2 Mejorar aún más la precisión del reconocimiento

Podemos utilizar el aprendizaje integrado, la disminución de la tasa de aprendizaje, el aumento de datos, etc. para ayudar a mejorar la precisión del reconocimiento.

El aumento de datos aumenta "artificialmente" la imagen de entrada (imagen de entrenamiento) basándose en un algoritmo . Específicamente

El aumento de datos también puede expandir la imagen a través de varios otros métodos, como "procesamiento de recorte" para recortar la imagen, "procesamiento de volteo" A para voltear la imagen hacia la izquierda y la derecha, etc.

8.1.3 Motivación más profunda

Cuanto más profunda sea la capa, mayor será el rendimiento de reconocimiento

A continuación, pensemos en la situación en la que la operación de convolución de 3 × 3 se repite dos veces en la Figura 8-6 .

El área de una operación de convolución de 5 × 5 puede compensarse mediante dos operaciones de convolución de 3 × 3 .

Al superponer capas convolucionales , se reduce el número de parámetros. Además, la diferencia en el número de parámetros aumentará a medida que la capa se profundice.

Específicamente:

Cuando la operación de convolución 3 × 3 se repite tres veces, el número total de parámetros es 27. Para "observar" la misma área con una operación de convolución, se requiere un filtro de 7 × 7, y el número de parámetros en este momento es 49.

La ventaja de superponer un pequeño filtro para profundizar la red es que puede reducir el número de parámetros, ampliar el campo receptivo y aplicar cambios a una determinada área espacial local de la neurona) y, a través de la capa superpuesta, funciones de activación sándwich como ReLU en el volumen La mitad de la pila mejora aún más la expresividad de la red . Esto se debe a que el poder expresivo "no lineal" basado en la función de activación se agrega a la red, y se pueden expresar cosas más complicadas mediante la superposición de funciones no lineales.

8.2 Una pequeña historia del aprendizaje profundo

8.2.1 ImageNet

ImageNet es un conjunto de datos con más de 1 millón de imágenes.

8.2.2 VGG

VGG es una CNN básica compuesta por una capa convolucional y una capa de agrupación

Se caracteriza por superponer la capa ponderada (capa convolucional o capa totalmente conectada) a 16 capas (o 19 capas), con profundidad (según la profundidad de la capa, a veces denominada "VGG16" o "VGG19").

8.2.3 GoogLeNet

La estructura de red de GoogLeNet se muestra en la Figura 8-10. Los rectángulos de la figura representan capas convolucionales, capas agrupadas, etc.

8.2.4 ResNet

Se caracteriza por una estructura más profunda que la red anterior .

En la práctica, los datos de peso aprendidos usando ImageNet, un enorme conjunto de datos , a menudo se usan de manera flexible . Esto se llama aprendizaje de transferencia . Copie (parte de) los pesos aprendidos a otras redes neuronales para ajustarlos .

Por ejemplo, prepare una red con la misma estructura que VGG, tome el peso aprendido como valor inicial y use el nuevo conjunto de datos como objeto para el reaprendizaje.

El aprendizaje por transferencia es muy eficaz cuando hay menos conjuntos de datos disponibles .

8.3 Acelerar el aprendizaje profundo

La mayoría de los marcos de aprendizaje profundo admiten GPU (unidad de procesamiento de gráficos)

8.3.1 Problemas a resolver

En AlexNex, la mayor parte del tiempo se dedica a la capa convolucional

El tiempo de procesamiento de la capa convolucional suma hasta el 95% de la GPU general y el 89% de la CPU general

8.3.2 Alta velocidad basada en GPU

El objetivo de la informática con GPU es utilizar esta abrumadora potencia informática para diversos fines.

El aprendizaje profundo requiere muchas operaciones de multiplicación y acumulación (u operaciones de producto de matrices grandes). Esta gran cantidad de operaciones paralelas es en lo que las GPU son buenas (a su vez, las CPU son mejores en cálculos continuos y complejos).

Las GPU son proporcionadas principalmente por NVIDIA y AMD. Aunque ambas GPU pueden usarse para cálculos numéricos de propósito general, las GPU de NVIDIA están "más cerca" del aprendizaje profundo.

Basado en im2col, el cálculo se resume en el producto de matrices grandes, lo que facilita el uso de las capacidades de la GPU.

8.3.3 Aprendizaje distribuido

8.3.4 Reducción de dígitos de precisión de operación

8.4 Casos de aplicación del aprendizaje profundo

8.4.1 Detección de objetos

Entre los métodos de detección de objetos que utilizan CNN, existe un método muy conocido llamado R-CNN .

8.4.2 Segmentación de imágenes

Como se muestra en la Figura 8-19, use los datos supervisados ​​para colorear cada objeto en píxeles como una unidad de aprendizaje

En la operación de convolución, se producirán cálculos sin sentido que calculan repetidamente muchas áreas)

Se sugirió que un grupo llamado FCN (Red totalmente convolucional) FCN significa literalmente " toda la red que consiste en una red de capa de convolución "

8.4.3 Generación de título de imagen

Existe una interesante mezcla de investigación en visión por computadora y lenguaje natural, el estudio que se muestra en la Figura 8-21, después de una imagen dada, la auto-voluntad genera automáticamente el texto que describe esta imagen (título de la imagen).

Un método representativo de generar leyendas de imágenes basado en el aprendizaje profundo es un modelo llamado NIC (Leyenda de imagen neuronal) . Al procesamiento de combinar información múltiple como imágenes y lenguaje natural lo llamamos procesamiento multimodal. El procesamiento multimodal es un área que ha atraído mucha atención en los últimos años.

8.5.1 Cambio de estilo de imagen

Un estudio utiliza el aprendizaje profundo para "dibujar" pinturas artísticas. Como se muestra en la Figura 8-23, después de ingresar dos imágenes, se generará una nueva imagen. De las dos imágenes de entrada, una se llama "imagen de contenido" y la otra se llama "imagen de estilo".

8.5.2 Generación de imágenes

Ahora genere imágenes de "dormitorio" desde cero

La imagen generada por DCGAN es una imagen que nadie ha visto antes (una imagen que no está en los datos de aprendizaje), una nueva imagen generada desde cero

8.5.3 Conducción autónoma

8.5.4 Deep Q-Network (aprendizaje por refuerzo)

Al igual que los humanos aprenden a tientas y la experimentación (como andar en bicicleta), deje que la computadora aprenda de forma independiente en el proceso de tanteo y experimentación, lo que se denomina aprendizaje por refuerzo (aprendizaje por refuerzo).

El marco básico del aprendizaje por refuerzo es que el agente elige acciones de acuerdo con el entorno y luego cambia el entorno a través de esta acción. Según los cambios del entorno, el agente recibe algún tipo de remuneración.

Entre los métodos de aprendizaje por refuerzo que utilizan el aprendizaje profundo, existe un método llamado Deep Q-Network (comúnmente conocido como DQN).

Aplicación en el juego:

8.6 Resumen

  • El objetivo principal de este capítulo es abrir los ojos
  • Para la mayoría de las preguntas, podemos esperar pasar a través de una red más profunda para mejorar el rendimiento .
  • En la reciente competencia de reconocimiento de imágenes ILSVRC, los métodos basados ​​en el aprendizaje profundo se han destacado y la red utilizada también se está profundizando.
  • VGG, GoogLeNet, ResNet, etc. son varias redes conocidas .
  • GPU basada, aprendizaje distribuido, la reducción media en la precisión, ahora se puede lograr acelerar la profundidad del aprendizaje .
  • El aprendizaje profundo (red neuronal) se puede utilizar no solo para el reconocimiento de objetos , sino también para la detección de objetos y la segmentación de imágenes.
  • Las aplicaciones de aprendizaje profundo incluyen la generación de títulos de imágenes, la generación de imágenes y el aprendizaje por refuerzo .
  • Recientemente, la aplicación del aprendizaje profundo en la conducción autónoma también es muy esperada.

Supongo que te gusta

Origin blog.csdn.net/qq_37457202/article/details/107696189
Recomendado
Clasificación