“闭门造车”之多模态思路浅谈(三):位置编码
By 苏剑林 | 2024-09-06 | 59659位读者 | 引用在前面的文章中,我们曾表达过这样的观点:多模态LLM相比纯文本LLM的主要差异在于,前者甚至还没有形成一个公认为标准的方法论。这里的方法论,不仅包括之前讨论的生成和训练策略,还包括一些基础架构的设计,比如本文要谈的“多模态位置编码”。
对于这个主题,我们之前在《Transformer升级之路:17、多模态位置编码的简单思考》就已经讨论过一遍,并且提出了一个方案(RoPE-Tie)。然而,当时笔者对这个问题的思考仅处于起步阶段,存在细节考虑不周全、认识不够到位等问题,所以站在现在的角度回看,当时所提的方案与完美答案还有明显的距离。
因此,本文我们将自上而下地再次梳理这个问题,并且给出一个自认为更加理想的结果。
多模位置
多模态模型居然连位置编码都没有形成共识,这一点可能会让很多读者意外,但事实上确实如此。对于文本LLM,目前主流的位置编码是RoPE(RoPE就不展开介绍了,假设读者已经熟知),更准确来说是RoPE-1D,因为原始设计只适用于1D序列。后来我们推导了RoPE-2D,这可以用于图像等2D序列,按照RoPE-2D的思路我们可以平行地推广到RoPE-3D,用于视频等3D序列。
【NASA每日一图】土星上的春分
By 苏剑林 | 2009-08-25 | 19579位读者 | 引用微积分学习(二):导数
By 苏剑林 | 2009-09-12 | 22040位读者 | 引用自从上次写了关于微积分中的极限学习后,就很长的时间没有与大家探讨微积分的学习了(估计有20多天了吧)。启事,我自己也是从今年的9月下旬才开始系统地学习微积分的,到现在也就一个月的时间吧。学习的内容有:集合、函数、极限、导数、微分、积分。不过都是一元微积分,多元的微积分正在紧张地进修中......
现在不妨和大家探讨一下关于微积分中的最基本内容——“导数”的学习。
其实,用最简单的说法,如果存在函数$f(x)$,那么它的导数(一阶导数)为
$$\lim_{\Delta x->0} f'(x)=\frac{f(x+\Delta x)-f(x)}{\Delta x}$$
《方程与宇宙》:活力积分和开普勒方程(二)
By 苏剑林 | 2010-03-27 | 62043位读者 | 引用在上一回的讨论中,我们已经解决了大部分的问题,并且表达了找到r或者$\theta$关于时间t的函数的希望。在最后的内容中,我们做了以下工作:
由(7)得到$\dot{\theta}=h/r^2$,代入(6)得到:
$$\ddot{r} -h^2/r^3=-\frac{\mu}{r^2}\tag{10}$$这是一个二阶微分方程,它的解很容易找出,但是这个积分太复杂:
$$\dot{r}\frac{d\dot{r}}{dr}=h^2/r^3-\frac{\mu}{r^2}$$
$\dot{r}d\dot{r}=(h^2/r^3-\frac{\mu}{r^2})dr$,两端积分
$$\dot{r}^2={2\mu}/r-h^2/r^2+K_1\tag{11}$$$$\Rightarrow {dt}/{dr}=\frac{r}{\sqrt{K_1 r^2+2\mu r-h^2}}$$
$t=\int \frac{r}{\sqrt{K_1 r^2+2\mu r-h^2}}dr$
《方程与宇宙》:三体问题和它的初积分(六)
By 苏剑林 | 2011-01-20 | 67204位读者 | 引用The Three Body Problem and its Classical Integration
很多天文爱好者都已经接触到了“二体问题”(我们在高中学习到的“开普勒三定律”就是内容之一),由于在太阳系中行星质量相对较小而且距离相对较远,应用“二体问题”的解对天体进行计算、预报等能够满足一定的近似需求。不过,如果需要更高精度的计算,就不能把其他行星的引力给忽略掉了,于是就产生了所谓N体问题(N-Body Problem),即N个质点尽在它们各自引力的相互作用下的运动规律问题。最简单的二体已经被彻底解决,而三体或更多体的问题则与二体大相径庭,因为庞加莱证明了,三体问题不能严格求解,而且这是一个混沌系统,任何微小的扰动都会造成不可预期的效果。
根据牛顿力学,选择惯性参考系,设三个质点分别为$M_1,M_2,M_3$,向径分别为$\vec{r_1},\vec{r_2},\vec{r_3}$,可以列出运动方程(以下的导数都默认是对时间t求导)
费曼积分法——积分符号内取微分(1)
By 苏剑林 | 2012-06-10 | 83637位读者 | 引用费曼积分法——积分符号内取微分(3)
By 苏剑林 | 2012-06-23 | 54973位读者 | 引用由于自行车之旅的原因,这篇文章被搁置了一个星期,其实应该在一个星期前就把它写好的。这篇文章继续讲讲费曼积分法的一些例子。读者或许可以从这些不同类型的例子中,发现它应用的基本方向和方法,从而提升对它的认识。
例子2:
$$\int_0^{\infty} \frac{\sin x}{x}dx$$
这也是一种比较常见的类型,它的形式为$\int \frac{f(x)}{x}dx$,对于这种形式,我们的第一感觉就是将其改写成参数形式$\int \frac{f(ax)}{x}dx$,这样的目的很简单,就是把分母给消去了,与$\int \frac{x}{f(x)}dx$的求积思想是一致的。但是深入一点研究就会发现,纵使这样能够消去分母,使得第一次积分变得简单,但是到了第二次积分的时候,我们发现,它又会变回$\int \frac{f(x)}{x}dx$的积分,使我们不能继续进行下去,因此这个取参数的方法大多数情况下都是不行的。
算子与线性常微分方程(上)
By 苏剑林 | 2012-11-30 | 45394位读者 | 引用简介
最近在学习量子力学的时候,无意中涉及到了许多矩阵(线性代数)、群论等知识,并且发现其中有不少相同的思想,其中主要是用算子来表示其对函数的作用和反作用。比如我们可以记$D=\frac{d}{dx}$,那么函数$f(x)$的导数就可以看作是算子D对它的一次作用后的结果,二阶导数则是作用了两次,等等。而反过来,$D^{-1}$就表示这个算子的反作用,它把作用后的函数(像)还原为原来的函数(原像),当然,这不是将求导算子做简单的除法,而是积分运算。用这种思想来解答线性微分方程,有着统一和简洁的美。
线性微分方程是求解一切微分方程的基础,一般来说它形式比较简单,多数情况下我们都可以求出它的通解。在非相对论性量子力学的薛定谔方程中,本质上就是在求解一道二阶偏线性微分方程。另一方面,在许多我们无法求解的非线性系统中,线性解作为一级近似,对于定性分析是极其重要的。
一阶线性常微分方程
这是以下所有微分方程求积的一个基础形式,即$\frac{dy}{dx}+g(x)y=f(x)$的求解。这是通过常数变易法来解答的,其思想跟天体力学中的“摄动法”是一致的,首先在无法求解原微分方程的时候,先忽略掉其中的一些小项,求得一个近似解。即我们先求解
$$\frac{dy}{dx}+g(x)y=0$$
最近评论