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!
Si eres como yo y te gustaría visualizar las cosas para entenderlas mejor, aquí tienes un vídeo de este artículo:
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.
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.
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.
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.
Usando un polinomio de segundo orden, x² , 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 x³ es adecuado para estos datos, conlleva un costo computacional adicional. Una solución diferente podría ser usar x² cuando la entrada x es negativa pero usar - x² 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.
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.
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.
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.
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.
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.
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.
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:
Veremos las tramas de estas defensas en el apartado de resultados. Por ahora, analicemos más otra especialidad de los 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:
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
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.
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:
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.
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.
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.
Han proporcionado la siguiente figura para guiarnos sobre cuándo elegir KAN en lugar de MLP. Entonces, elija KAN si,
De lo contrario, las MLP siguen ganando.
Si te gustó este artículo, ¿por qué no me sigues?
También suscríbete a mi
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.