9 votos

Cómo entender la intuición geométrica del funcionamiento interno de las redes neuronales?

He estado estudiando la teoría detrás de Rna últimamente y quería entender la "magia" detrás de su capacidad de no-lineal multi-clase de la clasificación. Esto me llevó a este sitio web que hace un buen trabajo explicando geométricamente cómo esta aproximación se logra.

He aquí lo que yo entendí (en 3D): Las capas ocultas puede ser pensado como la salida de 3D paso de las funciones (o funciones de la torre) que se parecen a esto:

Tower function

El autor pasa a estado que varias de las torres se puede utilizar para aproximar funciones arbitrarias, por ejemplo:

enter image description here

Esto parece tener sentido, sin embargo, el autor de la construcción es bastante artificial para proporcionar algunos intuición detrás del concepto.

Sin embargo, ¿cómo puede esto ser validado debido a un arbitrario ANN? Aquí es lo que yo quiero saber/entender:

  1. AFAIK la aproximación es una aproximación suave pero esta "intuición" parece proporcionar una aproximación discreta, ¿es correcto?
  2. El número de las torres parece estar basada en el número de capas ocultas - por encima de las torres se crean como resultado de dos capas ocultas. ¿Cómo puedo verificar esto (con un ejemplo en 3d) con una única capa oculta?
  3. Las torres se crean con algunos pesos forzado a cero, pero no he visto que este sea el caso con algunas de las ANNs que he jugado. Va a ser una torre de la función? Puede ser cualquier cosa, con 4 a $n$ lados y casi la aproximación de un círculo? (El autor dice que es el caso, pero deja que como un auto-estudio).

Yo realmente deseo para entender esta aproximación de la capacidad en 3D para cualquier función 3D que ANN se puede aproximar con una sola capa oculta - quiero ver cómo esta aproximación se ve a formular una intuición para múltiples dimensiones?

He aquí lo que tengo en mente que creo que podría ayudar:

  1. Tomar un arbitrario de la función 3D como $f(x_1,x_2) = x^2_1 + x^2_2 + 3$.
  2. Generar un sistema de formación de $(x_1,x_2)$ de decir 1000 puntos de datos donde son muchos los puntos en la curva, a unos por encima y un par de a continuación. Los de la curva están marcados como "positiva clase" (1) y los que no como la "negativa de la clase" (0)
  3. Alimentación de datos a un ANN y visualizar la aproximación con una capa oculta (con alrededor de 2-6 neuronas).

Es esta construcción correcta? ¿Serviría de algo? ¿Cómo puedo hacer esto? Todavía no estoy adepto con propagación hacia atrás para implementar esto por mí mismo y estoy buscando una mayor claridad y dirección en este sentido - existentes se muestran varios ejemplos de esto sería ideal.

9voto

Indie AI Puntos 48

Hay dos grandes reciente de artículos sobre algunas de las propiedades geométricas de profunda redes neuronales con funciones definidas a trozos lineal no-linealidades (que incluiría la ReLU de activación):

  1. En el Número de Lineal Regiones Profundas de las Redes Neuronales por Montufar, Pascanu, Cho y Bengio.
  2. En el número de respuesta de las regiones de la profundidad de avance de las redes piece-wise lineal activaciones por Pascanu, Montufar y Bengio.

Ellos proporcionan un poco de mal necesario de la teoría y rigor cuando se trata de redes neuronales.

Su análisis se centra alrededor de la idea de que:

profundo redes son capaces de separar su espacio de entrada en forma exponencial lineal de la respuesta de las regiones de su profunda contrapartes, a pesar de usar el mismo número de unidades informáticas.

De este modo podemos interpretar profundo de redes neuronales con un modelo lineal por tramos activaciones como el particionamiento del espacio de entrada en un montón de regiones, y en la región es de unos lineal hipersuperficie.

En el gráfico se ha hecho referencia, aviso de que varios de los (x,y)-regiones han lineal hypersurfaces sobre ellos (aparentemente cualquiera de los planos inclinados o planos planos). Así vemos que la hipótesis de los dos artículos anteriores en acción en su referencia a los gráficos.

