178 votos

¿Cuál es la diferencia entre una red neuronal y un profundo red neuronal?

No he visto la pregunta declaró precisamente en estos términos, y esta es la razón por la que hago una nueva pregunta.

Lo que me interesa saber no es la definición de una red neuronal, pero la comprensión de la diferencia real con una profunda red neuronal.

Para más contexto: yo sé lo que una red neuronal es y cómo retropropagación obras. Yo sé que un DNN debe tener múltiples capas ocultas. Sin embargo, hace 10 años en clase aprendí que tener varias capas o una capa (sin contar la entrada y salida de capas) fue equivalente, en términos de las funciones de una red neuronal es capaz de representar, y que el tener más capas hizo más complejo de analizar sin ganar en rendimiento. Obviamente, que ya no es el caso.

Supongo que, tal vez erróneamente, que son las diferencias en términos de la formación y el algoritmo de propiedades en lugar de la estructura, y por lo tanto yo realmente apreciaría si la respuesta podría subrayar las razones por las que hizo el movimiento a DNN posible (por ejemplo, una demostración matemática o al azar jugando con las redes?) y deseable (por ejemplo, la velocidad de convergencia?)

236voto

zowens Puntos 1417

Deep red neuronal es la red feedforward con muchas capas ocultas

Esto es más o menos todo lo que hay que decir acerca de la definición. Las redes neuronales pueden ser recurrentes o feedforward; feedforward no tiene ningún bucles en su gráfico y pueden ser organizados en capas. Si hay muchas capas, entonces decimos que la red es profundo.

Cuántas capas que una red tiene que tener para calificar tan profundo? No existe una respuesta definitiva a esto (es un poco como preguntar ¿cuántos granos de hacer un montón), pero por lo general tienen dos o más capas ocultas cuenta como profundo. Sospecho que habrá un poco de inflación pasando aquí, y en 10 años, la gente podría pensar que cualquier cosa con menos de 10 capas es poco profundo y adecuado sólo para el kindergarten ejercicios. De manera informal, "profundo", sugiere que la red es difícil de manejar.

Aquí está una ilustración, adaptado a partir de aquí:

Deep vs non-deep neural network

¿Por qué habría de tener muchas capas ser beneficioso?

Usted escribió que

Hace 10 años en clase aprendí que tener varias capas o una capa (sin contar la entrada y salida de capas) fue equivalente, en términos de las funciones de una red neuronal es capaz de representar [...]

Esto no es correcto: no es equivalente. Lo que tal vez están en el recuerdo es que en una red con unidades lineales el número de capas no importa: cualquiera que sea el número de capas es, una red de ese tipo sólo puede representar funciones lineales. Por ejemplo, uno de los primeros éxito de las redes neuronales en la historia, de tipo perceptrón desarrollado en 1957 por Frank Rosenblatt, fue un lineales de red con una capa oculta. No tiene sentido añadir más capas de tipo perceptrón, esto no va a mejorar su rendimiento.

Sin embargo, si las unidades no son lineales (ya que siempre están en las aplicaciones modernas) este ya no es el caso. Si, por ejemplo, todas sus unidades ocultos se realice $x^2$ transformación, entonces con una capa sólo permite la red para representar funciones cuadráticas, pero tener dos o tres permita representar polinomios de 4 de 6 de la orden. No lineal de las unidades que se utilizan a menudo hoy en día son rectificados unidades lineales; su función de transferencia es$f(x) = x$$x\ge 0$$f(x)=0$$x<0$. Tener más capas de medios de anidación de estas funciones dentro de la otra y esto sin duda le permite a la red representan más y más complejas funciones.

Actualización: En caso de que usted se está refiriendo a el Universal aproximación teorema que establece que cualquier función puede ser arbitrariamente bien aproximada por una red neuronal con una sola capa oculta. No estoy muy familiarizado con él, pero tal y como yo lo entiendo, este requiere de manera exponencial muchas neuronas en la capa oculta y por lo tanto es completamente impráctico. Ver una interesante respuesta en cstheory.SÍ y también este blog.

Si más capas es beneficioso, ¿por qué no tener un montón de ellos?

El problema es que en el fondo las redes neuronales son (o al menos solía ser) muy duro para entrenar. El algoritmo estándar para el entrenamiento de las redes neuronales es simplemente gradiente de la pendiente (que es lo que retropropagación es todo acerca de). Cuando hay muchas capas de este algoritmo se ejecuta en un fenómeno conocido como fuga de gradientes (usted puede leer sobre él por ejemplo, aquí). De manera informal, retropropagación calcula las derivadas de todos los pesos de la red utilizando la regla de la cadena, y para las capas profundas de la cadena se hace demasiado largo y derivados muy difícil de estimar de forma fiable. De manera que el algoritmo se rompe.

