paint-brush
Comparación de la red Kolmogorov-Arnold (KAN) y los perceptrones multicapa (MLP)por@aibites
Nueva Historia

Comparación de la red Kolmogorov-Arnold (KAN) y los perceptrones multicapa (MLP)

por Shrinivasan Sankar8m2024/06/29
Read on Terminal Reader

Demasiado Largo; Para Leer

Los KAN desafían los perceptrones multicapa que son fundamentales para TODOS los LLM en la actualidad. ¿Pero sobrevivirán y cumplirán? Comparemos y contrastemos.
featured image - Comparación de la red Kolmogorov-Arnold (KAN) y los perceptrones multicapa (MLP)
Shrinivasan Sankar HackerNoon profile picture
0-item

Hemos dado por sentado los perceptrones multicapa (MLP) clásicos y hemos construido muchas arquitecturas a su alrededor. Los MLP son parte integral de cada LLM o modelo básico que vemos hoy, como chatGPT, LLAMA, DALLE y CLIP. O incluso modelos de reconocimiento simples como YOLO-v*.


¿Qué pasa si ahora les digo que tenemos un competidor para las mismas MLP? Hay un nuevo periódico en la ciudad llamado “Red Kolmogorov-Arnold”, o KAN para abreviar, que desafía a los MLP. Si la solución que proponen realmente escala, entonces podremos tener la próxima generación de redes neuronales, lo que nos acercará un paso más a la Inteligencia General Artificial (AGI).


Si bien los MLP comprenden funciones de activación como ReLU, sigmoide, tanh, GeLU, etc., KAN propone que aprendamos estas funciones de activación. Entonces, ¿cómo lo hace KAN? ¿Cuáles son las matemáticas detrás de esto? ¿Cómo se implementa? ¿Y cómo entrenamos a los KAN?

He hecho todo lo posible para resumir el documento KAN aquí. Puede optar por leer esta esencia o leer el artículo, ¡que tiene 48 páginas!

Explicación visual

Si eres como yo y te gustaría visualizar las cosas para entenderlas mejor, aquí tienes un vídeo de este artículo:


MLP: el problema

Comencemos con los MLP, con los que estamos bastante familiarizados. Los MLP se componen de nodos y aristas. En cada nodo, se suman las entradas y se aplican activaciones como ReLU, GeLU y SeLU para producir la salida para ese nodo en particular.

Una figura del artículo que ilustra la diferencia entre MLP y KAN


Estas funciones de activación nunca cambian durante el proceso de entrenamiento. En otras palabras, no tienen ningún parámetro. No son lo suficientemente inteligentes como para sintonizarse con un conjunto de datos de entrenamiento determinado. Entonces, lo que se entrena o actualiza durante el entrenamiento son los pesos de cada uno de estos nodos.

Ahora bien, ¿qué pasa si cuestionamos la suposición de que la función de activación debe arreglarse y hacerla entrenable? Entonces, ese es el desafío que la red KAN intentó abordar. Las funciones de activación de la red KAN se actualizan durante el proceso de formación. Antes de profundizar más, comencemos con los polinomios y el ajuste de curvas.

Polinomios y ajuste de curvas

Entonces, la idea fundamental de los KAN es que cualquier función compuesta multivariante se puede descomponer en una suma de varias funciones que son variables únicas.

Una animación que ilustra las funciones x^2 y x^3.

Por ejemplo, digamos que tenemos una ecuación de grado 3 donde y=x³ como lo representa la curva amarilla de arriba. Y otra ecuación de grado 2, y=x², como se muestra en la curva azul en la animación anterior. Podemos ver en esta visualización que usando x² nunca podremos lograr la curvatura lograda por x³.


Supongamos que tenemos los datos representados por los puntos rojo y azul a continuación y deseamos encontrar el límite de clasificación binaria entre las dos clases.

Un problema de juguete donde x^3 encaja mejor que x^2. ¡Pero aún se puede resolver con x^2 sumando dos curvas x^2!

Usando un polinomio de segundo orden, , no podremos encontrar el límite entre los dos ya que la curva x² tiene forma de “U”, pero los datos tienen forma de “S”. Aunque usar es adecuado para estos datos, conlleva un costo computacional adicional. Una solución diferente podría ser usar cuando la entrada x es negativa pero usar - cuando x es positiva (curva azul dibujada a mano en la figura anterior).

