Loading [MathJax]/extensions/TeX/boldsymbol.js
1 Feb

纠缠的时空(一):洛仑兹变换的矩阵

我现在是越来越佩服爱因斯坦了,他的相对论是他天才的思想的充分体现。只有当相对论提出之后,宏观物理的大多数现象和规律才得到了统一的描述。狭义相对论中爱因斯坦对我们速度叠加常识的否定已经显示了他莫大的勇气,而一项头脑风暴性的工作——广义相对论则将他惊人的创造力体现得完美无瑕。我是被量子力学的数学吸引的,于相对论则是被相对论美妙的逻辑体系吸引。当然,其中也有相当美妙的数学。

狭义相对论中的核心内容之一就是被称为洛仑兹变换的东西,这在相对论发表之前已经由洛仑兹推导出来了,只不过他不承认他的物理意义,也就没有就此进行一次物理革命,革命的任务则由爱因斯坦完成。很久前我就已经看过洛仑兹变换的推导,那是直接设一种线性关系来求解的。但是我总感觉那样的推导不够清晰(也许是我的理解方式有问题吧),而且没有说明狭义相对论的两条原理如何体现出现。所以在研究过矩阵之后,我就尝试用矩阵来推导洛仑兹变换,发现效果挺好的,而且我觉得能够体现出相对论中的对称性。

两条原理

1、狭义相对性原理:在所有惯性系中,物理定律有相同的表达形式。这是力学相对性原理的推广,它适用于一切物理定律,其本质是所有惯性系平权。

2、光速不变原理:所有惯性系中,真空中的光速都等于c=299 792 458 m/s,与光源运动无关。迈克耳孙-莫雷实验是其有力证明。

点击阅读全文...

27 Feb

纠缠的时空(二):洛仑兹变换的矩阵(续)

在上一篇文章中,我们以矩阵的方式推导出了洛仑兹变换。矩阵表述不仅仅具有形式上的美,还具有很重要的实用价值,比如可以很方便地寻找各种不变量。当洛仑兹变换用矩阵的方式表达出来后,很多线性代数中已知的理论都可以用在上边。在这篇小小的续集中,我们将尝试阐述这个思想。

本文中,继续设光速c=1

我们已经得到了洛仑兹变换的矩阵形式:
[xt]=11v2[1vv1][xt]

点击阅读全文...

25 Apr

傅里叶变换:只需要异想天开?

在对数学或物理进行事后分析,往往会发现一些奇怪的现象,也有可能得到一些更为深刻有趣的结果。比如本文所要谈及的傅里叶变换,可以由一种“异想天开”的思路得来。

洛朗展式

我们知道,在原点处形态良好的函数,可以展开为泰勒级数
f(x)=n=0anxn
我们发现,上面的幂都是正的,为什么不能包含x的负数次幂呢?比如sinzz2展开为
1zz6+z3120
显然也是一件合理的事情。于是,结合复变函数,我们得到解析函数的洛朗展式
f(z)=+n=anzn
这是函数的双边展开。其中

点击阅读全文...

8 Dec

伽马函数的傅里叶变换之路

伽马函数
Γ(x)=+0tx1etdt
作为阶乘的推广,会让很多初学者感到困惑,对于笔者来说也不例外。一个最自然的问题就是:这般复杂的推广公式是如何得到的?

在cos.name的文章《神奇的伽马函数》中,有比较详细地对伽马函数的历史介绍,笔者细读之后也获益匪浅。但美中不足的是,笔者还是没能从中找到引出伽马函数的一种“自然”的办法。所谓“自然”,并不是说最简单的,而是根据一些基本的性质和定义,直接把伽马函数的表达式反解出来。它的过程和运算也许并不简单,但是思想应当是直接而简洁的。当然,我们不能苛求历史上伽马函数以这种方式诞生,但是作为事后探索是有益的,有助于我们了解伽马函数的特性。于是笔者尝试了以下途径,得到了一些结果,可是也得到了一些困惑。

点击阅读全文...

16 Oct

【理解黎曼几何】4. 联络和协变导数

向量与联络

当我们在我们的位置建立起自己的坐标系后,我们就可以做很多测量,测量的结果可能是一个标量,比如温度、质量,这些量不管你用什么坐标系,它都是一样的。当然,有时候我们会测量向量,比如速度、加速度、力等,这些量都是客观实体,但因为测量结果是用坐标的分量表示的,所以如果换一个坐标,它的分量就完全不一样了。