Este fue realizado en la década de 1980 y es por esto que casi nadie estaba trabajando en redes neuronales en la década de 1990. Por el principio de los años 2000 a todo el mundo en el aprendizaje de máquina pensado que las redes neuronales son esencialmente muerto.

Así que lo cambió a mediados de la década del 2000?

Una de las personas que seguimos trabajando en redes neuronales a través de todos estos años oscuros fue Geoffrey Hinton. Después de 20 años de hacer esto sin ningún interés de cualquier persona, y finalmente él publicó un par de avance papeles en 2006, lo que sugiere una manera eficaz de tren profundo de la red neuronal (papel de la Ciencia, la computación Neuronal de papel). El truco estaba en uso sin supervisión de pre-entrenamiento antes de la final de la formación con los métodos estándar. Hinton llamó a estas redes profundo de las redes de creencia. Este papel revolucionado el campo, y en el fondo las redes neuronales se convirtió en caliente y sexy casi de la noche a la mañana (bueno, tal vez a otro o de los dos).

Durante un par de años la gente pensaba que esto no supervisadas pre-entrenamiento es la clave.

Luego resultó que en realidad no.

En 2010 Martens mostró que en lo profundo de las redes neuronales pueden ser entrenados con los llamados de Hesse-métodos libres (que son esencialmente inteligente de segundo orden, métodos y no de primer orden como el gradiente de la pendiente) y puede superar a las redes entrenadas con pre-formación: aprendizaje Profundo a través de Hesse-libre de optimización.

En 2013 Sutskever et al. mostró que en lo profundo de las redes neuronales pueden ser entrenados con estocástico de gradiente de la pendiente con muy inteligente modificaciones y trucos y puede superar a las redes entrenadas con Hess libres de métodos: Sobre la importancia de la inicialización y el impulso de aprendizaje profundo.

Como se puede ver, esto es muy reciente la investigación. La gente sigue viniendo para arriba con más y más eficaces maneras de entrenar profundo de las redes. Lo que parecía una idea clave 10 años no es necesariamente una idea clave hoy en día. Todo eso es impulsado en gran medida por ensayo y error y hay poca comprensión de lo que hace que algunas cosas funcionan tan bien y algunas otras cosas que no. La formación profunda de las redes es como una gran bolsa de trucos. El éxito trucos son usualmente racionalizado post factum.

No puedo encontrar un presupuesto exacto, pero ahora en algunas conferencias de vídeo que vi hace un par de años Hinton, dijo que las dos principales cosas que han cambiado desde mediados del decenio de 1980 y que permitió el éxito actual de las redes neuronales son:

  1. enorme aumento en la potencia de cálculo y
  2. enorme aumento en la cantidad de datos de entrenamiento.

Considere, por ejemplo, que Hinton mismo ahora está trabajando en Google, sólo imaginar el tamaño de los conjuntos de datos disponibles (creo que de todas las imágenes de Google puede encontrar en la web) y la potencia disponible que su equipo puede utilizar.

Leer más

Si usted quiere un buen y muy reciente suave resumen, leer LeCun, Bengio Y Hinton, aprendizaje Profundo, la Naturaleza de 2015.

13voto

dotancohen Puntos 595

Buena respuesta hasta el momento, aunque hay un par de cosas que nadie de por aquí mencionados, aquí está mi 0.02$

Solo voy a responder en la forma de una historia, debe hacer las cosas más divertidas y claras. No tldr aquí. En el proceso usted debe ser capaz de entender cuál es la diferencia.

Hay varias razones de por qué DNNs desataron cuando lo hicieron (estrellas tuvo que alinear, como todas las cosas similares, es sólo la cuestión de lugar correcto, en el momento justo, etc).

Una razón es la disponibilidad de datos, muchos datos (datos etiquetados). Si usted quiere ser capaz de generalizar y aprender algo como "genéricos priores' o 'universal de los priores' (también conocido como los bloques de construcción básicos que pueden ser re-utilizados entre tareas / aplicaciones), entonces usted necesita una gran cantidad de datos. Y salvaje de datos, podría yo agregar, no estéril conjuntos de datos registradas cuidadosamente en el laboratorio para el control de la iluminación y de todos. Mechanical Turk hecho de que (etiquetado).