Lo único que hemos hecho es sumar dos polinomios de menor grado para lograr una curva con mayor grado de libertad. Esta es exactamente la idea detrás de las redes KAN.

Un problema de juguete

Tomemos ahora un problema de juguete un poco más complejo en el que sabemos que los datos se generan mediante una ecuación simple, y=exp(sin(x1² + x2²) + sin(x3² + x4²)) . Entonces tenemos 4 variables de entrada y tres operaciones, a saber, exponente, seno y cuadrado. Entonces, podemos elegir cuatro nodos de entrada con tres capas, cada una dedicada a tres operaciones diferentes, como se muestra a continuación.

Una red KAN simple con 4 entradas, 3 capas para 3 funciones básicas

Red KAN para un problema de juguete con cuatro entradas y tres funciones básicas para cálculos: exponente, sinusoide y cuadrado

Después del entrenamiento, los nodos convergerán en funciones al cuadrado, sinusoide y exponente para ajustarse a los datos.


Como se trata de un problema de juguete, conocemos la ecuación de donde provienen los datos. Pero en la práctica no conocemos la distribución de los datos del mundo real. Una forma de solucionar este problema es mediante el uso de B-splines.

Splines y B-splines

La idea fundamental de los B-splines es que cualquier función o curva dada se puede representar como una combinación de funciones o curvas más simples. Estas funciones más simples se llaman funciones básicas. Por ejemplo, tomemos la curva roja en la siguiente figura. En aras de la simplicidad, intentemos representar esto con sólo dos funciones básicas.


Podemos descomponerlo en 3 puntos ya que lo vamos a representar con la suma de dos funciones base. Estos puntos se llaman nudos. Puede haber cualquier número n de funciones básicas. El parámetro que controla cómo funciona esta base de combinaciones es c. Puede haber discontinuidades en los nudos cuando “unimos” dos curvas. La solución es restringir la curvatura de las curvas en los nudos para obtener una curva suave. Por ejemplo, podemos restringir la pendiente de las dos curvas para que sea la misma en los nudos, como lo muestra la flecha verde en la siguiente figura.

Mis garabatos para ilustrar B-splines y funciones básicas.

Como no podemos imponer tal restricción en la red neuronal, han introducido funciones de activación residuales en el artículo. Esto actúa más como una regularización. Prácticamente, esta es la activación SeLU que se agrega a la función spline estándar como se ve en el documento siguiente.

Cuadrículas spline y grano fino de KAN

Los KAN introducen una nueva forma de formación llamada de grano fino . Con lo que todos estamos familiarizados es con el ajuste fino, donde agregamos más parámetros al modelo. Sin embargo, en el caso de grano fino, podemos mejorar la densidad de las rejillas spline. Esto es lo que llaman extensión de la red.

Parte de la figura del artículo que muestra el ajuste fino que equivale al ajuste fino de una red neuronal estándar.

Como podemos ver en la figura anterior del artículo, el grano fino consiste simplemente en hacer que las cuadrículas de B-splines sean densas para que se vuelvan más representativas y, por lo tanto, más poderosas.

Complejidad computacional

Una de las desventajas de los splines es que son recursivos y, por tanto, costosos desde el punto de vista computacional. Su complejidad computacional es O (N²LG), que es mayor que la complejidad habitual de O (N²L) para los MLP. La complejidad adicional proviene de los intervalos de la cuadrícula G.

Los autores defienden este problema inherente mostrando que:

  • La cantidad de parámetros que necesita KAN es menor en comparación con los MLP para el mismo problema.
  • Los KAN convergen rápida y eficientemente durante el entrenamiento, por lo que necesitan menos tiempo de entrenamiento.

Veremos las tramas de estas defensas en el apartado de resultados. Por ahora, analicemos más otra especialidad de los KAN.

Interpretabilidad y elección de capas KAN

