2 Feb

网友:椭圆定长弦中点轨迹的一种解法

大概在半年前,我曾用“化圆法”解决了椭圆内定长弦中点轨迹问题,求出了轨迹方程。前几天,我收到了网名为“理想”的网友的Email,他提出了自己对这个问题的解法,并得到了形式不同的轨迹方程,因此对两者的等价性表示疑惑。经过检验,我跟他的轨迹方程基本上是等价的,不过,他求出的轨迹方程总包括了原点,这是一点不足之处。但是看起来,他的轨迹方程却感觉好看一些。这的确很让人意外,因为从他的化简过程来看,有种“化简为繁”的味道,却得出了相当简洁的答案,着实有趣。

经过网友的同意,将他的过程贴在这里与大家分享!后面附有pdf文档,欢迎下载阅读。希望在科学空间可以看到更多的读者留下的痕迹。

椭圆定长弦中点轨迹的一种解法

作者:理想

本文介绍了一种计算椭圆定长弦中点轨迹的方法。设椭圆长、短轴分别为$2a$、$2b$,弦长为$2r$,随着弦的两端在椭圆上滑动,弦的中点形成的轨迹为:
$$(\frac{x^2}{a^2} + \frac{y^2}{b^2} - 1)(\frac{x^2}{a^4} + \frac{y^2}{b^4} + \frac{r^2}{a^2b^2}) + \frac{r^2}{a^2b^2} = 0$$
它不是一个椭圆,而是一个高次曲线。

点击阅读全文...

18 Apr

纠缠的时空(三):长度收缩和时间延缓

我们之前通过矩阵变换方式推导出了洛伦兹变换以及速度合成公式等结论,不得不说,矩阵推导方式有种引人入胜的魅力。今天,在讲述相对论(包括电动力学、广义相对论)的书籍里边,在数学形式上取而代之了张量这一工具,这实际上是对矩阵的一个推广(之前已经提到过,二阶张量相当于矩阵)。采用这样的形式在于它充分体现了相对论的对称和变换关系。本文将来谈及狭义相对论的一些基本结论,包括同时性、长度收缩、时间延缓等。

本文的光速$c=1$。

同时的相对性

在同一时空中,采取两个时空坐标进行洛伦兹变换,再作差,我们得到:
\begin{equation}\left[\begin{array}{c} \Delta x\\ \Delta t \end{array}\right]=\frac{1}{\sqrt{1-v^2}}\left[\begin{array}{c c}1 & v\\ v & 1 \end{array}\right]\left[\begin{array}{c}\Delta x'\\ \Delta t' \end{array}\right]\end{equation}

点击阅读全文...

11 Aug

细水长flow之NICE:流模型的基本概念与实现

前言:自从在机器之心上看到了glow模型之后(请看《下一个GAN?OpenAI提出可逆生成模型Glow》),我就一直对其念念不忘。现在机器学习模型层出不穷,我也经常关注一些新模型动态,但很少像glow模型那样让我怦然心动,有种“就是它了”的感觉。更意外的是,这个效果看起来如此好的模型,居然是我以前完全没有听说过的。于是我翻来覆去阅读了好几天,越读越觉得有意思,感觉通过它能将我之前的很多想法都关联起来。在此,先来个阶段总结。

背景

本文主要是《NICE: Non-linear Independent Components Estimation》一文的介绍和实现。这篇文章也是glow这个模型的基础文章之一,可以说它就是glow的奠基石。

艰难的分布

众所周知,目前主流的生成模型包括VAE和GAN,但事实上除了这两个之外,还有基于flow的模型(flow可以直接翻译为“流”,它的概念我们后面再介绍)。事实上flow的历史和VAE、GAN它们一样悠久,但是flow却鲜为人知。在我看来,大概原因是flow找不到像GAN一样的诸如“造假者-鉴别者”的直观解释吧,因为flow整体偏数学化,加上早期效果没有特别好但计算量又特别大,所以很难让人提起兴趣来。不过现在看来,OpenAI的这个好得让人惊叹的、基于flow的glow模型,估计会让更多的人投入到flow模型的改进中。

glow模型生成的高清人脸

glow模型生成的高清人脸

点击阅读全文...

26 Aug

细水长flow之RealNVP与Glow:流模型的传承与升华

话在开头

上一篇文章《细水长flow之NICE:流模型的基本概念与实现》中,我们介绍了flow模型中的一个开山之作:NICE模型。从NICE模型中,我们能知道flow模型的基本概念和基本思想,最后笔者还给出了Keras中的NICE实现。

本文我们来关心NICE的升级版:RealNVP和Glow。