Segundo, la posibilidad de formar redes más grandes más rápido el uso de las Gpu hecho de la experimentación más rápido. ReLU unidades cosas computacionalmente más rápida y proporcionada para su regularización, ya que usted necesita para utilizar más unidades en una sola capa para que sea capaz de comprimir la misma información desde capas que ahora estaban más dispersos, por lo que también fue agradable con la deserción escolar. También, ellos me ayudaron con un problema importante, que ocurre cuando la pila de capas múltiples. Más sobre esto más adelante. Varios varios trucos que mejorar el rendimiento. Como el uso de mini-lotes (que en realidad es perjudicial para la final de error) o circunvoluciones (que en realidad no capturar tanto la varianza como local de los campos receptivos) pero son computacionalmente más rápido.

Mientras tanto la gente se debate si les gustó em más flaco o más gordito, más pequeños o más, con o sin pecas, etc. La optimización se como lo hace fizz o explosión de forma que la investigación se estaba moviendo hacia métodos más complejos de la formación como de gradiente conjugado y el método de newton, finalmente todos se dieron cuenta que no hay almuerzo gratis. Las redes de eructos.

Lo que frenó las cosas fue el desvanecimiento de degradado problema. La gente se fue como: whoa, eso no es nada, hombre! En pocas palabras, esto significa que es difícil para ajustar el error en las capas más cerca de las entradas. A medida que agrega más capas del pastel, se vuelve demasiado inestable. No se podía volver-propagar significativo error de nuevo a la primera de las capas. El más capas, la peor que tiene. Bummer.

Algunas personas descubierto que el uso de la cruz-la entropía como función de pérdida (bueno, de nuevo, clasificación y reconocimiento de imagen) proporciona algún tipo de regularización y ayuda contra la red de llegar saturado y a su vez el gradiente no era capaz de ocultar que bien.

Lo que también hizo las cosas más posible era la por-capa de pre-entrenamiento en el uso no supervisado de los métodos. Básicamente, se toma un grupo de auto-codificadores y aprender cada vez menos representaciones abstractas como aumentar la relación de compresión. Los pesos de estas redes se utiliza para inicializar el supervisado versión. Ya esta resuelto el desvanecimiento de degradado problema de otra manera: ya estás empezando entrenamiento supervisado de una mucho mejor posición de inicio. Así que todas las otras redes se levantó y comenzó a rebelarse. Pero las redes necesitan de la supervisión de todos modos, de lo contrario era imposible mantener el big data todavía.

Ahora, para la última parte que, finalmente, de ordenación de las riendas a su respuesta, que es demasiado complejo para poner en pocas palabras: ¿por qué más capas y no sólo uno. Porque podemos! y porque el contexto y invariante en función de los descriptores. y piscinas.

He aquí un ejemplo: usted tiene un conjunto de datos de imágenes, ¿cómo vas a entrenar a un plan de NN uso de los datos? Así, ingenuamente, que tome digamos que cada fila y concatenar en una larga vector y que su entrada. ¿Qué se aprende? Bueno, algunos aproximada tonterías funciones que podría parecer que no es nada, porque de los muchos tipos de desviaciones que los objetos en la imagen contener y que no son capaces de distinguir entre lo relevante y la irrelevante cosas. Y en algún punto de la red necesita para olvidar a ser capaz de volver a aprender cosas nuevas. Así que no hay el problema de la capacidad. Esto es más dinámica no lineal, pero la intuición es que usted necesita para aumentar el número de neuronas para ser capaz de incluir más información en la red.

Así que el punto es que si usted acaba de entrada de la imagen como una sola pieza, añadiendo más capas de no hacer demasiado para usted, ya que usted no está en condiciones de aprender las abstracciones, que es muy importante. Hacer las cosas de manera integral por lo tanto no funciona bien, a menos que usted está haciendo cosas más simples con la red como enfocarse en un tipo específico de objeto, de modo que se limite a una clase y que escoja en algunas propiedades globales de clasificación meta.

Así que lo que hay que hacer? Mira en el borde de la pantalla y tratar de leer este texto. Problema? Tan estúpido como suena, usted necesita mirar lo que está leyendo. De lo contrario, es demasiado confuso / no hay suficiente de la resolución o de granularidad. Vamos a llamar a la zona de enfoque del campo receptivo. Las redes deben ser capaces de concentrarse demasiado. Básicamente, en lugar de utilizar la totalidad de la imagen como entrada, mover una ventana deslizante a lo largo de la imagen y, a continuación, utilizar como entrada a la red (un poco menos estocástico que lo hacen los humanos). Ahora usted también tiene la oportunidad de capturar las correlaciones entre los píxeles y, por tanto, los objetos y también se puede distinguir entre sueño gato sentado en un sofá y un revés gato salto en bungee. Limpio, la fe en la humanidad restaurada. La red puede aprender local abstracciones en una imagen en varios niveles. La red aprende filtros, inicialmente simples y, a continuación, se acumula en los que aprender filtros más complejos.

