Transformador Kolmogorov-Arnold
Kolmogorov-Arnold Transformer
September 16, 2024
Autores: Xingyi Yang, Xinchao Wang
cs.AI
Resumo
Os Transformers representam a pedra angular da aprendizagem profunda moderna. Tradicionalmente, esses modelos dependem de camadas de perceptron de múltiplas camadas (MLP) para misturar as informações entre os canais. Neste artigo, apresentamos o Transformador Kolmogorov-Arnold (KAT), uma arquitetura inovadora que substitui as camadas MLP por camadas da Rede Kolmogorov-Arnold (KAN) para aprimorar a expressividade e o desempenho do modelo. No entanto, integrar KANs aos transformers não é tarefa fácil, especialmente ao ampliar a escala. Identificamos especificamente três desafios principais: (C1) Função base. A função padrão de B-spline usada em KANs não é otimizada para computação paralela em hardware moderno, resultando em velocidades de inferência mais lentas. (C2) Ineficiência de parâmetros e computação. KAN requer uma função única para cada par de entrada-saída, tornando o cálculo extremamente grande. (C3) Inicialização de pesos. A inicialização de pesos em KANs é particularmente desafiadora devido às suas funções de ativação aprendíveis, que são essenciais para alcançar a convergência em redes neurais profundas. Para superar os desafios mencionados, propomos três soluções-chave: (S1) Base racional. Substituímos as funções de B-spline por funções racionais para melhorar a compatibilidade com GPUs modernas. Ao implementar isso em CUDA, alcançamos cálculos mais rápidos. (S2) Grupo KAN. Compartilhamos os pesos de ativação por meio de um grupo de neurônios para reduzir a carga computacional sem sacrificar o desempenho. (S3) Inicialização preservadora de variância. Inicializamos cuidadosamente os pesos de ativação para garantir que a variância de ativação seja mantida em todas as camadas. Com esses projetos, o KAT escala efetivamente e supera facilmente os transformers tradicionais baseados em MLP.
English
Transformers stand as the cornerstone of mordern deep learning.
Traditionally, these models rely on multi-layer perceptron (MLP) layers to mix
the information between channels. In this paper, we introduce the
Kolmogorov-Arnold Transformer (KAT), a novel architecture that replaces MLP
layers with Kolmogorov-Arnold Network (KAN) layers to enhance the
expressiveness and performance of the model. Integrating KANs into
transformers, however, is no easy feat, especially when scaled up.
Specifically, we identify three key challenges: (C1) Base function. The
standard B-spline function used in KANs is not optimized for parallel computing
on modern hardware, resulting in slower inference speeds. (C2) Parameter and
Computation Inefficiency. KAN requires a unique function for each input-output
pair, making the computation extremely large. (C3) Weight initialization. The
initialization of weights in KANs is particularly challenging due to their
learnable activation functions, which are critical for achieving convergence in
deep neural networks. To overcome the aforementioned challenges, we propose
three key solutions: (S1) Rational basis. We replace B-spline functions with
rational functions to improve compatibility with modern GPUs. By implementing
this in CUDA, we achieve faster computations. (S2) Group KAN. We share the
activation weights through a group of neurons, to reduce the computational load
without sacrificing performance. (S3) Variance-preserving initialization. We
carefully initialize the activation weights to make sure that the activation
variance is maintained across layers. With these designs, KAT scales
effectively and readily outperforms traditional MLP-based transformers.