4 Apr

变分与理论力学略览

拉格朗日

拉格朗日

BoJone在之前的《自然极值》系列已经花了一定篇幅来讲述“极值”在自然界中是多么的普遍,它能够引导我们进行某些问题的思考,从而获得简单快捷的解答。接下来,我要说的一个更加令人惊讶的“事实”:“极值”不仅仅在某些数学或物理问题上给予我们创造性的思考,它甚至构建了整个经典力学乃至于整个物理学!这不是夸大其辞,这是物理学中被称为“最小作用量原理”的一个原理,很多物理学家(如费恩曼)被它深深吸引着,甚至认为它就是“上帝创造世界的终极公式”!(关于做小作用量原理,大家不妨看一下范翔所写的《最小作用量原理与物理之美》系列文章)

话说在18世纪,欧拉拉格朗日开创了一条独特的道路,即用变分法来研究经典力学,从而使经典力学焕发出了新的活力,也由此衍生出了一个叫“理论力学”或“分析力学”的分支。用变分法研究力学有很多的好处,变分的对象一般都是标量函数,我们只需要写出动力系统的动能与势能表达式,就可以进行一系列的研究,比如列出质点的运动方程、判断平衡点的稳定性、求周期轨道等等(由于BoJone对理论力学研究还不够深入,无法举太多例子,但请相信,其作用远远不止这些),省去了不少繁琐的矢量性分析,这些都是在变分法发明前难以研究的。

点击阅读全文...

5 Apr

重提“旋转弹簧伸长”问题(变分解法)

感谢Awank-Newton读者的来信,本文于2013.01.30作了修正,主要是弹性势能的正负号问题。之前连续犯了两个错误,导致得出了正确答案。现在已经修正。参考《平衡态公理的修正与思考》

在下面的两篇文章中,BoJone已经介绍了这个“旋转弹簧伸长”的问题,并从两个角度提供了两种解答方法。前者列出了一道积分方程,然后再转变为微分方程来解;后者直接从弹性力学的角度来列出一道二阶微分方程,两者殊途同归。
http://kexue.fm/archives/782/

http://kexue.fm/archives/826/

今天,再经过一段时间的变分法涉猎后,BoJone尝试从变分的角度(总能量最小)来给出一种新的解法。同样设r为旋转达到平衡后弹簧上一点到旋转中心的距离,该点的线密度为$\lambda =\lambda (r)$,该点到中心的弹簧质量为$m=m(r)$,旋转前的长度为$l_0$,旋转平衡后的长度为$l_1$。由于弹簧旋转后已经达到了平衡状态,由平衡态公理(参看《自然极值》系列),平衡意味着总能量“动能-势能”取极值。

点击阅读全文...

30 Jul

变分法的一个技巧及其“误用”

不可否认,变分法是非常有用而绝妙的一个数学工具,它“自动地”为我们在众多函数中选出了最优的一个,而免除了具体的分析过程。物理中的最小作用量原理则让变分法有了巨大的用武之地,并反过来也推动了变分法的发展。但是变分法的一个很明显的特点就是在大多数情况下计算相当复杂,甚至如果“蛮干”的话我们几乎连微分方程组都列不出来。因此,一些有用的技巧是很受欢迎的。本文就打算介绍这样的一个小技巧,来让某些变分问题得到一定的化简。

我是怎么得到这个技巧的呢?事实上,那是几个月前我在阅读《引力与时空》时,读到变分原理那一块时我怎么也读不懂,想不明白。明明我觉得是错误的东西,为什么可以得到正确的结果?我的数学直觉告诉我绝对是作者的错,可是我又想不出作者哪里错了,所以就一直把这个问题搁置着。最近我终于得到了自己比较满意的答案,并且窃认为是本文所要讲的这个技巧却被物理学家“误用”了。

技巧

首先来看通常我们是怎么处理变分问题的,以一元函数为例,对于求
$$S=\int L(x,\dot{x},t)dt$$

点击阅读全文...

6 Jan

借助变分法变换坐标

ODE的坐标变换

