10 Apr

从JL引理看熵不变性Attention

《从熵不变性看Attention的Scale操作》《熵不变性Softmax的一个快速推导》中笔者提出了熵不变性Softmax,简单来说就是往Softmax之前的Attention矩阵多乘上一个$\log n$,理论上有助于增强长度外推性,其中$n$是序列长度。$\log n$这个因子让笔者联系到了JL引理(Johnson-Lindenstrauss引理),因为JL引理告诉我们编码$n$个向量只需要$\mathscr{O}(\log n)$的维度就行了,大家都是$\log n$,这两者有没有什么关联呢?

熵不变性

我们知道,熵是不确定性的度量,用在注意力机制中,我们将它作为“集中注意力的程度”。所谓熵不变性,指的是不管序列长度$n$是多少,我们都要将注意力集中在关键的几个token上,而不要太过分散。为此,我们提出的熵不变性Attention形式为
\begin{equation}Attention(Q,K,V) = softmax\left(\frac{\log_{512} n}{\sqrt{d}}QK^{\top}\right)V\label{eq:core}\end{equation}

点击阅读全文...

9 Nov

VQ一下Key,Transformer的复杂度就变成线性了

Efficient Transformer,泛指一切致力于降低Transformer的二次复杂度的工作,开始特指针对Attention的改进,后来更一般的思路,如傅里叶变换、线性RNN等,也被归入这个范畴。不得不说,为了降低Transformer的二次复杂度,各路大牛可谓是“八仙过海,各显神通”,各种神奇的思路“百花齐放”,笔者也从中学习到了不少理论知识。然而,尽管Efficient Transformer在理论上是精彩的,但实际上该领域一直都是不愠不火的状态,并没有实际表现十分出色的模型,在LLM火爆的今天,甚至已经逐渐淡出了大家的视野,也淡出了笔者的兴趣范围。

不过,最近有一篇论文《Transformer-VQ: Linear-Time Transformers via Vector Quantization》,却让笔者为之拍案叫绝。作者非常高明地洞察到,只需要对标准Attention的Key做一下VQ(Vector Quantize),复杂度就会自动降低为线性!这种线性化思路保留了标准Attention的形式,是标准Attention到线性Attention的一个完美过渡,同时最大程度上保留了标准Attention的能力。

高效难题

说起来,本站也算是比较早关注Efficient Transformer相关工作了,最早可以追溯到2019年解读Sparse Transformer的一篇博客《为节约而生:从标准Attention到稀疏Attention》。此后,陆续写的关于Efficient Transformer的其他博文还有

点击阅读全文...

18 Aug

电偶极子浅探(2)

在上一篇文章中,我们已经得到了电偶极子的等势面和电场线方程,这应该可以让我们对电偶极子的力场情况有个大致的了解了。当然,我们还是希望能够求出在这样的一个受力情况下,一个带电粒子是如何运动的。简单起见,在下面的探讨中,我们假定带电粒子的质量和电荷量均为1,至于电荷的正负,可以通过改变在$U=-\frac{k \cos\theta}{r^2}$中的k值的正负来控制。我们使用的工具依旧是理论力学中的欧拉-拉格朗日方程。

也许不少读者始终对公式感到头疼,更不用说是博大精深的理论力学了。但是请相信我,如果你花一点点心思去弄懂用变分法研究力学(或其他物理系统,但我目前只会用于力学)的基本思路和步骤,那么对你的物理研究是大有裨益的。因为在我眼中,学习了一丁点的理论力学知识后,我看到的只有物理的简洁与和谐。有兴趣的朋友可以看看我的那几篇《自然极值》等相关文章。

首先写出动能的表达式:$T=\frac{1}{2} (\dot{r}^2+r^2 \dot{\theta}^2)$

还有势能:$U=-\frac{k \cos\theta}{r^2}$

点击阅读全文...

3 Feb

关于“平衡态公理”的更正与思考

在《自然极值》系列文章中,我引用了《数学方法论与解题研究》(张雄,李得虎编著)中提到的“平衡态公理”,并用它来解决了一些数学物理问题。平衡态公理讲的是系统的平衡状态总是在势能取极(小)值时取到,简单来讲就是自然界总向势能更低的方向发展,比如“水往低处流”。这在经典力学中本身是没有任何问题的,但在有些时候,我们在应用的时候可能会不自觉地将它想象成为“系统的平衡状态总是在总能量取极(小)值时取到”。然而,这却是不正确的。本文就是要探讨这个问题。

