Trasformatore di Kolmogorov-Arnold
Kolmogorov-Arnold Transformer
September 16, 2024
Autori: Xingyi Yang, Xinchao Wang
cs.AI
Abstract
I Transformer rappresentano la pietra angolare del deep learning moderno. Tradizionalmente, questi modelli si basano su strati di perceptron multi-strato (MLP) per mescolare le informazioni tra i canali. In questo articolo, presentiamo il Transformer Kolmogorov-Arnold (KAT), una nuova architettura che sostituisce gli strati MLP con gli strati di rete Kolmogorov-Arnold (KAN) per migliorare l'espressività e le prestazioni del modello. Integrare i KAN nei transformer, tuttavia, non è affatto semplice, specialmente quando si scala il sistema. In particolare, identifichiamo tre sfide chiave: (C1) Funzione di base. La funzione standard a B-spline utilizzata nei KAN non è ottimizzata per il calcolo parallelo sull'hardware moderno, risultando in velocità di inferenza più lente. (C2) Inefficienza nei parametri e nei calcoli. I KAN richiedono una funzione unica per ciascuna coppia input-output, rendendo i calcoli estremamente complessi. (C3) Inizializzazione dei pesi. L'inizializzazione dei pesi nei KAN è particolarmente impegnativa a causa delle loro funzioni di attivazione apprendibili, che sono cruciali per raggiungere la convergenza nelle reti neurali profonde. Per superare le sfide sopra menzionate, proponiamo tre soluzioni chiave: (S1) Base razionale. Sostituiamo le funzioni a B-spline con funzioni razionali per migliorare la compatibilità con le GPU moderne. Implementando ciò in CUDA, otteniamo calcoli più veloci. (S2) KAN di gruppo. Condividiamo i pesi di attivazione attraverso un gruppo di neuroni, per ridurre il carico computazionale senza compromettere le prestazioni. (S3) Inizializzazione che conserva la varianza. Inizializziamo attentamente i pesi di attivazione per garantire che la varianza di attivazione sia mantenuta tra i livelli. Con questi design, il KAT scala efficacemente e supera facilmente i transformer tradizionali basati su 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.Summary
AI-Generated Summary