28 Oct

朋友们,来瓶汽水吧!有趣的换汽水问题

————怀念我曾经参加过的小学数学竞赛。

从一道小学竞赛题谈起

笔者小学五年级时参加了第一次数学竞赛,叫“育苗杯”,大多数题目都记不清楚了,唯一记得很清楚的是如下这道题目(不完全相同,意思类似):

假设汽水一块钱一瓶,而且4个空瓶子可以换一瓶汽水喝。如果我有30块钱,我最多可以喝到多少瓶汽水?

来瓶汽水吧

来瓶汽水吧

当然,上面的情况可能太理想了,但是必须承认,类似的案例在生活中大量存在。比如买草龟吃时,草龟壳由于可以入药,所以有人回收龟壳,这也意味着若干个龟壳就可以换一只龟,等等。读者能不能很快就算出来呢?

当然,这道题并不困难,30块钱能买30瓶汽水,然后留下30个空瓶子,这30个空瓶子可以换来7瓶汽水,剩下2个空瓶子;喝完汽水后,剩下9个空瓶子,可以换来2瓶汽水,剩下1个空瓶子;喝完汽水后,剩下3个空瓶子。算算看,这时候我们已经喝了30+7+2=39瓶汽水了。(不考虑撑着啊,也可以分给别人喝^_^)整个过程如下表:
$$\begin{array}{c|cccc}
\hline
\text{空瓶子数} & 30 & 2+7 & 1+2 & ? \\
\hline
\text{已喝汽水数} & 30 & 7 & 2 & ? \\
\hline \end{array}$$

点击阅读全文...

19 Aug

【中文分词系列】 3. 字标注法与HMM模型

在这篇文章中,我们暂停查词典方法的介绍,转而介绍字标注的方法。前面已经提到过,字标注是通过给句子中每个字打上标签的思路来进行分词,比如之前提到过的,通过4标签来进行标注(single,单字成词;begin,多字词的开头;middle,三字以上词语的中间部分;end,多字词的结尾。均只取第一个字母。),这样,“为人民服务”就可以标注为“sbebe”了。4标注不是唯一的标注方式,类似地还有6标注,理论上来说,标注越多会越精细,理论上来说效果也越好,但标注太多也可能存在样本不足的问题,一般常用的就是4标注和6标注。

值得一提的是,这种通过给每个字打标签、进而将问题转化为序列到序列的学习,不仅仅是一种分词方法,还是一种解决大量自然语言问题的思路,比如命名实体识别等任务,同样可以用标注的方法来做。回到分词来,通过字标注法来进行分词的模型有隐马尔科夫模型(HMM)、最大熵模型(ME)、条件随机场模型(CRF),它们在精度上都是递增的,据说目前公开评测中分词效果最好的是4标注的CRF。然而,在本文中,我们要讲解的是最不精确的HMM。因为在我看来,它并非一个特定的模型,而是解决一大类问题的通用思想,一种简化问题的学问。

这一切,还得从概率模型谈起。

点击阅读全文...

8 Apr

盘点主流的图像扩散模型作品,我们会发现一个特点:当前多数做高分辨率图像生成(下面简称“大图生成”)的工作,都是先通过Encoder变换到Latent空间进行的(即LDM,Latent Diffusion Model),直接在原始Pixel空间训练的扩散模型,大多数分辨率都不超过64*64,而恰好,LDM通过AutoEncoder变换后的Latent,大小通常也不超过64*64。这就自然引出了一系列问题:扩散模型是不是对于高分辨率生成存在固有困难?能否在Pixel空间直接生成高分辨率图像?

论文《Simple diffusion: End-to-end diffusion for high resolution images》尝试回答了这个问题,它通过“信噪比”分析了大图生成的困难,并以此来优化noise schdule,同时提出只需在最低分辨率feature上对架构进行scale up、多尺度Loss等技巧来保证训练效率和效果,这些改动使得原论文成功在Pixel空间上训练了分辨率高达1024*1024的图像扩散模型。

点击阅读全文...

25 Jul

关于e,i,π的那些鲜为人知的事儿...