假如所有的位置都使用同样的坐标,那自然就没有什么争议了,然而我们前面已经反复强调,不同位置的人可能出于各种原因,使用了不同的坐标系,因此,当我们写出一个向量Aμ时,严格来讲应该还要注明是在\boldsymbol{x}位置测量的:A^{\mu}(\boldsymbol{x}),只有不引起歧义的情况下,我们才能省略它。

到这里,我们已经能够进行一些计算,比如A^{\mu}是在\boldsymbol{x}处测量的,而\boldsymbol{x}处的模长计算公式为ds^2 = g_{\mu\nu} dx^{\mu} dx^{\nu},因此,A^{\mu}的模长为\sqrt{g_{\mu\nu} A^{\mu}A^{\nu}},它是一个客观实体。

如图,可以在球面上每一点建立不同的局部坐标系,至少这些坐标系的竖直方向的轴指向是不一样的。

如图,可以在球面上每一点建立不同的局部坐标系,至少这些坐标系的竖直方向的轴指向是不一样的。

点击阅读全文...

28 Apr

继续“让Keras更酷一些”之旅。

今天我们会用Keras实现灵活地输出任意中间变量,还有无缝地进行权重滑动平均,最后顺便介绍一下生成器的进程安全写法

首先是输出中间变量。在自定义层时,我们可能希望查看中间变量,这些需求有些是比较容易实现的,比如查看中间某个层的输出,只需要将截止到这个层的部分模型保存为一个新模型即可,但有些需求是比较困难的,比如在使用Attention层时我们可能希望查看那个Attention矩阵的值,如果用构建新模型的方法则会非常麻烦。而本文则给出一种简单的方法,彻底满足这个需求。

接着是权重滑动平均。权重滑动平均是稳定、加速模型训练甚至提升模型效果的一种有效方法,很多大型模型(尤其是GAN)几乎都用到了权重滑动平均。一般来说权重滑动平均是作为优化器的一部分,所以一般需要重写优化器才能实现它。本文介绍一个权重滑动平均的实现,它可以无缝插入到任意Keras模型中,不需要自定义优化器。

至于生成器的进程安全写法,则是因为Keras读取生成器的时候,用到了多进程,如果生成器本身也包含了一些多进程操作,那么可能就会导致异常,所以需要解决这个这个问题。

点击阅读全文...

14 Dec

Mitchell近似:乘法变为加法,误差不超过1/9

今天给大家介绍一篇1962年的论文《Computer Multiplication and Division Using Binary Logarithms》,作者是John N. Mitchell,他在里边提出了一个相当有意思的算法:在二进制下,可以完全通过加法来近似完成两个数的相乘,最大误差不超过1/9。整个算法相当巧妙,更有意思的是它还有着非常简洁的编程实现,让人拍案叫绝。然而,笔者发现网上居然找不到介绍这个算法的网页,所以在此介绍一番。

你以为这只是过时的玩意?那你就错了,前不久才有人利用它发了一篇NeurIPS 2020呢!所以,确定不来了解一下吗?

点击阅读全文...

11 Jan

你可能不需要BERT-flow:一个线性变换媲美BERT-flow

BERT-flow来自论文《On the Sentence Embeddings from Pre-trained Language Models》,中了EMNLP 2020,主要是用flow模型校正了BERT出来的句向量的分布,从而使得计算出来的cos相似度更为合理一些。由于笔者定时刷Arixv的习惯,早在它放到Arxiv时笔者就看到了它,但并没有什么兴趣,想不到前段时间小火了一把,短时间内公众号、知乎等地出现了不少的解读,相信读者们多多少少都被它刷屏了一下。

从实验结果来看,BERT-flow确实是达到了一个新SOTA,但对于这一结果,笔者的第一感觉是:不大对劲!当然,不是说结果有问题,而是根据笔者的理解,flow模型不大可能发挥关键作用。带着这个直觉,笔者做了一些分析,果不其然,笔者发现尽管BERT-flow的思路没有问题,但只要一个线性变换就可以达到相近的效果,flow模型并不是十分关键。

余弦相似度的假设

一般来说,我们语义相似度比较或检索,都是给每个句子算出一个句向量来,然后算它们的夹角余弦来比较或者排序。那么,我们有没有思考过这样的一个问题:余弦相似度对所输入的向量提出了什么假设呢?或者说,满足什么条件的向量用余弦相似度做比较效果会更好呢?

点击阅读全文...