先来看看平衡态公理的来源。从最小作用量原理出发,考虑保守系统,每一个系统都应该对应着一个取极值的作用量S:
$$S=\int_{t_1}^{t_2} L(x,\dot{x})dt$$

点击阅读全文...

20 Jun

《虚拟的实在(3)》——相对论动力学

半个多月没有写文章了,一是因为接近期末考了,比较忙,当然最主要的原因还是人变懒了,呵呵,别人是忙里偷闲,我是闲里偷懒了。

这篇文章主要跟大家分享一下相对论动力学的知识。我们之前已经接触过相对论的坐标变换了,接下来的任务应该是把经典力学的动力学定律改成为相对论版本的,这显然也是学习场论的必经之路——懂得如何构造力学定律的相对版版本,是懂得构造相对论性场的基础。和朗道的《力学》与《场论》一样,我们的主线就是“最小作用量原理”。让我们回忆一下,在经典力学中,一个自由粒子的作用量是

$$S_m=\int Ldt=\int \frac{1}{2} m v^2dt$$

点击阅读全文...

14 Nov

力学系统及其对偶性(二)

如果仅仅从牛顿第二定律的角度来进行变换推导,那么关于力学定律的对偶性的结果无疑仅仅是初等的。对于理论分析来说,更方便的是从做小作用量原理的形式出发,事实上,这种形式计算量也是很少的,甚至比直接代入运动方程变换更加便捷。

上一篇文章中我们讲到,变换$z \mapsto z^2$将一个原点为几何中心的椭圆映射为一个原点为焦点的椭圆,并且相信这种变换可以将胡克定律跟牛顿万有引力定律联系起来。然后就立即给出了变换$w=z^2,d\tau=|z^2|dt$。但是这个变换本身并不显然的,假如我们仅仅发现了$z \mapsto z^2$的几何意义,如何相应地得出$d\tau=|z^2|dt$这个变换呢?本文初步地解决这个问题。

几何作用量

让我们回顾力学的最小作用量原理:
$$ S = \int_{{t_1}}^{{t_2}} L dt = \int_{{t_1}}^{{t_2}} {(T - U)} dt $$

点击阅读全文...

16 Feb

带点电荷的均匀杆

在讨论了倒立单摆的相关分析之后,胡雄大哥(笔者的一位好友)提出了一个问题:一根均匀杆,当然质量不可忽略,只有一个力(简单起见,可以先假设为恒力)作用在其中一个点上(简单起见,可以假设为端点),那么杆是怎么运动的?

其实笔者学了不少的经典力学,也分析了不少问题,但就是对于力矩、角动量等还是模模糊糊的,对于我来说,大多数经典力学问题就是“作用量+变分”,本题也不例外。为了让题目的实验意义更加明确,不妨将题目改成:

一根中性的均匀杆,它的一个端点带有一个点电荷,那么它(仅仅)在一个均匀电场中的运动是怎样的?

在这里,我们进一步简化,只考虑平面问题。杆属于刚体,为了描述杆的运动,我们需要描述杆上一点的运动,以及杆绕这一点的转动,也就是说,即使只考虑平面的情况,该系统也是有三个自由度的。设杆的带电荷那一端点的坐标为$(x,y)$,为了描述杆的转动,以这一端点为中心建立极坐标系,设杆的极角为$\theta$。设电势的函数为$U(x,y)$,因为只有一点带电(受力),因此势能是简单的。

点击阅读全文...

28 Feb

行列式的导数

在讨论曲线坐标系的积分时,通常都会出现行列式这个东西,作为“体积元”的因子。在广义相对论中,爱因斯坦场方程的作用量就带有度规的行列式,而在对其进行变分时,自然也就涉及到了行列式的求导问题。我参考了朗道的《场论》以及《数理物理基础--物理需用线性高等数学导引》,了解到相关结果,遂记录如下。

推导


\begin{equation}\boldsymbol{A}(t)=\left(a_{ij}(t)\right)_{n\times n}\end{equation}
是一个n阶矩阵,其中每个矩阵元素都是t的函数。其行列式为$|\boldsymbol{A}|$,自然地,考虑
\begin{equation}\frac{d}{dt}|\boldsymbol{A}|\end{equation}

点击阅读全文...