Además de que el estado (el énfasis de la co-autores):

profundo redes son capaces de identificar un número exponencial de la entrada de los barrios mediante la asignación a una salida común de algún intermediario de la capa oculta. Los cálculos llevados a cabo en las activaciones de esta capa intermedia se replica muchas veces, una vez en cada uno de los identificados en los barrios. Esto permite que las redes informáticas muy complejo mirando funciones, incluso cuando se definen con relativamente pocos parámetros.

Básicamente este es el mecanismo que permite profundo redes increíblemente robusta y diversa característica de las representaciones, a pesar de tener un menor número de parámetros que sus superficial contrapartes. En particular, la profunda redes neuronales pueden aprender una exponencial el número de estos lineal de las regiones. Tomemos, por ejemplo, el Teorema de 8 de la primera referencia de papel, que establece:

Teorema 8: maxout red con $L$ capas de anchura $n_0$ y el rango de $k$ puede calcular funciones con al menos $k^{L-1}k^{n_0}$ lineal de las regiones.

Esto es nuevo para la profundidad de las redes neuronales con funciones definidas a trozos lineal activaciones, como ReLUs por ejemplo. Si usted utiliza sigmoide-como activaciones, tendría más suave sinusoidal buscando hypersurfaces. Muchos investigadores ahora uso ReLUs o alguna variación de ReLUs (fugas ReLUs, PReLUs, ELUs, RReLUs, y la lista continúa) debido a que su modelo lineal por tramos estructura permite una mejor gradiente de retropropagación vs el sigmoidal-unidades en las que se puede saturar (muy plana/asintótico de las regiones) y efectivamente matar a los gradientes.

Este exponentiality resultado es crucial, de lo contrario los trozos de linealidad podría no ser capaz de representar de manera eficiente los tipos de funciones no lineales debemos aprender cuando se trata de la visión de computadora u otro duro de la máquina de aprendizaje de tareas. Sin embargo, tenemos este exponentiality resultado y por lo tanto estas profundas redes puede (en teoría) para aprender todo tipo de no linealidad mediante la aproximación de ellos con un gran número de lineal regiones.

En cuanto a tu pregunta sobre la hipersuperficie: usted puede absolutamente instalación de un problema de regresión, donde su profunda net intenta aprender el $y = f(x_1, x_2)$ hipersuperficie. Esto es equivalente a sólo el uso de una profunda red para la instalación de una regresión problema, muchas de profundo aprendizaje de los paquetes puede hacer esto, no hay problema.

Si quieres probar tu intuición, hay una gran cantidad de profundo aprendizaje de los paquetes disponibles en estos días: Theano (Lasaña, No Aprender y Keras construido en la parte superior), TensorFlow, un montón de los demás, estoy seguro de que estoy dejando de lado. Estas profundas aprendizaje de los paquetes calculará la retropropagación para usted. Sin embargo, para una escala menor problema como el que usted ha mencionado es realmente una buena idea de código hasta la retropropagación a ti mismo, sólo con hacerlo una vez, y aprender cómo gradiente de verificación. Pero como he dicho, si lo que desea es probar y visualizar, usted puede comenzar rápidamente con estas profundas aprendizaje de los paquetes.

Si uno es capaz de formar adecuadamente a la red (usamos los puntos de datos suficientes, inicializar correctamente, el entrenamiento va bien, este es otro tema para ser sincero), entonces una forma de visualizar lo que nuestra red se ha aprendido, en este caso, una hipersuperficie, es solo gráfico de nuestro hipersuperficie más de un gráfico xy-malla o cuadrícula y visualizarla.

Si la intuición es correcta, a continuación, utilizando profundo redes con ReLUs, nuestro profundo red, han aprendido un número exponencial de las regiones, cada región tiene su propia lineal hipersuperficie. Por supuesto, el punto es que ya tenemos de manera exponencial muchos, las aproximaciones lineales puede llegar a ser tan fino y no percibimos el dentado-ness de todo, dado que se utilizó una profunda/red lo suficientemente grande.

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