[[2023-03-26-Transformer_LLM]] , [[2023-02-18-Attn_All_U_Need_Visual]]
https://teddykoker.com/2020/11/performers/ https://zetongqi.github.io/posts/2020/06/blog-post-7/
SVM Kernel Approximation
支援向量機(SVM)是最佳的機器學習演算法之一。它具有良好的泛化能力,較低的過擬合風險,能很好地應用於高維數據。此外,核技巧(kernel trick)使得可以有效地將特徵空間提升到更高維度。而且,SVM 的優化問題通常是二次規劃 (QP) 問題,這類問題能高效求解,並且保證得到全局最小值。
然而,SVM 也有一些缺點,其中最大的問題是它在處理大型數據集時擴展性較差,且推理時間與訓練數據集的大小有關。 對於大小為 $n$ 的訓練集,其中 $x \in \mathbb{R}^d$,計算核矩陣 kernel matrix, $K_{ij} =k(\mathbf{x}_i, \mathbf{x}_j)$, 的計算複雜度為 $O(n^2d)$,而推理的計算複雜度為 $O(nd)$。這種時間複雜度在面對大型訓練集時表現不佳。
注意,這裏的計算複雜度和計算 attention matrix,$\mathbf{A} = \operatorname{softmax}(\mathbf{Q} \mathbf{K}^{\top})$ 完全一樣!

SVM Code Example
Insert code
1 | |
原始數據
Dataset: 1600 points, 2 classes.
![[Pasted image 20241206170156.png]]
SVM with RBF Kernel (map from 2D to infty D) for Classification 包含 ??? supporting vectors, and test accuracy: 92.5%
![[Pasted image 20241206170228.png]]
Fourier Random Feature
Insert code
1 | |
SVM with RBF Kernel (map from 2D to 500 D) for Classification 包含 ~380 supporting vectors, and test accuracy: 91.5%-93.25%
Solver: CVX QP (Quad Programming)
![[Pasted image 20241206170624.png]]
Source
-
Linear Attention 打改变 Transformer 大模型结构垄断 : https://www.bilibili.com/video/BV1V7s9etEmQ/?spm_id_from=333.999.0.0&vd_source=a99fc6374f18662fe559d32fdc3a80cd
-
Transformer are RNNs: https://arxiv.org/pdf/2006.16236
-
TransNormerLLM: https://arxiv.org/pdf/2307.14995
-
Universal Transformer: https://arxiv.org/pdf/1807.03819
-
Transformer Quality in Linear Time: https://arxiv.org/pdf/2202.10447