8 Feb

多任务学习漫谈(二):行梯度之事

《多任务学习漫谈(一):以损失之名》中,我们从损失函数的角度初步探讨了多任务学习问题,最终发现如果想要结果同时具有缩放不变性和平移不变性,那么用梯度的模长倒数作为任务的权重是一个比较简单的选择。我们继而分析了,该设计等价于将每个任务的梯度单独进行归一化后再相加,这意味着多任务的“战场”从损失函数转移到了梯度之上:看似在设计损失函数,实则在设计更好的梯度,所谓“以损失之名,行梯度之事”。

那么,更好的梯度有什么标准呢?如何设计出更好的梯度呢?本文我们就从梯度的视角来理解多任务学习,试图直接从设计梯度的思路出发构建多任务学习算法。

整体思路

我们知道,对于单任务学习,常用的优化方法就是梯度下降,那么它是怎么推导的呢?同样的思路能不能直接用于多任务学习呢?这便是这一节要回答的问题。

点击阅读全文...

30 Aug

生成扩散模型漫谈(九):条件控制生成结果

前面的几篇文章都是比较偏理论的结果,这篇文章我们来讨论一个比较有实用价值的主题——条件控制生成。

作为生成模型,扩散模型跟VAE、GAN、flow等模型的发展史很相似,都是先出来了无条件生成,然后有条件生成就紧接而来。无条件生成往往是为了探索效果上限,而有条件生成则更多是应用层面的内容,因为它可以实现根据我们的意愿来控制输出结果。从DDPM至今,已经出来了很多条件扩散模型的工作,甚至可以说真正带火了扩散模型的就是条件扩散模型,比如脍炙人口的文生图模型DALL·E 2Imagen

在这篇文章中,我们对条件扩散模型的理论基础做个简单的学习和总结。

技术分析

从方法上来看,条件控制生成的方式分两种:事后修改(Classifier-Guidance)和事前训练(Classifier-Free)。

点击阅读全文...

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}

点击阅读全文...