l论文作者开发一个算法计算抽样S方程中使用
I(c,v)≈I^S(c,v)=∑i=1m−1τ^iLiI(\boldsymbol{c}, \boldsymbol{v}) \approx \hat{I}_{\mathcal{S}}(\boldsymbol{c}, \boldsymbol{v})=\sum_{i=1}^{m-1} \hat{\tau}_{i} L_{i} I(c,v)≈I^S(c,v)=i=1∑m−1τ^iLi
首先是通过利用约束方程 :
maxt∈[0,M]∣O(t)−O^(t)∣≤BT,β=maxk∈[n−1]{exp(−R^(tk))(exp(E^(tk+1))−1)},\max _{t \in[0, M]}|O(t)-\widehat{O}(t)| \leq B_{\mathcal{T}, \beta}=\max _{k \in[n-1]}\left\{\exp \left(-\widehat{R}\left(t_{k}\right)\right)\left(\exp \left(\widehat{E}\left(t_{k+1}\right)\right)-1\right)\right\}, t∈[0,M]max∣O(t)−O(t)∣≤BT,β=k∈[n−1]max{exp(−R(tk))(exp(E(tk+1))−1)}, 找到 样本 T\TauT 这样0^\hat 00^:
O^(t)=1−exp(−R^(t))\widehat{O}(t)=1-exp(-\hat R(t)) O(t)=1−exp(−R^(t))
提供了一个ϵ\epsilonϵ近似真实的不透明度 OOO, 其中ϵ\epsilonϵ为超参数,即 BT,β<ϵB_{T,\beta} < \epsilonBT,β<ϵ.第二,我们执行逆CDF抽样与O^\hat OO^.
注意,从引理1可以得出,我们可以简单地选择足够大的n来保证BT,β<ϵB_{T,\beta} < \epsilonBT,β<ϵ。然而,这将导致过多的样本。相反,我们建议一个简单的算法来减少实际中所需的样本数量,并允许使用有限的样本点预算。简单地说,我们从均匀采样T=T0T = T_0T=T0开始,用引理2初始设置β+>β\beta_+ > \betaβ+>β满足BT,β+≤ϵB_{T,\beta_+} \le \epsilonBT,β+≤ϵ。然后,我们重复上采样TTT以降低β+\beta_+β+,同时维持BT,β+≤ϵB_{T,\beta_+} \le \epsilonBT,β+≤ϵ。尽管这个简单的策略不能保证收敛,但我们发现β+\beta_+β+通常收敛于β+\beta_+β+(通常为85%,见图3),即使在不收敛的情况下,算法提供的β+\beta_+β+的不透明度近似仍然保持一个误差。算法如下所示(算法1)。
我们初始化TTT(1号线算法1)均匀采样T0={ti}i=1n,tk=(k−1)Mn−1,k∈[n]T_0 = \{t_i\} ^n_{i = 1}, t_k = \frac{(k−1)M}{n−1}, k∈[n]T0={ti}i=1n,tk=n−1(k−1)M,k∈[n](我们在我们的实现中使用n = 128)。给定这个采样,我们接下来根据引理2选取β+>β\beta_+ > \betaβ+>β,使得误差界满足要求的界(算法1中的第2行)。
为了降低β+\beta_+β+,同时保持BT,β+≤ϵB_{T,\beta_+} \le \epsilonBT,β+≤ϵ,将n个样本添加到T(算法1中的第4行),其中从每个间隔采样的点数与其当前误差界限成比例,公式:
maxt∈[tk,tk+1]O(t)−O^(t)∣≤exp(E^(tk+1)−1)\underset{t\in[t_k,t_{k+1}]}{max} O(t)-\widehat{O}(t)| \le exp(\hat E(t_{k+1})-1)t∈[tk,tk+1]maxO(t)−O(t)∣≤exp(E^(tk+1)−1)
假设T被充分上采样并满足BT,β+≤ϵB_{T,\beta_+} \le \epsilonBT,β+≤ϵ,我们将β+\beta_+β+向β\betaβ减小。因为算法没有停止,所以我们有BT,β+≥ϵB_{T,\beta_+} \ge \epsilonBT,β+≥ϵ。因此,中值定理蕴含着存在β∈(β,β+)\beta \in(\beta,\beta_+)β∈(β,β+)使得BT,β+=ϵB_{T,\beta_+} = \epsilonBT,β+=ϵ。我们使用二分法(最多10次迭代)来有效地搜索β\betaβ并相应地更新β+\beta_+β+(算法1中的第6行和第7行)。该算法迭代运行,直到BT,β+≤ϵB_{T,\beta_+} \le \epsilonBT,β+≤ϵ或达到最大迭代次数5。无论哪种方式,我们都使用最终的TTT和β+\beta_+β+(保证提供BT,β+≤ϵB_{T,\beta_+} \le \epsilonBT,β+≤ϵ)来估计当前的不透明度OOO,算法1中的第10行)。最后,我们使用逆变换采样返回一个新的m = 64个样本O的集合(算法1中的第11行)。图3显示了算法1的定性说明,β = 0.001和= 0.1(典型值)。
引理1.固定β>0\beta > 0β>0。对于任何ϵ>0\epsilon > 0ϵ>0,足够密集的采样T将提供BT,β+≤ϵB_{T,\beta_+} \le \epsilonBT,β+≤ϵ。其次,在样本数固定的情况下,我们可以设置β\betaβ,使得误差界小于:ϵ\epsilonϵ.
引理2.固定n>0n > 0n>0。对于任何ϵ>0\epsilon>0ϵ>0,有一个足够大的β\betaβ满足β≥αM2a(n−1)log(1+ϵ)\beta \ge \frac{\alpha M^2}{a(n-1)log(1+\epsilon)}β≥a(n−1)log(1+ϵ)αM2将提供BT,β+≤ϵB_{T,\beta_+} \le \epsilonBT,β+≤ϵ.
下一篇:【C语言】3天速刷C语言(初识)