熟悉理论力学的读者应该能够领略到变分法在变换坐标系中的作用。比如,如果要将下面的平面二体问题方程
$$\left\{\begin{aligned}\frac{d^2 x}{dt^t}=\frac{-\mu x}{(x^2+y^2)^{3/2}}\\
\frac{d^2 y}{dt^t}=\frac{-\mu y}{(x^2+y^2)^{3/2}}\end{aligned}\right.\tag{1}$$
变换到极坐标系下,如果直接代入计算,将会是一道十分繁琐的计算题。但是,我们知道,上述方程只不过是作用量
$$S=\int \left[\frac{1}{2}\left(\dot{x}^2+\dot{y}^2\right)+\frac{\mu}{\sqrt{x^2+y^2}}\right]dt\tag{2}$$
变分之后的拉格朗日方程,那么我们就可以直接对作用量进行坐标变换。而由于作用量一般只涉及到了一阶导数,因此作用量的变换一般来说比较简单。比如,很容易写出,$(2)$在极坐标下的形式为
$$S=\int \left[\frac{1}{2}\left(\dot{r}^2+r^2\dot{\theta}^2\right)+\frac{\mu}{r}\right]dt\tag{3}$$
对$(3)$进行变分,得到的拉格朗日方程为
$$\left\{\begin{aligned}&\ddot{r}=r\dot{\theta}^2-\frac{\mu}{r^2}\\
&\frac{d}{dt}\left(r^2\dot{\theta}\right)=0\end{aligned}\right.\tag{4}$$
就这样完成了坐标系的变换。如果想直接代入$(1)$暴力计算,那么请参考《方程与宇宙》:二体问题的来来去去(一)

点击阅读全文...

15 Feb

积分估计的极值原理——变分原理的初级版本

如果一直关注科学空间的朋友会发现,笔者一直对极值原理有偏爱。比如,之前曾经写过一系列《自然极值》的文章,介绍一些极值问题和变分法;在物理学中,笔者偏爱最小作用量原理的形式;在数据挖掘中,笔者也因此对基于最大熵原理的最大熵模型有浓厚的兴趣;最近,在做《量子力学与路径积分》的习题中,笔者也对第十一章所说的变分原理产生了很大的兴趣。

对于一样新东西,笔者的学习方法是以一个尽可能简单的例子搞清楚它的原理和思想,然后再逐步复杂化,这样子我就不至于迷失了。对于变分原理,它是估算路径积分的一个很强大的方法,路径积分是泛函积分,或者说,无穷维积分,那么很自然想到,对于有限维的积分估计,比如最简单的一维积分,有没有类似的估算原理呢?事实上是有的,它并不复杂,弄懂它有助于了解变分原理的核心思想。很遗憾,我并没有找到已有的资料描述这个简化版的原理,可能跟我找的资料比较少有关。

从高斯型积分出发

变分原理本质上是Jensen不等式的应用。我们从下述积分出发
$$\begin{equation}\label{jifen}I(\epsilon)=\int_{-\infty}^{\infty}e^{-x^2-\epsilon x^4}dx\end{equation}$$

点击阅读全文...

28 Mar

变分自编码器(二):从贝叶斯观点出发

源起

前几天写了博文《变分自编码器(一):原来是这么一回事》,从一种比较通俗的观点来理解变分自编码器(VAE),在那篇文章的视角中,VAE跟普通的自编码器差别不大,无非是多加了噪声并对噪声做了约束。然而,当初我想要弄懂VAE的初衷,是想看看究竟贝叶斯学派的概率图模型究竟是如何与深度学习结合来发挥作用的,如果仅仅是得到一个通俗的理解,那显然是不够的。

所以我对VAE继续思考了几天,试图用更一般的、概率化的语言来把VAE说清楚。事实上,这种思考也能回答通俗理解中无法解答的问题,比如重构损失用MSE好还是交叉熵好、重构损失和KL损失应该怎么平衡,等等。

建议在阅读《变分自编码器(一):原来是这么一回事》后对本文进行阅读,本文在内容上尽量不与前文重复。

准备

在进入对VAE的描述之前,我觉得有必要把一些概念性的内容讲一下。

点击阅读全文...

3 Apr

变分自编码器(三):这样做为什么能成?

话说我觉得我自己最近写文章都喜欢长篇大论了,而且扎堆地来~之前连续写了三篇关于Capsule的介绍,这次轮到VAE了,本文是VAE的第三篇探索,说不准还会有第四篇~不管怎么样,数量不重要,重要的是能把问题都想清楚。尤其是对于VAE这种新奇的建模思维来说,更加值得细细地抠。

这次我们要关心的一个问题是:VAE为什么能成?

估计看VAE的读者都会经历这么几个阶段。第一个阶段是刚读了VAE的介绍,然后云里雾里的,感觉像自编码器又不像自编码器的,反复啃了几遍文字并看了源码之后才知道大概是怎么回事;第二个阶段就是在第一个阶段的基础上,再去细读VAE的原理,诸如隐变量模型、KL散度、变分推断等等,细细看下去,发现虽然折腾来折腾去,最终居然都能看明白了。

这时候读者可能就进入第三个阶段了。在这个阶段中,我们会有诸多疑问,尤其是可行性的疑问:“为什么它这样反复折腾,最终出来模型是可行的?我也有很多想法呀,为什么我的想法就不行?”

前文之要

让我们再不厌其烦地回顾一下前面关于VAE的一些原理。

VAE希望通过隐变量分解来描述数据$X$的分布
$$p(x)=\int p(x|z)p(z)dz,\quad p(x,z) = p(x|z)p(z)\tag{1}$$

点击阅读全文...

9 Dec

变分自编码器(八):估计样本概率密度

在本系列的前面几篇文章中,我们已经从多个角度来理解了VAE,一般来说,用VAE是为了得到一个生成模型,或者是做更好的编码模型,这都是VAE的常规用途。但除了这些常规应用外,还有一些“小众需求”,比如用来估计$x$的概率密度,这在做压缩的时候通常会用到。

本文就从估计概率密度的角度来了解和推导一下VAE模型。

两个问题

所谓估计概率密度,就是在已知样本$x_1,x_2,\cdots,x_N\sim \tilde{p}(x)$的情况下,用一个待定的概率密度簇$q_{\theta}(x)$去拟合这批样本,拟合的目标一般是最小化负对数似然:
\begin{equation}\mathbb{E}_{x\sim \tilde{p}(x)}[-\log q_{\theta}(x)] = -\frac{1}{N}\sum_{i=1}^N \log q_{\theta}(x_i)\label{eq:mle}\end{equation}

点击阅读全文...