A medida que los KAN aprenden funciones, no es simplemente una caja negra como los MLP donde podemos simplemente diseñarlos eligiendo la profundidad y el ancho del MLP para un dato o problema determinado. Entonces, para hacer que los KAN sean más interpretables y diseñar una buena red KAN, debemos seguir los pasos a continuación:

  • Esparsificación. Comenzamos con una red KAN más grande de lo previsto e introducimos la regularización introduciendo la norma L1 de la función de activación en lugar de las entradas como hacemos generalmente con el aprendizaje automático.
  • Poda. Una vez que la red dispersa está entrenada, podemos eliminar los nodos innecesarios que están por debajo de un cierto umbral en un criterio o puntuación establecidos.
  • Simbolización. Cuando sabemos vagamente qué función constituye un dato determinado, podemos configurar algunos nodos para que tomen esa función. A esto se le llama simbolización. Por ejemplo, si trabajamos con ondas sonoras, la mayoría de los datos son sinusoidales, por lo que nos facilitamos la vida configurando algunos de los nodos como sinusoides. El marco nos permite hacerlo proporcionando una función de interfaz llamada fix_symbolic(l,i,j,f) donde l, i, j son capas y ubicaciones de nodos, y f es la función que puede ser sine, cosine, log, etc

Diferentes pasos para entrenar un modelo KAN

Un resumen de los diferentes pasos sugeridos en el documento para llegar a una red KAN entrenada

Los diferentes pasos se han resumido en la figura anterior. Comenzamos con una red grande y la dispersamos (paso 1), podamos la red resultante (paso 2), establecemos alguna simbolización (paso 3), entrenamos la red (paso 4) y finalmente llegamos al modelo entrenado.

Experimentos y resultados

Utilizando los pasos mencionados anteriormente, han entrenado redes KAN para cinco problemas diferentes de juguetes para ilustrar su efectividad y compararlos con los MLP. Las conclusiones clave de la comparación son:

  • KAN se entrena mucho más rápido que los MLP, comprometiendo así la complejidad computacional inherente a él.
  • KAN puede hacer con menos parámetros lo que MLP puede hacer con muchos más
  • Los KAN convergen muy suavemente con una pérdida decreciente rápida en comparación con los MLP

El primer punto está representado por la línea azul gruesa en los cinco gráficos en el gráfico superior de arriba para los cinco problemas de juguetes. Los dos últimos puntos se ilustran mediante el gráfico en la parte inferior que muestra las curvas de pérdida y el recuento de parámetros para resolver cualquier problema determinado.

Los resultados del artículo indican que los KAN convergen más rápido y pueden entrenarse con menos parámetros durante menos tiempo para superar el problema de la complejidad computacional.

Olvido catastrófico

La siguiente conclusión es que los KAN son mucho mejores que los MLP en el catastrófico problema del olvido. Si alimentamos datos de secuencia para el aprendizaje continuo, los KAN parecen recordar los datos pasados mucho mejor en comparación con los MLP. Esto se muestra en la siguiente figura, donde KAN reproduce las 5 fases de los datos, pero MLP tiene problemas.

Figura del artículo que muestra que los KAN son mejores que los MLP para superar el olvido catastrófico

Otros resultados

También han realizado extensos experimentos para demostrar que KAN se puede utilizar para problemas que involucran diferenciales parciales y ecuaciones físicas. En lugar de entrar en esos detalles, veamos cuándo elegir KAN frente a MLP.

Elegir entre KAN y MLP

Han proporcionado la siguiente figura para guiarnos sobre cuándo elegir KAN en lugar de MLP. Entonces, elija KAN si,

  • Se trata de datos estructurales como formas de onda o gráficos.
  • desea tener un aprendizaje continuo a partir de los datos
  • ¡No te importa mucho el tiempo de entrenamiento!
  • datos de alta dimensión

Elegir entre la figura KAN y MLP del documento

De lo contrario, las MLP siguen ganando.

Gritar

Si te gustó este artículo, ¿por qué no me sigues? Gorjeo ¿Dónde comparto actualizaciones de investigaciones de los mejores laboratorios de IA todos los días de la semana?

También suscríbete a mi Canal de Youtube donde explico conceptos y artículos de IA visualmente.

Discusión y conclusión

En mi opinión, los KAN no están aquí para reemplazar a los MLP en cuanto a cómo los transformadores arrasaron limpiamente el panorama de la PNL. Más bien, los KAN resultarán útiles para problemas especializados en matemáticas y física. Incluso entonces, creo que necesitamos muchas más mejoras. Pero para los problemas de big data que se resuelven con modelos básicos, los KAN tienen un largo camino por recorrer, al menos en su estado actual.

Además, el enfoque de capacitación y el diseño de la arquitectura KAN tiende a desviarse de la forma estándar de diseñar y entrenar redes neuronales modernas. Sin embargo, la página de GitHub ya tiene 13.000 estrellas y 1,2.000 bifurcaciones, lo que indica que está preparada para algo. Esperemos y observemos este espacio.