科学空间曾经提到过$e^{i\pi}+1=0$这条被誉为“数学最卓越的公式的公式之一”的公式,而读者们或许很就之前就已经听说过甚至证明过它了。那么,各位读者是否还知道其他的一些关于e,i,π的轶事呢?例如你知道$i^i$等于多少吗?还有$i^{1//i}$呢?

本文就让我们来欣赏一次数学之美!

点击阅读全文...

13 Jan

混沌的世界——“星之轨迹”的研究

(本文已被刊登在2012年1月的《天文爱好者》上,于笔者而言这是一份很棒的新年礼物!)

《天爱》杂志页面.JPG

在去年第七期《天爱》上,我们看到了N体问题所呈现出来的一些对称、漂亮的周期轨道,这体现了N体问题和谐有序的一面。但是这仅仅是N体问题的冰山一角,笔者也提到过N体问题的本质是混沌、无序的,通俗来讲就是非常乱,无法用数学方程来精确描述。这看起来是一种不完美。但试想,探索当初伽利略将望远镜对准月球后,看到的是如想象中光滑的月面,那么他还会惊叹宇宙的神奇吗?

本文就让我们来更深入地了解一下N体问题的研究历史。

观测&拟合时代

由于人类的自我优越感以及日月星辰东升西落的经验,让我们长期都认为地球是宇宙的中心。第一个比较系统提出地心说的人当属天文学家欧多克斯(Eudoxus,死于公元前347年左右),但他的地心说是非常粗糙的,以至于无法解释很多基本现象,如无法准确预言日食和解释行星逆行等。但亚里士多德接受了地心说,并且由于他在政治和科学上的权威,使地心说免去了夭折的命运。后来托勒密通过他的本轮,完善了地心说,使之延续到了16世纪。

点击阅读全文...

8 Apr

浅谈引力助推

这已经是去年写的稿件了,刊登在今年二月份的《天文爱好者》上,本文的标题还登载了该期天爱的封面上,当时甚是高兴呢!在此与大家分享、共勉。

相信许多天文爱好者都知道第一、第二、第三宇宙速度的概念,也会有不少的天爱自己动手计算过它们。我们道,只要发射速度达到7.9km/s,宇宙飞船就可以绕地球运行了;超过11.2km/s,就可以抛开地球,成为太阳系的一颗“人造行星”;再大一点,超过16.7km/s,那么就连太阳也甩掉了,直奔深空。

16.7km/s,咋看上去并不大,因为地球绕太阳运行的速度已经是30km/s了,这个速度在宇宙中实在是太普通了。但是对于我们目前的技术来说,它大得有点可怕。维基百科上的资料显示,史上最强劲的火箭土星五号在运送阿波罗11号到月球时,飞船最终也只能加速到接近逃逸速度,即11.2km/s,而事实上第三宇宙速度已经是是目前人造飞行器的速度极限了。可是没有速度,我们就不能发射探测器去探索深空,那些科幻小说中的“星际移民”,就永远只能停留在小说上了。

点击阅读全文...

26 Jan

Seq2Seq重复解码现象的理论分析尝试

去年笔者写过博文《如何应对Seq2Seq中的“根本停不下来”问题?》,里边介绍了一篇论文中对Seq2Seq解码不停止现象的处理,并指出那篇论文只是提了一些应对该问题的策略,并没有提供原理上的理解。近日,笔者在Arixv读到了AAAI 2021的一篇名为《A Theoretical Analysis of the Repetition Problem in Text Generation》的论文,里边从理论上分析了Seq2Seq重复解码现象。从本质上来看,重复解码和解码不停止其实都是同理的,所以这篇新论文算是填补了前面那篇论文的空白。

经过学习,笔者发现该论文确实有不少可圈可点之处,值得一读。笔者对原论文中的分析过程做了一些精简、修正和推广,将结果记录成此文,供大家参考。此外,抛开问题背景不讲,读者也可以将本文当成一节矩阵分析习题课,供大家复习线性代数哈~

点击阅读全文...

3 May

从动力学角度看优化算法(四):GAN的第三个阶段

在对GAN的学习和思考过程中,我发现我不仅学习到了一种有效的生成模型,而且它全面地促进了我对各种模型各方面的理解,比如模型的优化和理解视角、正则项的意义、损失函数与概率分布的联系、概率推断等等。GAN不单单是一个“造假的玩具”,而是具有深刻意义的概率模型和推断方法。

作为事后的总结,我觉得对GAN的理解可以粗糙地分为三个阶段:

1、样本阶段:在这个阶段中,我们了解了GAN的“鉴别者-造假者”诠释,懂得从这个原理出发来写出基本的GAN公式(如原始GAN、LSGAN),比如判别器和生成器的loss,并且完成简单GAN的训练;同时,我们知道GAN有能力让图片更“真”,利用这个特性可以把GAN嵌入到一些综合模型中。

2、分布阶段:在这个阶段中,我们会从概率分布及其散度的视角来分析GAN,典型的例子是WGAN和f-GAN,同时能基本理解GAN的训练困难问题,比如梯度消失和mode collapse等,甚至能基本地了解变分推断,懂得自己写出一些概率散度,继而构造一些新的GAN形式。

3、动力学阶段:在这个阶段中,我们开始结合优化器来分析GAN的收敛过程,试图了解GAN是否能真的达到理论的均衡点,进而理解GAN的loss和正则项等因素如何影响的收敛过程,由此可以针对性地提出一些训练策略,引导GAN模型到达理论均衡点,从而提高GAN的效果。

点击阅读全文...