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):
- En el Número de Lineal Regiones Profundas de las Redes Neuronales por Montufar, Pascanu, Cho y Bengio.
- 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.