前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Langevin Monte Carlo Rendering with Gradient-based Adaptation

Langevin Monte Carlo Rendering with Gradient-based Adaptation

作者头像
Peter Lu
发布2021-06-21 20:06:43
7390
发布2021-06-21 20:06:43
举报
文章被收录于专栏:LET

上一篇《Hessian-Hamiltonian MC Rendering》的思路是将哈密顿力学应用在MCMC中,从而达到优化复杂场景的渲染效果。既然哈密顿可以,朗之万立马说到“我也可以”。今天这篇论文,就是基于Hessian-Hamiltonian MC (H2MC) Rendering论文的思想,引入Langevin Monte Carlo Rendering实现渲染上的优化。

简单说,之前的H2MC一个大的问题是Hessian Matrix,这玩意需要的计算量太大,因此,导致该算法往往适合解决复杂场景,因为简单的场景不配用该算法。本论文借鉴Adam的思想,以一种简单的方式来估算Hessian,并引入布朗运动的思想优化LMC。

该算法的主要贡献是:

  • 引入stochastic gradient descent(SGD)算法,较小的计算量获取Hessian矩阵的近似解和动量,从而在渲染中优化LMC
  • 在空间上借助缓存机制来保存之前采样的梯度值,通过缓存更好的指导采样,优化local和global级别的exploration
  • 通过controlled MCMC理论结果确保算法的遍历性和正确性

该论文涉及的研究包括gradient-based and controlled Markov chain Monte Carlo、MCMC rendering、derivatives in rendering、caching in rendering。

Langevin MC

LMC在其他MCMC应用领域已经得到广泛的应用,然后在pbr领域并没有太多应用,直到H2MC的出现。而LMC基于Langevin方程实现基于梯度的随机性的状态转移,从而实现MCMC的采样。Langevin随机微分方程描述了布朗运动而产生的无规则运动:

这里,

是一个时间连续的马尔可夫过程,给定一个值始终不小于0的函数

,定义一个drift term,是

的梯度,另一个是随机的布朗运动

,如上公式满足马尔可夫的遍历性,平稳分布符合函数

。给定一个step size

这里,满足

的随机正态分布将产生一个随机的动量,而drift term对应的梯度则导向

贡献值更大的方向。这就是Metropolis-adjusted Langevin algorithm(MALA)。

此时还有一个小问题,相比上篇的H2MC,此时的MALA中

因为没有计算Hessian,covariance matrix是单位矩阵,属于isotropic,因此,此处假设我们可以获取该矩阵,称为preconditioning matrix

,将MALA改进为:、

该论文中,提出了一种只需要计算梯度(一阶导数)就可以近似获取

的方式,同时也要保证MLT算法的遍历行(ergodic)。最后,我们对比H2MC,当HMC的step size为1时,或H2MC中采用高斯分布来近似求解势能时,和本论文中的MALA+Hessian本质上是相同的。

Online Adaptation

下面,主要的工作就是如何利用一阶导数,近似求解

。理想情况下,

应该是Hessian的逆(倒数)。这里,对应的就是牛顿法和伪牛顿法之间的区别。后者在每次迭代中使用一阶导数的累计值来逼近Hessian Matrix。论文中主要是基于Adam算法,每个迭代更新梯度值,并计算其平均值和方差,而数学上可证明,covariance matrix和Hessian matrix互逆。

如上,我们可以不需要计算Hessian而获取其近似解, 节省了大量的计算量,我们用对角矩阵来替换全矩阵,目的也是解决计算量。另外,Adam中采用了动量的概念来优化收敛速度:

上图是采用online adaptation后的接受率对比

至此,尽管可以以迭代的方式来求解二阶导,但出现了一个新问题,此时获取采样点的方法和时间t有关,不再是time-homogeneous,而我们的随机数生成中并没有考虑该因素,因此并不能保证遍历行。这里,通过Controlled MCMC解决的问题:采样(Sample)时考虑时间因子

,并在迭代中更新(Update)该因子

,在这个过程中要保证:

  • Simultaneous ergodicity:采样函数确保ergodic
  • Bounded convergence:

是紧凑的

  • Diminishing adaptation:转移分布

跟t有关,并在

时收敛

为此,更新计算

,满足上述的三点,从而保证ergodic:

如上是采用online adaptation和controlled MCMC方法下的效果对比,可见,online adaptation的优势以及采用diminishing adaptation(DA)后收敛。

这种思路本质上就是以时域的方式来计算二阶导数,自然存在一个问题,在迭代初期样本不够时误差较大,而对于MLT这种存在global exploration时,属于一个large step,需要清空之前的积累重新开始,此时就会导致variance增大,论文中提到通过减少global exploration的比例来减少该影响,同时,也提到了类似path guiding中采用的caching思路,在空域角度来计算二阶导的思路。

CACHE-DRIVEN AND HYBRID ADAPTATION

首先,我们定义一个gradient caching的集合:

这里,

是Primary Sample Space(PSS)中的一个采样点,表示一个完整的光路,

是该光路对应的梯度,我们对该集合给出一个Query方法:

如上,当我们获取一个光路的PSS,对应为

,我们遍历集合

中元素

并计算和

的欧式距离,当距离小于

时,则认为两者相近。这样,我们可以通过caching的机制来获取对应的precondition和momentum:

该方式下好处是不需要考虑迭代次数t的影响,对global和local的exploration都可以适用,缺点是这个kd tree应该很复杂,毕竟这个PSS是高维的,而且一条path的length不同,应该不能互相计算对应的欧式距离,其次就是初始期间,因为caching数据少,不准确,需要积累足够多的caching才有效,这涉及到variance的部分。

因此,在论文中给出了一个阈值

,当Query的样本数大于H时,采用caching机制,如果小于H,则还是采用online的方式。

至此,算法的要点基本如上,效果对比图如下:

今天有点事情,与其仓促收尾,不如就此结束,本文缺少implementation和result,以及最后的conclusion三个部分。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 LET 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档