Redes de Creencias Profundas vs Redes Neuronales Convolucionales


Soy nuevo en el campo de las redes neuronales y me gustaría saber la diferencia entre las Redes de Creencias Profundas y las Redes Convolucionales. Además, ¿hay una Red Convolucional Profunda que es la combinación de Creencia Profunda y Redes Neuronales Convolucionales?

Esto es lo que he reunido hasta ahora. Por favor corrígeme si me equivoco.

Para un problema de clasificación de imágenes, Las redes de creencias profundas tienen muchas capas, cada una de las cuales está entrenada usando una capa codiciosa estrategia. Por ejemplo, si el tamaño de mi imagen es de 50 x 50, y quiero una red Profunda con 4 capas a saber

  1. Capa de entrada
  2. Capa oculta 1 (HL1)
  3. Capa oculta 2 (HL2)
  4. Capa de salida

Mi capa de entrada tendrá 50 x 50 = 2500 neuronas, HL1 = 1000 neuronas (por ejemplo), HL2 = 100 neuronas (por ejemplo) y la capa de salida = 10 neuronas, para entrenar los pesos (W1) entre la capa de entrada y HL1, utilizo un AutoEncoder (2500 - 1000 - 2500) y aprender W1 de tamaño 2500 x 1000 (Esto es aprendizaje no supervisado). Luego reenvío todas las imágenes a través de las primeras capas ocultas para obtener un conjunto de características y luego uso otro autoencoder ( 1000 - 100 - 1000) para obtener el siguiente conjunto de características y, finalmente, utilizar una capa softmax (100-10) para la clasificación. (solo aprender los pesos de la última capa (HL2-Output que es la capa softmax) es aprendizaje supervisado).

(Podría usar RBM en lugar de autoencoder).

Si el mismo problema se resolvió usando Redes Neuronales Convolucionales, entonces para imágenes de entrada de 50x50, desarrollaría una red usando solo parches de 7 x 7 (digamos). Mis capas serían

  1. Capa de entrada (7 x 7 = 49 neuronas)
  2. HL1 (25 neuronas para 25 características diferentes) - (capa de convolución)
  3. Capa de agrupación
  4. Capa de salida (Softmax)

Y para aprender los pesos, tomo 7 x 7 parches de imágenes de tamaño 50 x 50, y avance a través de la capa convolucional, por lo que tendré 25 diferentes mapas de características cada uno de tamaño (50 - 7 + 1) x (50 - 7 + 1) = 44 x 44.

A continuación, utilizar una ventana de decir 11x11 para la mano de agrupación por lo tanto obtener 25 mapas de características de tamaño (4 x 4) para como la salida de la capa de agrupación. Uso estos mapas de características para la clasificación.

Mientras aprendo los pesos, no uso la estrategia de capa sabia como en Redes de Creencias Profundas (Aprendizaje no supervisado), sino que uso el aprendizaje supervisado y aprendo los pesos de todas las capas simultáneamente. Es esto correcto o hay alguna otra manera de aprender los pesos?

¿Es correcto lo que he entendido?

Entonces, si quiero usar DBN para la clasificación de imágenes, debo cambiar el tamaño de todas mis imágenes a un tamaño particular (digamos 200x200) y tener muchas neuronas en la capa de entrada, mientras que en el caso de CNN, entreno solo en un parche más pequeño de la entrada (digamos 10 x 10 para una imagen de tamaño 200x200) y convolve los pesos aprendidos sobre toda la imagen.

¿Los DBN proporcionan mejores resultados que los CNN o son depende puramente del conjunto de datos?

Gracias.

Author: user3705926, 2014-07-03

2 answers

En términos generales, las DBN son redes neuronales generativas que apilan Máquinas Boltzmann Restringidas (RBM) . Puedes pensar en los RBMs como autoencoders generativos; si quieres una red de creencias profundas deberías apilar RBMs y no autoencoders simples, ya que Hinton y su estudiante Yeh demostraron que apilar RBMs resulta en redes de creencias sigmoides.

Las redes neuronales convolucionales se han desempeñado mejor que las DBNs por sí mismas en la literatura actual sobre conjuntos de datos de visión artificial de referencia, como MNIST. Si el conjunto de datos no es una visión por computadora, entonces DBNs definitivamente puede funcionar mejor. En teoría, los DBN deberían ser los mejores modelos, pero es muy difícil estimar las probabilidades conjuntas con precisión en este momento. Usted puede estar interesado en Lee et. el trabajo de al (2009) sobre Redes Convolucionales de Creencias Profundas que busca combinar las dos.

 21
Author: rahulm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-06 23:06:03

Trataré de explicar la situación a través de zapatos de aprendizaje.

Si usa DBN para aprender esas imágenes, aquí está lo malo que sucederá en su algoritmo de aprendizaje

  • Habrá zapatos en diferentes lugares.

  • Todas las neuronas tratarán de aprender no solo los zapatos, sino también el lugar de los zapatos en las imágenes, ya que no tendrá el concepto de 'parche de imagen local' dentro de los pesos.

  • DBN tiene sentido si todas sus imágenes son alineado por medio de tamaño, traslación y rotación.

La idea de redes convolucionales es que, hay un concepto llamado peso compartido. Si trato de extender este concepto de' peso compartido '

  • Primero miraste los parches de 7x7, y de acuerdo con tu ejemplo, como un ejemplo de 3 de tus neuronas en la primera capa, puedes decir que aprendieron las partes 'frontal', 'back-bottom' y 'back-upper', ya que se verían iguales para un parche de 7x7 zapato.

    • Normalmente la idea es tener múltiples capas de convolución una tras otra para aprender

      • líneas / bordes en la primera capa,
      • arcos, esquinas en la segunda capa,
      • conceptos superiores en capas superiores como zapatos delanteros, ojo en una cara, rueda en un coche o rectángulos conos triángulos como primitivos pero sin embargo combinaciones de capas anteriores salidas.
    • Pueden pensar en estas 3 cosas diferentes que les dije como 3 neuronas diferentes. Y tales áreas / neuronas en sus imágenes se dispararán cuando haya zapatos en alguna parte de la imagen.

    • La agrupación protegerá sus activaciones más altas mientras sub-samplea sus imágenes y crea un espacio de menor dimensión para hacer las cosas computacionalmente más fáciles y factibles.

    • Así que en la última capa cuando nos fijamos en su 25X4x4, en otras palabras 400 vector dimensional, si hay un zapato en algún lugar de la imagen de su 'neurona zapato (s)' estará activo mientras que las neuronas no-zapato estará cerca de cero.

    • Y para entender qué neuronas son para zapatos y cuáles no lo son, pondrá ese vector dimensional de 400 a otro clasificador supervisado (esto puede ser algo como multi-clase-SVM o como dijo una capa soft-max)

Puedo aconsejarle que eche un vistazo al documento Fukushima 1980 para entender lo que trato de decir sobre la invariancia de la traducción y la línea - > arco - > semicírculo - > frente del zapato - > idea del zapato ( http://www.cs.princeton.edu/courses/archive/spr08/cos598B/Readings/Fukushima1980.pdf ). Incluso solo mirando las imágenes en el papel le dará alguna idea.

 19
Author: Doga Siyli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-08 00:44:25