中午Lunch Talk,听到了一个挺好玩的东西。是关于现代Bayesian统计推断中的一种Monte Carlo采样算法,叫Langevin Monte Carlo (郎之万蒙特卡洛;LMC)。和汉密尔顿蒙特卡洛 (Hamiltonian Monte Carlo;HMC) 类似,都是把理论物理中的一些非常基础的概念抽象出来,应用到统计采样中。HMC自然是来自理论力学里最基础的汉密尔顿动力学;LMC其实(大概)可以看成是HMC的一种改进或者说“变种”,借鉴了统计物理里面描述布朗运动(如分子动力学)的郎之万动力学,或者说郎之万扩散 (Langevin Diffusion) 概念。
据说这类算法可以更好地解决非常高维空间以及参数空间相关性很高的情况下的采样问题,可以和深度学习之类的机器学习建立联系。
我是今天才听说的,远远还没有搞懂。但是不得不承认,统计推断和统计学习这个领域的进展真的很快,处于应用下游的天体物理经常是还没开始就落后了。其实天体物理学家开始在宇宙学之外大规模地使用Bayesian学习方法就是近10年的事情。其中一个叫emcee的Ensemble MCMC算法和软件的开发起了极大的推动作用。到现在为止,在使用了MCMC的天文文章里,emcee依然占绝对主导。。。但其实其中的很多应用都或多或少有问题,有的是把在高维(>10)完全搞不定的emcee用到了几十个参数的框架里,有的是从来不考虑MC的收敛,等等。宇宙学家一直对另一种叫做Nested Sampling的算法情有独钟。这个思路的现代算法MultiNest应该说就是宇宙学家开发的。它和只考虑Posterior的MCMC不同,而是积分参数空间,尝试去计算Bayesian evidence。其中一个原因是这个方法的高维表现更好,再有一个是很多人一直迷信Bayesian evidence可以用来比较模型 (不是很好,因为对Pirors的依赖太大)。。。再有就是早期的宇宙学应用真的不在乎算力,扔到计算平台上跑1个月也没事)。我在日本的时候,看着身边的小天才沈佳士(Josh Speagle)同学开发了Dynesty (Dynamic Nested Sampling;面向Posterior的Nested sampling,和MCMC比依然有优势),就误以为这已经是很领先的算法了。。。谁知道统计界早就把目光投向了依赖于Likelihood梯度的HMC类算法。
其实,Josh很早就给我安利过HMC。但是天体物理的很多数据应用都没有办法很容易的得到这个宝贵的“梯度”。比如给我一个描述星系面亮度分布轮廓的函数,我能知道这个函数对各个参数的梯度。。。但实际数据上需要卷积上一个PSF,一下子就找不到解析的梯度了。。。除非你用N个高斯去近似这个函数。等等。不过这几年随着统计采样算法进步的,还有基于机器学习爆发推广起来的"仿真器" (Emulator;可以基于简单的PCA+高斯过程;也可以基于某种神经网络架构)和日益强大的Autodiff算法让一切都变得有可能了。。。我已经被安利了好久的Jax大法了。
仅仅在观测宇宙学领域内,就至少有三个活跃的团队在系统性地把“可微分” (Differentiable) 算法引用到各种应用里,而且大部分都是基于Jax的。感兴趣地可以到Github上搜一下The CosmoStat Laboratory的Jax-lensing工具;还有一个叫“可微分宇宙企划” (The Differentiable Universe Initiative) 这个开放开发团队的一系列工作;在美国的Argonne国家实验室,我的合作者Andrew Hearin正在以惊人的速度用Jax“改写”肉眼可见的各种工具 (diffstar; dsps; diffmah...总之万物皆可diff;其中有些应用甚至都不是为了最终可以用高级的统计推断工具,单纯地就是借助GPU超算和Jax这个“黑魔法”来提升性能)。
这些进展既让人兴奋,又让人焦虑。兴奋的是可以想各种各样之前不太敢想的科学应用 (我现在看什么都想Emulate,反正不要钱);焦虑的是感觉每天都在看着窗外的世界日新月异,深感自己在不断落后,但是能用来学习的时间越来越少。。。
按你胃,还是得学习。
