[ad_1]
El trabajo básico mostró cómo encontrar el kernel correspondiente a una red amplia. Encontramos el mapa inverso que muestra cómo encontrar la red amplia correspondiente a un núcleo dado.
Las redes neuronales profundas han permitido maravillas tecnológicas que van desde el reconocimiento de voz hasta la transición de máquinas a la ingeniería de proteínas, pero su diseño y aplicación, no obstante, carecen de principios. Desarrollar herramientas y métodos para controlar este proceso es uno de los grandes retos de la teoría del aprendizaje profundo. En Reverse Engineering the Neural Tangent Kernel, proponemos un paradigma para traer algunos principios al arte del diseño arquitectónico utilizando avances teóricos recientes: primero diseñe una buena función de kernel, a menudo una tarea mucho más simple, y luego una «ingeniería inversa» de malla. Equivalencia de kernel para traducir el kernel elegido en una red neuronal. Nuestro principal resultado teórico permite el diseño de funciones de activación a partir de principios básicos, y lo usamos para crear una función de activación que imita el rendimiento de la red profunda \(\mathrm{ReLU}\) con solo una capa oculta, y otra que la profunda \ ( \textrm{ReLU}\) Redes en una tarea sintética.
Kernels para redes neuronales
El campo de la teoría del aprendizaje profundo ha cambiado recientemente al darse cuenta de que las redes neuronales profundas a menudo se vuelven analíticamente manejables para estudiarlas. infinitamente ancho Borde. Tome el límite de cierta manera, y la red realmente converge a un método de kernel ordinario, ya sea usando el «Neural Tangent Kernel» (NTK) de la arquitectura o, si solo se entrena la última capa (a la Random Feature Models), su Neural Núcleo de proceso gaussiano de red (NNGP). Al igual que el teorema del límite central, estos límites de red amplia a menudo son aproximaciones sorprendentemente buenas, incluso lejos del ancho infinito (a menudo cierto en anchos de cientos o miles), que ofrecen un enfoque analítico notable a los misterios del aprendizaje profundo.
De las redes a los núcleos y viceversa
El trabajo original que examinó esta correspondencia net-kernel proporcionó fórmulas para comenzar desde arquitectura a núcleo: Una descripción de una arquitectura (por ejemplo, profundidad y función de activación) le brinda los dos núcleos de la red. Esto ha proporcionado grandes conocimientos sobre la optimización y generalización de varias arquitecturas interesantes. Sin embargo, si nuestro objetivo no es solo entender las arquitecturas existentes, sino diseñarlas Nuevo Unos, entonces podríamos tener el mapeo a la inversa: dada una núcleo queremos, podemos encontrar uno arquitectura somos nosotros? En este trabajo, derivamos este mapeo inverso para redes totalmente conectadas (FCN), que nos permite diseñar redes simples de una manera basada en principios al (a) postular un núcleo deseado y (b) diseñar una función de activación que lo proporcione.
Para ver por qué esto tiene sentido, primero imaginemos un NTK. Considere un FCN-NTK ancho \(K(x_1,x_2)\) en dos vectores de entrada \(x_1\) y \(x_2\) (que por simplicidad asumimos que están normalizados a la misma longitud). Para un FCN este kernel es rotacionalmente invariante en el sentido de que \(K(x_1,x_2) = K(c)\), donde \(c\) es el coseno del ángulo entre las entradas. Dado que \(K(c)\) es una función escalar de un argumento escalar, podemos representarlo de manera simple. La figura 2 muestra el NTK de un FCN de cuatro capas ocultas (4HL) \(\mathrm{ReLU}\).
Figura 2. El NTK de un 4HL $\textrm{ReLU}$ FCN en función del coseno entre dos vectores de entrada $x_1$ y $x_2$.
¡De hecho, este diagrama contiene mucha información sobre el comportamiento de aprendizaje de la red amplia correspondiente! El aumento monótono significa que este kernel espera que los puntos más cercanos tengan valores de función más correlacionados. La pendiente pronunciada al final nos dice que la longitud de la correlación no es demasiado grande y puede corresponder a funciones complicadas. La derivada divergente en \(c=1\) nos dice algo sobre la suavidad de la función que esperamos. Importante, ninguno de estos hechos es evidente cuando se observa un gráfico de \(\mathrm{ReLU}(z)\).! Sostenemos que si queremos comprender el efecto de elegir una función de activación \(\phi\), el NTK resultante es en realidad más informativo que \(\phi\) en sí mismo. Por lo tanto, podría tener sentido probar arquitecturas en el » Kernel Space” y luego traducirlos a los típicos hiperparámetros.
Una función de activación para cada núcleo
Nuestro resultado principal es un «teorema de ingeniería inversa» que establece lo siguiente:
Serie 1: Para cada núcleo $K(c)$ podemos construir una función de activación $\tilde{\phi}$ que, cuando se inserta en un Capa oculta única FCN, su kernel NTK o NNGP de ancho infinito es $K(c)$.
Damos una fórmula explícita para \(\tilde{\phi }\) en términos de polinomios de Hermite (aunque en la práctica usamos una forma funcional diferente para entrenar). Nuestro uso propuesto de este resultado es que, dados los problemas con una estructura conocida, a veces será posible escribir un buen núcleo y convertirlo en una red entrenable con varias ventajas sobre la regresión pura del núcleo, como la capacidad de aprender funciones. Para probar la viabilidad, estamos probando esta idea en plástico. problema de paridad (es decir, ¿la suma es par o impar para una cadena de bits dada?) e inmediatamente genera una función de activación que claramente supera a \(\text{ReLU}\) en la tarea.
¿Una capa oculta es todo lo que necesitas?
Aquí hay otro uso sorprendente de nuestro resultado. La curva del kernel anterior es para un FCN 4HL \(\mathrm{ReLU}\), pero he afirmado que podemos lograr cualquier kernel, incluido este, con solo una capa oculta. Esto implica que podemos crear una nueva función de activación \(\tilde{\phi }\) que devuelve este NTK «profundo» en un red poco profunda! La figura 3 ilustra este experimento.
Fig. 3. Aplanamiento de un $\mathrm{ReLU}$ FCN profundo en un 1HL FCN con una función de activación construida $\tilde{\phi}$.
Sorprendentemente, esta «superficialización» realmente funciona. La subparcela izquierda de la Fig. 4 a continuación muestra una función de activación «imitativa» \(\tilde{\phi}\), que prácticamente produce el mismo NTK que un \(\mathrm{ReLU}\) FCN profundo. Luego, los gráficos de la derecha muestran las trazas de extracción + pérdida de prueba + precisión para tres FCN en un problema tabular estándar del conjunto de datos de UCI. Tenga en cuenta que, si bien las redes superficiales y profundas de ReLU tienen comportamientos muy diferentes, ¡nuestra red superficial mímica construida rastrea la red profunda casi exactamente!
Figura 4. Panel izquierdo: nuestra función de activación «imitadora» construida, que se muestra para compararla con ReLU. Paneles de la derecha: curvas de rendimiento para 1HL ReLU, 4HL ReLU y 1HL que imitan FCN entrenados en un conjunto de datos de UCI. Tenga en cuenta la estrecha coincidencia entre las redes 4HL ReLU y 1HL Mimic.
Esto es interesante desde un punto de vista técnico porque la red superficial utiliza menos parámetros que la red profunda para lograr el mismo rendimiento. También es interesante desde un punto de vista teórico porque plantea cuestiones fundamentales sobre el valor de la profundidad. Una creencia común sobre el aprendizaje profundo es que más profundo no solo es mejor, sino también cualitativamente diferente: que las redes profundas aprenden eficientemente funciones que las redes superficiales simplemente no pueden. Nuestro resultado de somerización sugiere que este no es el caso, al menos para los FCN: si sabemos lo que estamos haciendo, entonces la profundidad no nos sirve.
Conclusión
Este trabajo viene con muchas advertencias. Lo más importante es que nuestro resultado solo se aplica a los FCN, que rara vez son innovadores por sí solos. Sin embargo, el trabajo en NTK convolucionales está progresando rápidamente, y creemos que este paradigma de diseño de redes mediante el diseño de núcleos de alguna forma está listo para extenderse a estas arquitecturas estructuradas.
El trabajo teórico hasta la fecha ha proporcionado relativamente pocas herramientas para los teóricos prácticos del aprendizaje profundo. Queremos que este sea un paso modesto en esa dirección. Incluso sin una ciencia que guíe su diseño, las redes neuronales ya han hecho posibles maravillas. Imagina lo que podemos hacer con él cuando finalmente tengamos uno.
Esta publicación se basa en el artículo «Reverse Engineering the Neural Tangent Kernel» en coautoría con Sajant Anand y Mike DeWeese. Proporcionamos código para reproducir todos nuestros resultados. Estamos encantados de recibir sus preguntas o comentarios.
[ad_2]