Así que, para resumir la situación: los campos receptivos / circunvoluciones, sin supervisión de inicialización, rectificado unidades lineales, de omisión o de otros métodos de regularización. Si usted es muy serio acerca de esto te recomiendo que eche un vistazo a Schmidhuber de la Profundidad de Aprendizaje en Redes Neuronales: Una Visión general aquí está la url para el preprint http://arxiv.org/abs/1404.7828

Y recuerde: aprendizaje, en lo profundo de los datos. Palabra.

6voto

Bob Jones Puntos 522

En términos simples, la principal diferencia con el clásico de las Redes Neuronales es que tienen mucho más capas ocultas.

La idea es agregar etiquetas para las capas para hacer múltiples capas de abstracción:

Por ejemplo, una profunda red neuronal para el reconocimiento de objetos:

  • Capa 1: Solo los píxeles
  • Capa 2: Bordes
  • Capa 3: Formas(círculos, cuadrados)
  • La capa n: Todo el objeto

Usted puede encontrar una buena explicación a esta pregunta en Quora.

Y, si usted está interesado en este tema me gustaría reccoment a echar un vistazo a este libro.

3voto

Bob Puntos 1593

NN:

  • una capa oculta es suficiente, pero puede tener varias capas sin embargo, de izquierda a derecha de los pedidos (modelo: avance NN)
  • formado sólo en la supervisión de forma (retropropagación)
  • cuando varias capas se utilizan, tren a todas las capas al mismo tiempo (mismo algoritmo: retropropagación), más capas hace que sea difícil utilizar como errores se convierten en demasiado pequeño
  • difícil de entender lo que se aprende en cada capa

DNN:

  • múltiples capas son necesarios, sin bordes (modelo: restringido boltzman de la máquina)
  • primera capacitación en la no forma, donde las redes aprende de las características más relevantes por aprender a reproducir su entrada, y luego formó en un supervisados de manera que las multas afinar las características para clasificar
  • tren de las capas una por una desde la entrada hasta la capa de salida (algoritmo: contrastivo de la divergencia)
  • cada capa que contenga claramente las características de aumentar la captación

El movimiento de DNN es debido a tres independiente de los avances que sucedió en el 2006.

Con respecto a los teoremas sobre NN, el uno a la pregunta alude a es:

  • universal teorema de aproximación o Cybenko teorema: un feed-forward de la red neuronal con una sola capa oculta puede aproximar cualquier función continua. Sin embargo, en la práctica, se puede requerir mucho más neuronas, si una sola capa oculta se utiliza.

2voto

Guillaume Dehaene Puntos 740

La diferencia entre un "Profundo" NN y un estándar NN es puramente cualitativa: no hay una definición de lo que "Profundo". "Profundo" puede significar cualquier cosa, desde el extremadamente sofisticadas arquitecturas que son utilizados por Google, Facebook y co que tienen de 50 a 80 o incluso más capas 2 capas ocultas (4 capas en total) de las arquitecturas. No me sorprendería si usted podría incluso encontrar artículos que dicen hacer el aprendizaje profundo con una sola capa oculta, porque "en lo profundo" no significa mucho.

"Red neuronal" también es una palabra que no tiene un preciso significado. Abarca un gran conjunto de modelos, de azar boltzman máquinas (que son espontáneos gráficos) para feedforward arquitecturas con diversas funciones de activación. La mayoría de los NNs serán entrenados en el uso de backprop, pero no tiene que ser el caso por lo que incluso los algoritmos de entrenamiento no son muy homogéneos.

En general, el aprendizaje profundo, en lo profundo de NNs y NNs se han convertido en catch-all de las palabras que la captura de una multitud de enfoques.

Para el bien de introducción de referencias en "¿qué ha cambiado": Profundo Aprendizaje de Representaciones: Mirando hacia delante, Bengio, 2013 es un buen review + perspectiva para el futuro. Ver también Hacer un Profundo Redes Realmente Necesita para ser Profundo? Ba & Caruana, de 2013, que muestran que el ser profundo podría no ser útil para la representación, pero también para el aprendizaje.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X