Glow模型的采样演示(截取自Glow官方博客)

精巧的flow

不得不说,flow模型是一个在设计上非常精巧的模型。总的来看,flow就是想办法得到一个encoder将输入$\boldsymbol{x}$编码为隐变量$\boldsymbol{z}$,并且使得$\boldsymbol{z}$服从标准正态分布。得益于flow模型的精巧设计,这个encoder是可逆的,从而我们可以立马从encoder写出相应的decoder(生成器)出来,因此,只要encoder训练完成,我们就能同时得到decoder,完成生成模型的构建。

为了完成这个构思,不仅仅要使得模型可逆,还要使得对应的雅可比行列式容易计算,为此,NICE提出了加性耦合层,通过多个加性耦合层的堆叠,使得模型既具有强大的拟合能力,又具有单位雅可比行列式。就这样,一种不同于VAE和GAN的生成模型——flow模型就这样出来了,它通过巧妙的构造,让我们能直接去拟合概率分布本身。

点击阅读全文...

21 Sep

细水长flow之f-VAEs:Glow与VAEs的联姻

这篇文章是我们前几天挂到arxiv上的论文的中文版。在这篇论文中,我们给出了结合流模型(如前面介绍的Glow)和变分自编码器的一种思路,称之为f-VAEs。理论可以证明f-VAEs是囊括流模型和变分自编码器的更一般的框架,而实验表明相比于原始的Glow模型,f-VAEs收敛更快,并且能在更小的网络规模下达到同样的生成效果。

原文地址:《f-VAEs: Improve VAEs with Conditional Flows》

近来,生成模型得到了广泛关注,其中变分自编码器(VAEs)流模型是不同于生成对抗网络(GANs)的两种生成模型,它们亦得到了广泛研究。然而它们各有自身的优势和缺点,本文试图将它们结合起来。

由f-VAEs实现的两个真实样本之间的线性插值

由f-VAEs实现的两个真实样本之间的线性插值

基础

设给定数据集的证据分布为$\tilde{p}(x)$,生成模型的基本思路是希望用如下的分布形式来拟合给定数据集分布
$$\begin{equation}q(x)=\int q(z)q(x|z) dz\end{equation}$$

点击阅读全文...

3 Apr

Bias项的神奇作用:RoPE + Bias = 更好的长度外推性

【注:后来经过反复测试发现,发现此篇文章的长度外推结果可复现性比较不稳定(可能跟模型结构、超参数等紧密相关),请自行斟酌使用。】

万万没想到,Bias项能跟Transformer的长度外推性联系在一起!

长度外推性是我们希望Transformer具有的一个理想性质,笔者曾在《Transformer升级之路:7、长度外推性与局部注意力》《Transformer升级之路:8、长度外推性与位置鲁棒性》系统地介绍过这一问题。至于Bias项(偏置项),目前的主流观点是当模型足够大时,Bias项不会有什么特别的作用,所以很多模型选择去掉Bias项,其中代表是Google的T5PaLM,我们后面做的RoFormerV2GAU-α也沿用了这个做法。

那么,这两个看上去“风牛马不相及”的东西,究竟是怎么联系起来的呢?Bias项真的可以增强Transformer的长度外推性?且听笔者慢慢道来。

点击阅读全文...

10 Oct

德国女作家摘得2009诺贝尔文学奖

据新华社电 瑞典文学院8日宣布,将2009年诺贝尔文学奖授予德国女作家和诗人赫塔·米勒(Herta Muller)

罗马尼亚裔女作家赫塔·米勒

罗马尼亚裔女作家赫塔·米勒

罗马尼亚裔女作家赫塔·米勒

点击阅读全文...

12 Oct

集合的划分与贝尔数

集合上的一个等价关系决定了几何的一个划分,反之亦然,这直观上是不难理解的。但是,如果我要问一个有$n$个元素的有限集合,共有多少种不同的划分呢?以前感觉这也是一个很简单的问题,就没去细想,但前天抽象代数老师提到这是一个有相当难度的题目,于是研究了一下,发现里面大有文章。这里把我的研究过程简单分享一下,读者可以从中看到如何“从零到有”的过程。

以下假设有$n$个元素的有限集合为$\{1,2,\dots,n\}$,记它的划分数为$B(n)$。

前期:暴力计算

$n=3$的情况不难列出:
$$\begin{aligned}&\{\{1,2,3\}\},\{\{1,2\},\{3\}\},\{\{1,3\},\{2\}\},\\
&\{\{2,3\},\{1\}\},\{\{1\},\{2\},\{3\}\}\end{aligned}$$

点击阅读全文...