Enlace: ¡JS ha realizado una buena demostración que le permite explorar la red de forma interactiva a través de esta capacitación visual! )
Cada capa se estira y ocupa espacio pero nunca se corta, se rompe ni se dobla. Intuitivamente, podemos ver que conserva propiedades topológicas. Por ejemplo, si un conjunto se une por delante, también se une por detrás (y viceversa).
Transformaciones como esta que no afectan a la topología se denominan homeomorfismos. Formalmente, son biyecciones de funciones continuas bidireccionales.
Teorema: Si la matriz de pesos w no es singular, entonces una capa con n entradas yn salidas es homeomórfica. (Aunque hay que prestar atención al dominio y al rango).
Prueba: considerémoslo paso a paso:
1. Supongamos que w tiene un determinante distinto de cero. Entonces es una función bilineal inversa lineal. Las funciones lineales son continuas. Entonces multiplicar por w es homeomorfismo.
2. La traducción es homeomórfica.
3.tanh (y sigmoide y softplus pero no ReLU) es una función continua con una inversa continua. Son biyectivas, si somos cautelosos acerca de las áreas y el alcance de nuestras consideraciones. Punto por punto, todos son homeomórficos.
Entonces, si W tiene un determinante distinto de cero, entonces nuestra capa es homeomorfa. ?
Este resultado continuará si combinamos cualquier número de estas capas.
¿Considere un conjunto de datos bidimensional con dos clases A y B? R2:
A={x|d(x,0)<1/3}
b = {x | 2/3<d(x,0 )< 1}
Descargo de responsabilidad: sin capas que contengan 3 o más unidades ocultas, una red neuronal no puede clasificar este conjunto de datos, independientemente de su profundidad.
Como se mencionó anteriormente, usar unidades sigmoideas o capas softmax para la clasificación equivale a intentar encontrar un hiperplano (o una línea recta en este caso) que separe A y B en la representación final. Debido a que sólo hay dos unidades ocultas, la red es topológicamente incapaz de separar los datos de esta manera y está condenada a fallar en este conjunto de datos.
En la siguiente visualización, observamos representaciones ocultas y líneas de clasificación durante el entrenamiento de la red. Como podemos ver, está intentando aprender cómo hacer esto.
Con el tiempo, se reducirá a un mínimo local que resulta bastante ineficiente. Aunque en realidad es posible lograr una precisión de clasificación del 0 al 80%.
Este ejemplo solo tiene una capa oculta, pero fallará de todos modos.
Se demuestra que cada capa es homeomórfica, o la matriz de pesos de cada capa tiene determinante 0. Si es homeomorfismo, A todavía está rodeado por B y una línea no puede separarlos. Pero supongamos que tiene un determinante de 0: entonces el conjunto de datos se colapsa en algún eje. Debido a que estamos tratando con algo homeomórfico del conjunto de datos original, con A rodeado por B, plegar en cualquier eje significa que tendremos algunos puntos donde A y B se mezclan y se vuelven indistinguibles. ?
Si añadimos una tercera unidad oculta el problema se vuelve trivial. La red neuronal aprende la siguiente representación:
Con esta representación, podemos usar hiperplanos para separar el conjunto de datos.
Para comprender mejor lo que está sucediendo, consideremos un conjunto de datos 1D más simple:
A=
Si no utilizamos dos capas o más capas de unidades ocultas, No podemos clasificar este conjunto de datos. Sin embargo, si usamos una capa con dos celdas, aprenderemos a representar los datos como una bonita curva, permitiéndonos usar una línea para separar diferentes clases:
¿Qué está pasando? Una unidad oculta en x > aprende a disparar a -1/2, y una unidad oculta en x > aprende a disparar a 1/2. Cuando el primero se dispara y el segundo no, sabemos que estamos en uno.
¿Es esto relevante para conjuntos de datos del mundo real, como los datos de imágenes? Si realmente se toma en serio la hipótesis múltiple, creo que vale la pena considerarla.
La hipótesis múltiple es que los datos naturales forman una variedad de baja dimensión en su espacio de incrustación. Teóricamente [3] y experimentalmente [4], hay razones para pensar que esto es cierto. Si cree esto, la tarea de un algoritmo de clasificación es esencialmente separar un conjunto enredado de variedades.
En el ejemplo anterior, una clase rodeaba completamente a otra clase. Sin embargo, parece poco probable que la variedad con forma de perro esté completamente rodeada por la variedad con forma de gato. Sin embargo, como veremos en la siguiente sección, existen otros casos topológicos más razonables que aún pueden resultar problemáticos.
Otro conjunto de datos interesante a considerar son dos anillos conectados, A y b.
Al igual que el conjunto de datos que consideramos anteriormente, este conjunto de datos no es separable sin utilizar la cuarta dimensión (n+1).
Los enlaces se estudian en la teoría de nudos, un campo de la topología. A veces, cuando vemos un vínculo, no es obvio si no es un vínculo (un montón de cosas están entrelazadas, pero se pueden separar mediante deformación continua).
Si una red neuronal con solo 3 unidades puede clasificarlo, entonces se desvincula. ? (Pregunta: En teoría, ¿puede una red con solo tres unidades clasificar todos los que no son enlaces?)
Desde la perspectiva de este nudo, nuestra representación visual continua de la red neuronal no solo es una buena animación. también un proceso de desencadenamiento. En topología, a esto lo llamamos convergencia ambiental entre el enlace original y el enlace separado.
Formalmente, el isótopo ambiental entre las variedades A y B es una función continua F: [0, 1]× Función de identidad, F1 mapea A a B, es decir, Ft mapea continuamente de A a sí mismo de A a B.
Teorema: Hay un isótopo ambiental entre la entrada y la representación de la capa de red, si: a) W no es singular, b) estamos dispuestos a reemplazar neuronas en la capa oculta , c) hay más de 1 unidad oculta.
Prueba: De manera similar, consideramos cada etapa de la red por separado:
1. La más difícil es la transformación lineal. Para que esto sea posible, necesitamos que w tenga un determinante positivo. Nuestra premisa es que no es cero. Si es negativo, podemos invertir el signo intercambiando las dos neuronas ocultas y luego podemos asegurarnos de que el determinante sea positivo. El espacio de la matriz determinante positiva está conexo por caminos, por lo que existe p: [0, 1] →? ¿GLn (R)5 hace? p(0) = Identificación? Entonces qué. p(1) = W . Podemos usar la función. x → p(t)x? Desde la transformación continua de la función identidad a la transformación W, la matriz de transformación continua p (t) se multiplica por x en cada punto de tiempo t.
2. Podemos usar la función x → x+tb para convertir continuamente de la función de identidad a la conversión B.
3. A través de la función: x → (1- t)x +tσ(x), puede pasar continuamente de la función de identidad al uso punto por punto de σ. ?
Creo que podría estar interesado en descubrir automáticamente dichos isótopos ambientales y demostrar automáticamente que ciertos enlaces son equivalentes o que ciertos enlaces son separables. Será interesante saber si las redes neuronales pueden superar el estado actual de la técnica.
(Obviamente, determinar si un nudo es trivial es NP-difícil. Esto no augura nada bueno para las redes neuronales).
Las conexiones de las que hemos hablado hasta ahora no parecen Es muy probable que aparezca en datos del mundo real, pero tiene extensiones de dimensiones superiores. Parece razonable que algo como esto pueda existir en los datos del mundo real.
Los enlaces y los nudos son variedades unidimensionales, pero necesitamos cuatro dimensiones para resolverlas todas. Del mismo modo, es posible que se necesite un espacio de dimensiones superiores para resolver variedades de N dimensiones. Todas las variedades n-dimensionales se pueden resolver usando 2n+2 dimensiones. [6]
Sé muy poco sobre la teoría de nudos y realmente necesito aprender más sobre dimensiones y enlaces. Si sabemos que una variedad puede estar incrustada en un espacio n-dimensional, pero no en las dimensiones de la variedad, ¿cuáles son nuestras limitaciones? )
Lo natural que hace una red neuronal, muy simplemente, es intentar separar la variedad y estirar las partes entrelazadas tanto como sea posible. Aunque esto no se acerca a la verdadera solución, puede lograr una precisión de clasificación relativamente alta y es un mínimo local atractivo.
Aparecerá como derivadas muy altas y cerca de discontinuidades en el área donde está tratando de estirarse. Sabemos que estas cosas suceden. [7] Reducir las penalizaciones en las derivadas de la capa de penalización en los puntos de datos es una forma natural de combatir esta situación. [8]
Debido a que estos mínimos locales son absolutamente inútiles desde la perspectiva de intentar resolver problemas topológicos, los problemas topológicos pueden proporcionar una buena motivación para explorar y resolver estos problemas.
Por otro lado, si sólo nos preocupamos por conseguir buenos resultados en la clasificación, parece que nos puede dar igual. ¿Es un problema para nosotros si una pequeña parte del colector de datos está enganchada a otro colector? A pesar de este problema, subjetivamente parece que se debería obtener un buen resultado de clasificación.
Mi intuición es que tratar de engañar al problema es una mala idea: es difícil imaginar que no sea un callejón sin salida. Especialmente en un problema de optimización, los mínimos locales son un gran problema. Elegir una arquitectura que realmente no resuelva el problema parece ser una receta para un rendimiento deficiente. )
Cuanto más pienso en las capas de redes neuronales estándar, es decir, mediante transformaciones afines seguidas de una función de activación puntual, más irrazonable me parece. Es difícil imaginar que sean realmente buenos para manipular variedades.
¿Quizás existe una capa muy diferente que se puede utilizar para componer una capa más tradicional?
Naturalmente pensé en aprender un campo vectorial, múltiple con la dirección que queremos cambiar:
Luego transforma el espacio de acuerdo con él:
Se puede aprender Un campo vectorial de puntos fijos (simplemente tome algunos puntos fijos del conjunto de entrenamiento como puntos de anclaje) e interpólelos de alguna manera. La forma del campo vectorial anterior es la siguiente:
Donde v0 y v1 son vectores, f0(x) y f1(x) son gaussianos de N dimensiones. Esto está inspirado en funciones de base radial.
También comencé a pensar que la demanda de separabilidad lineal en las redes neuronales puede ser enorme, aunque puede que no sea razonable. En cierto modo, usar k-NN parece natural. Sin embargo, el éxito de k-NN depende en gran medida de su representación categórica de los datos, por lo que se necesita una buena representación antes de que k-NN pueda funcionar bien.
Como primer experimento, entrené algunas redes MNIST (redes convolucionales de dos capas sin pérdidas) y el error de prueba alcanzó aproximadamente el 1%. Luego descarté la última capa softmax y usé el algoritmo k-NN. Puedo reducir constantemente el error de prueba entre un 0,1 y un 0,2 %.
A pesar de esto, sigo pensando que hay algunos problemas. La red todavía está intentando realizar una clasificación lineal, pero como usamos k-NN en nuestras pruebas, podemos recuperarnos un poco del error.
Debido al peso de 1/distancia, k-NN es diferenciable en la representación de su función. Entonces podemos entrenar directamente una red para la clasificación k-NN. Esto puede considerarse como una capa de "vecino más cercano" y puede usarse como una alternativa a softmax.
No queremos proporcionar el conjunto de entrenamiento completo para cada minilote ya que es computacionalmente muy costoso. Creo que un buen enfoque es clasificar cada elemento del minilote de acuerdo con la categoría de otros elementos del minilote, dando a cada elemento un peso de 1/(distancia desde el objetivo de clasificación). [9]
Desafortunadamente, incluso con arquitecturas complejas, el uso de k-NN solo reducirá los errores de prueba entre un 5% y un 4%; el uso de arquitecturas más simples conducirá a peores resultados. Sin embargo, dediqué muy poco esfuerzo a ajustar los hiperparámetros.
Sin embargo, estéticamente me gusta este enfoque porque parece que lo que estamos "pidiendo" a Internet que haga es mucho más razonable. Queremos que los puntos de la misma variedad estén más cerca que otros puntos, y las variedades pueden estar separadas por hiperplanos. Esto debería corresponder a expandir el espacio entre diferentes tipos de variedades y contraer cada variedad. Parece que está simplificado.
Las propiedades topológicas de los datos (como los enlaces) pueden hacer imposible separar clases linealmente utilizando redes de baja dimensión, independientemente de su profundidad. Incluso si es técnicamente posible, como una espiral, hacerlo puede ser un desafío.
Para clasificar datos con precisión utilizando una red neuronal, a veces se necesita una capa más amplia. Además, las capas de redes neuronales tradicionales no parecen representar bien operaciones importantes en variedades; incluso si somos expertos en configurar manualmente los pesos, es difícil expresar de manera sucinta las transformaciones que queremos. Una nueva capa, especialmente impulsada por las múltiples perspectivas del aprendizaje automático, podría ser una adición útil.
Este es un proyecto de investigación en desarrollo. Fue lanzado como un experimento de investigación pública. Me encantaría recibir tus comentarios sobre estas ideas: puedes dejarlas en línea o en los comentarios al final. Si desea errores tipográficos, errores técnicos o aclaraciones, le recomendamos que envíe solicitudes de extracción en github.
)
Gracias a Yoshua Bengio, Michael Nielsen, Dario Amodei, Eliana Lorch, Jacob Steinhardt y Tamsyn Waterhouse por sus comentarios y aliento.
1. Esto realmente parece comenzar. ¿Krizhvski? et al., (2012), quienes lograron resultados sobresalientes al juntar muchas piezas diferentes. Desde entonces, ha habido muchos otros trabajos interesantes. ?
2. Se espera que estas representaciones hagan que los datos sean "mejor" clasificados por la red. Ha habido muchos trabajos recientes que exploran el rendimiento. Quizás lo más fascinante sea el procesamiento del lenguaje natural: las representaciones de las palabras que aprendemos, llamadas incrustaciones de palabras, tienen propiedades interesantes. ¿Viste eso? ¿Mikolov? etc. (2013), ?Turriano? etc. (2010), y,? Obras de Richard Sochi. Para que pruebes rápidamente, ¿tienes uno? ¿Muy buena visualización? Asociado a periódicos turianos. ?
3. Muchas de las transformaciones naturales que quizás quieras realizar en una imagen, como trasladar o escalar objetos en la imagen, o cambiar la iluminación, formarán una curva continua en el espacio de la imagen si realizas estas transformaciones. continuamente. ?
4.? ¿Karlsson? etc. Se encontraron parches de imágenes locales que formaban botellas de Klein. ?
5.¿GLn(R) es un conjunto reversible? Se llama formalmente una matriz n × n sobre números reales. ¿Grupo lineal general? ¿Hasta el enésimo grado?
6. ¿Dónde está este resultado? Sección de Wikipedia sobre versiones de isótopos. ?
7. ¿Lo viste? ¿Szegedi? Pudieron modificar muestras de datos y encontrar ligeras modificaciones que provocaron que algunas de las mejores redes neuronales de clasificación de imágenes clasificaran erróneamente los datos. Bastante problemático. ?
8. Se introduce una penalización de contracción en el codificador automático de contracción. ¿Viste eso? ¿Rifai? esperar. (2011). ?
9. Utilicé un algoritmo un poco menos elegante, pero más o menos equivalente, ya que es más práctico de implementar: alimentar dos lotes diferentes al mismo tiempo y clasificarlos uno en función del otro. ?