---
title: 3DGS-MCMC Optimization Overview
url: https://www.emergentmind.com/topics/3dgs-mcmc-optimization
type: topic
---

# 3DGS-MCMC Optimization Overview

3DGS-MCMC optimization denotes the family of training and deployment procedures that treat 3D Gaussian Splatting (3DGS) not only as an explicit radiance-field parameterization but also as an optimization problem with stochastic exploration, regularized primitive birth and relocation, and increasingly specialized optimizer design. In this setting, a scene is represented by anisotropic 3D Gaussians with position, covariance, opacity, and spherical-harmonic color parameters, while training combines photometric reconstruction with opacity and scale control. The 3DGS-MCMC variant augments 3DGS with exploration and respawning under an SGLD-inspired framework, and later work extends this line with adaptive exploration and curvature-guided exploitation in Opt3DGS [2511.13571], with visibility-aware and regularization-decoupled optimization in AdamW-GS [2601.16736], and with post-training dictionary-learning compression for faster deployment of trained 3DGS-MCMC models [2605.30396].

## 1. Core formulation and optimization objective

In 3DGS, a scene is modeled as a set of $N$ explicit Gaussian primitives. In the Opt3DGS formulation, each primitive $i$ has position $\mu_i \in \mathbb{R}^3$, covariance $\Sigma_i = R_i s_i s_i^T R_i^T$ where $s_i \in \mathbb{R}^3$ is axis-aligned scale and $R_i \in SO(3)$ is rotation, opacity $o_i \in [0,1]$, and color $c_i$ computed by spherical harmonics coefficients. Under splatting and front-to-back alpha compositing, the pixel color at screen location $x$ is
$$
c(x) = \sum_{i=1}^N c_i \cdot o_i \cdot T_i,
$$
with
$$
T_{i+1} = (1 - o_i)\cdot T_i,
$$
where $T_i$ is the accumulated transmittance up to the $i$-th Gaussian in the sorted front-to-back list intersecting pixel $x$ [2511.13571].

The global parameter set is
$$
\theta = \{\mu_i, s_i, r_i, o_i, SH_i\}_{i=1}^N.
$$
Opt3DGS builds on the 3DGSMCMC loss with $L_1$/SSIM fidelity terms and regularization on opacity and covariance scales:
$$
L_{\text{total}}(\theta) = (1 - \lambda_{\text{ssim}}) L_1(\theta) + \lambda_{\text{ssim}} L_{\text{ssim}}(\theta)
+ \lambda_o \sum_i |o_i|_1
+ \lambda_\Sigma \sum_{i,j} \left| \sqrt{\operatorname{eig}_j(\Sigma_i)} \right|_1.
$$
Here, $L_1$ is an $L_1$ image reconstruction loss over pixels, $L_{\text{ssim}}$ is a structural similarity term, and $\lambda_o, \lambda_\Sigma$ are regularization weights. In the MCMC interpretation used by Opt3DGS, this $L_{\text{total}}$ acts as the energy function for stochastic updates [2511.13571].

A parallel description in the decoupling analysis writes the per-primitive attributes as $\theta_i = (\mu_i, \Sigma_i, o_i, c_i)$ and the training objective as
$$
L = (1 - \lambda_1)L_1 + \lambda_1 L_{\text{DSSIM}} + \lambda_o |o|_1 + \lambda_s |s|_1.
$$
That work characterizes the standard pipeline as Warm-up $\rightarrow$ densification (clone/split; prune low-opacity) $\rightarrow$ pure optimization (P-Op), with gradients propagated to all attributes and standard Adam as the default optimizer [2601.16736].

Within 3DGS-MCMC, optimization still uses Adam and the same photometric and regularization losses, but exploration and respawning are added through an SGLD-inspired framework. Densification samples new primitives and reallocates “dead” ones, and a noise-driven position regularization encourages exploration. The regularizers, especially opacity and scale, play a larger role in activating respawn and reducing redundancy [2601.16736].

## 2. Stochastic exploration and adaptive posterior flattening

The exploration stage in Opt3DGS is framed through Langevin dynamics. For sampling from a target density $\pi(\theta) \propto \exp(-U(\theta))$, the overdamped Langevin SDE is
$$
d\theta = -\nabla U(\theta)\,dt + \sqrt{2}\, dW_t.
$$
During exploration, Opt3DGS defines
$$
\pi(\theta) \propto \exp(-L_{\text{total}}(\theta)/\tau),
$$
so that $U(\theta) = L_{\text{total}}(\theta)/\tau$. With a mini-batch stochastic gradient and stepsize $\eta_t$, the discretized SGLD update is
$$
\theta_{t+1} = \theta_t - \eta_t \hat g_t + \sqrt{2\eta_t}\,\xi_t,\qquad \xi_t \sim \mathcal N(0,I).
$$
In practice for 3DGS, the mini-batch estimator is obtained by sampling images and rays or pixels, splatting visibilities, accumulating transmittance for the intersecting Gaussians, backpropagating through compositing, and aggregating parameter gradients across pixels. Opt3DGS uses Adam’s stabilized gradient estimates in the drift term to improve robustness, same as in 3DGSMCMC [2511.13571].

The practical noise injection mechanism inherited from 3DGSMCMC is position-focused. In that formulation,
$$
g_k \leftarrow g_{k-1} - \lambda_{lr}\nabla_g \mathbb E_I[L_{\text{total}}(g_{k-1}; I)] + \lambda_{\text{noise}}\epsilon,
$$
with $\epsilon = [\epsilon_\mu, 0]$, and $\epsilon_\mu$ using a scene/opacity-dependent scaling. Opt3DGS retains this mechanism but modifies the drift via adaptive weighting [2511.13571].

Its central exploration mechanism is Adaptive Weighted SGLD (AW-SGLD). To reduce energy barriers and encourage mode transitions, Opt3DGS constructs a flattened target density
$$
\rho(g) \propto \frac{P(g)}{\Psi^\zeta(\Theta, L_{\text{total}}(g))},
$$
where $P(g) \propto \exp(-L_{\text{total}}(g)/\tau)$, $\zeta > 0$ controls flattening strength, and $\Psi$ is a smooth weighting function defined on energy levels. The energy range is partitioned into $m$ bins, a weight vector $\Theta = \{\theta(1), \ldots, \theta(m)\}$ is maintained and adapted via stochastic approximation, and a smooth piecewise exponential interpolation avoids vanishing gradients from piecewise constants [2511.13571].

The resulting log-density gradient introduces a multiplicative drift factor $\nu$, yielding the AW-SGLD update
$$
g_k \leftarrow g_{k-1}
-\lambda_{lr}\cdot \nu \cdot \nabla_g \mathbb E_{I\sim \mathbb I}[L_{\text{total}}(g_{k-1}; I)]
+\lambda_{\text{noise}}\cdot \epsilon.
$$
In compact preconditioned form,
$$
\theta_{t+1} = \theta_t - \eta_t W_t \hat g_t + \sqrt{2\eta_t}\xi_t,\qquad W_t = \nu I.
$$
The online weight adaptation targets equal visitation across energy bins through a flat-histogram stochastic approximation scheme. In the paper’s interpretation, this gradually estimates a “density-of-states” style compensation that flattens the effective energy barriers [2511.13571].

The reported exploration schedule uses 30,000 total iterations, a warm-up of 2,500 iterations before activating adaptive weighting $\Theta$, $m=200$ bins on $[0.0, 0.2]$ for most scenes, $[0.0, 0.3]$ for Tanks and Temples “train,” a fixed flattening coefficient $\zeta = 0.75$, a Gaussian growth rate fixed at 5%, and noise injection focused on $\mu$. The stated intuition is that AW-SGLD effectively performs a tempered walk that reduces energy barriers between modes, combats opacity-driven sampling bias, and addresses the clustering effect observed in 3DGSMCMC [2511.13571].

## 3. Curvature-aware exploitation and two-stage refinement

Opt3DGS divides optimization into adaptive exploration followed by curvature-aware exploitation. The second stage replaces global-search behavior with a local refinement procedure called Local Quasi-Newton Direction-guided Adam (LQNAdam). The Adam baseline is written as
$$
m_t = \beta_1 m_{t-1} + (1-\beta_1)g_t,\qquad
v_t = \beta_2 v_{t-1} + (1-\beta_2)g_t^2,
$$
$$
\theta_{t+1} = \theta_t - \alpha \cdot \frac{m_t}{\sqrt{v_t}+\epsilon}.
$$
Opt3DGS then estimates local curvature for each Gaussian’s position $\mu$ independently using limited-memory BFGS with history size $K$, with $K=5$ in experiments [2511.13571].

Let $B_t$ denote the approximate inverse Hessian for $\mu$, represented implicitly by L-BFGS two-loop recursion. The local direction is
$$
p_t = -B_t g_t,
$$
where $g_t$ is the gradient of $L_{\text{total}}$ with respect to $\mu$. Rather than a line search, Opt3DGS treats this quasi-Newton direction as a pseudo-gradient and feeds it to Adam:
$$
m_t^D = \beta_1 m_{t-1}^D + (1-\beta_1)D_t,\qquad
v_t^D = \beta_2 v_{t-1}^D + (1-\beta_2)D_t^2,
$$
$$
\mu_{t+1} = \mu_t - \alpha \cdot \frac{m_t^D}{\sqrt{v_t^D}+\epsilon} + \lambda_{\text{noise}}\cdot \epsilon_\mu,
$$
with $D_t = p_t$. This is the LQNAdam update [2511.13571].

The exploitation stage is triggered near the end of training, for example at iteration 29,000 of 30,000. At that point, $L_1$ is replaced by $L_2$ for finer convergence, the flattening multiplier $\nu$ is disabled to return to the original posterior, quasi-Newton directions are computed per Gaussian’s $\mu$ in parallel on CUDA, and Adam continues on other parameters with standard gradients [2511.13571].

This local curvature model is deliberately restricted. L-BFGS provides an implicit diagonal-block inverse-Hessian approximation per Gaussian position, requiring only storage of $K$ pairs of $(s,y)$. No explicit Hessian is formed, and updates use the two-loop recursion at $O(K)$ per Gaussian. The paper states that this choice leverages weak coupling among Gaussians and keeps computation feasible. Reported overhead is small: AW-SGLD adds negligible $O(1)$ per iteration for $\nu$ and $\Theta$, while LQNAdam adds per-Gaussian L-BFGS recursion and maintaining $K=5$ history pairs, with time increases of approximately $0$–$1$ minute in the reported cases [2511.13571].

## 4. Decoupling visibility, moments, and regularization

A distinct line of work argues that standard 3DGS and 3DGS-MCMC optimization suffer from two overlooked couplings: update-step coupling and gradient coupling in the moment. With synchronous Adam, all primitives are processed every iteration regardless of visibility. Even if a primitive is invisible and its instantaneous gradient is zero, Adam’s moments are still updated by decay, which rescales optimizer state and can trigger implicit attribute updates later. The decoupling analysis states that this implicit update is wasteful, updates invisible Gaussians, and can bias regularization activation [2601.16736].

The reported evidence includes the claim that, under vanilla 3DGS with Adam, many primitives outside current views still undergo state changes and subsequent updates. This produces more dead primitives, for example “GS1: Nd = 0.232M,” than Sparse Adam, “GS3: 0.048M,” and incurs non-trivial step-time cost. In 3DGS-MCMC, Adam’s second moment for opacity is reported to be systematically smaller than Sparse Adam’s, so $\hat m/\sqrt{\hat v}$ can be larger, making regularization more active [2601.16736].

The proposed remedy begins with Sparse Adam. For each primitive, a binary visibility mask $V \in \{0,1\}$ modifies moment decay so that invisible primitives experience no decay and no accumulation:
$$
\beta' = \beta \cdot V + (1-V),
$$
$$
m_t = \beta'_1 m_{t-1} + (1-\beta'_1)g_t,\qquad
v_t = \beta'_2 v_{t-1} + (1-\beta'_2)g_t^2.
$$
The parameter update is similarly masked,
$$
\theta_{t+1} = \theta_t - V \cdot \eta \cdot \frac{\hat m_t}{\sqrt{\hat v_t}+\epsilon}.
$$
The stated benefits are elimination of implicit updates, stabilization across viewpoints, and an approximately 50% reduction in step time in 3DGS-MCMC, with the stated drawback that Sparse Adam alone tends to be less explorative [2601.16736].

The second component is Re-State Regularization (RSR), an explicit periodic moment reconditioning:
$$
m_t^{new} = \alpha_1 \cdot m_t^{old},\qquad
v_t^{new} = \alpha_2 \cdot v_t^{old},\qquad 0 \le \alpha_1,\alpha_2 < 1.
$$
RSR is applied to a uniformly sampled subset of primitives at fixed intervals under the State Sampling Schedule. The paper gives the safe default $\alpha_2 = \alpha_1^2$ and states that $\alpha_1 = 0.2,\alpha_2 = 0.04$ works well across scenes. Its rationale is that moment rescaling is the mechanism by which Adam’s implicit updates strengthened regularization, so RSR reintroduces this control in a transparent and scene-tunable way [2601.16736].

The third component is Decoupled Attribute Regularization (DAR). Here the moments are updated with photometric gradients only, while regularization is applied separately in an AdamW-style but geometry-aware form:
$$
m'_t = \beta'_1 m'_{t-1} + (1-\beta'_1)\nabla \ell(\theta)/N_I,
$$
$$
v'_t = \beta'_2 v'_{t-1} + (1-\beta'_2)[\nabla \ell(\theta)/N_I]^2,
$$
$$
\theta_{t+1} = \theta_t - \eta\left[
\frac{\hat m'_t}{\sqrt{\hat v'_t}+\epsilon}
+
\min\left(
\lambda_\theta \cdot \frac{\nabla R(\theta)/N_I}{\sqrt{\hat v'_t}+\epsilon},\,
C_t
\right)
\right].
$$
Opacity and scale receive explicit per-attribute forms, while position $\mu$ uses noise-driven exploration regularization gated by opacity and shaped by $\Sigma$. The paper’s motivations are that decoupling removes the instability caused by Adam’s gradient coupling, makes per-step regularization strength explicitly controlled, and uses $\sqrt{\hat v'}$ scaling to make regularization geometry-aware [2601.16736].

These three components are recomposed into AdamW-GS: visibility-aware Sparse Adam, DAR for opacity and scale, periodic RSR via StSS, and optional position noise regularization for outdoor scenes. The paper states that AdamW-GS removes gradient coupling, removes implicit updates, and reintroduces controlled moment rescaling, while remaining crucially visibility-aware because of physical attribute meanings and viewpoint sparsity in 3DGS and 3DGS-MCMC [2601.16736].

## 5. Empirical behavior, benchmark trends, and failure modes

Opt3DGS reports evaluation on MipNeRF360, Tanks and Temples, and DeepBlending with consistent settings. The reported headline numbers are: MipNeRF360 with PSNR 29.96, SSIM 0.897, LPIPS 0.143 versus 3DGSMCMC 29.89, 0.900, 0.190; Tanks and Temples with PSNR 24.80, SSIM 0.875, LPIPS 0.139 versus 24.29, 0.860, 0.190; and DeepBlending with PSNR 30.09, SSIM 0.911, LPIPS 0.229 versus 29.67, 0.900, 0.320. The paper also states that random initialization shows Opt3DGS outperforms 3DGSMCMC and 3DGS across all metrics, indicating stronger ability to recover from poor starts [2511.13571].

Its ablations on Tanks and Temples further isolate the two stages. For Train, baseline 3DGSMCMC reports PSNR 22.47, SSIM 0.830, LPIPS 0.240, Time 11m; adding AW-SGLD gives 22.74, 0.841, 0.180, Time 12m; adding LQNAdam gives 23.01, 0.846, 0.176, Time 12m. For Truck, the sequence is 26.11/0.890/0.140 to 26.49/0.901/0.104 to 26.61/0.903/0.102, with time 22 to 22 to 23m. A separate ablation indicates best $\zeta$ near 0.8, while the main setting uses $\zeta = 0.75$ [2511.13571].

AdamW-GS reports a complementary set of improvements on MipNeRF360. For 3DGS-MCMC, baseline Adam reports PSNR 27.948, SSIM 0.833, LPIPS 0.199; adding Sparse Adam gives 27.998/0.832/0.199 with +4.28% active primitives; DAR variants report 28.185/0.839/0.182 and 28.219/0.840/0.182 with +4.5% active primitives and 39.77 mins total time versus 46.81. For vanilla 3DGS, baseline Adam reports PSNR 27.506, SSIM 0.815, LPIPS 0.216 with 3.098M active primitives, while AdamW-GS reports PSNR 27.678, SSIM 0.822, LPIPS 0.220 with −49.3% active primitives and runtime 18.53 mins versus 30.58 [2601.16736].

The same study reports that Deep Blending and Tanks & Temples also improve in PSNR and SSIM while reducing primitives; for example, Deep Blending 3DGS + AdamW-GS reports PSNR 30.260 versus 29.694 baseline. On OMMO long sequences, 3DGS-MCMC + AdamW-GS reports PSNR 30.716 versus 30.359, while 3DGS + AdamW-GS reduces active primitives from 1.640M to 1.211M with slight PSNR gain [2601.16736].

Several limitations recur across these methods. Opt3DGS lists over-flattening when $\zeta$ is too large, parameter delicacy when noise is injected into opacity $o$ or scales $s$, curvature instability when L-BFGS directions are noisy, and energy-bin miscalibration when bounds or bin counts are inappropriate. It recommends $\zeta \in [0.7, 0.85]$, warm-up of $\Theta$, restriction of noise to $\mu$, and 200 bins with tuned intervals [2511.13571]. AdamW-GS lists overfitting or early stopping, boundary artifacts with poor view coverage, background blurriness, geometric inconsistency, position noise degrading indoor scenes with few primitives, and the hand-crafted nature of the StSS schedule [2601.16736].

A common misconception is to equate 3DGS-MCMC exclusively with explicit Metropolis–Hastings accept-reject steps. The decoupling analysis states that an MCMC-style view is used to analyze proposals and acceptance behavior conceptually, and that most steps are realized as gradient updates and respawn operations rather than explicit accept-reject moves [2601.16736]. By contrast, the deployment-oriented compression work describes the MCMC variant as performing Markov chain Monte Carlo over scene parameters through birth, death, split, merge, propose, and accept moves, yielding posterior-consistent Gaussian sets with strong fidelity and stability [2605.30396]. Taken together, these descriptions indicate that “MCMC” in this literature spans both a stochastic-optimization interpretation and a more literal proposal-based reading, depending on the layer of analysis.

## 6. Deployment-time optimization and post-training compression

A further optimization axis concerns the trained model at deployment rather than the training dynamics. The dictionary-learning compression framework for 3DGS compresses the dominant storage cost in spherical-harmonic color parameters and applies directly to 3DGS-MCMC without retraining or modifying its MCMC process [2605.30396].

For degree-$3$ spherical harmonics, each Gaussian stores 48 SH parameters: 16 coefficients per channel across 3 channels. The compression leaves the 3 DC coefficients unchanged and replaces the 45 view-dependent SH coefficients with a shared dictionary and sparse codes. The representation becomes a shared dictionary $D \in \mathbb R^{45\times m}$, for example $m=90$, together with per-Gaussian sparse codes $\alpha_i \in \mathbb R^m$ satisfying $\|\alpha_i\|_0 = k \ll m$ so that $y_i \approx D\alpha_i$, where $y_i$ is the original 45-dimensional non-DC vector [2605.30396].

The dictionary-learning objective is the standard $\ell_0$-constrained sparse coding problem,
$$
\min_{D,\{\alpha_i\}} \sum_{i=1}^N \|x_i - D\alpha_i\|_2^2
\quad \text{subject to } \|\alpha_i\|_0 \le k,\ \|a_j\|_2 = 1,
$$
with an $\ell_1$-regularized variant also given. Sparse coding is performed with Orthogonal Matching Pursuit, dictionary update can use K-SVD, MOD, or online dictionary learning, and the paper reports a tolerance sweep $\epsilon \in \{0.03,0.05,0.10,0.20\}$, identifying $\epsilon=0.10$ as a good operating point for 3DGS-MCMC [2605.30396].

At render time, the original non-DC color evaluation $s(v)^T y_i$ becomes
$$
s(v)^T D\alpha_i = \sum_{j\in \operatorname{supp}(\alpha_i)} \alpha_{i,j}[s(v)^T d_j].
$$
The sparse codes are stored in Compressed Sparse Column format, while the dictionary is stored once, for example as a 45×90 FP32 tensor of approximately 15.8 KB. The paper reports that baseline degree-3 SH reads 48 SH floats or 192 B per Gaussian and performs about 96 FLOPs for non-DC color evaluation, whereas the compressed variant reads approximately $8k+12$ B per Gaussian plus the shared dictionary; for $k \approx 11.7$ at $\epsilon=0.10$, this is about 110 B per Gaussian, with higher FLOPs but lower memory traffic. The stated conclusion is that radiance evaluation is memory-bound on modern GPUs, so reducing bytes per Gaussian outweighs the added compute [2605.30396].

For 3DGS-MCMC specifically, the paper states that only the 45 view-dependent SH coefficients are replaced; positions $\mu$, covariances $\Sigma$, and opacity $\alpha$ are untouched. No MCMC-specific state, proposals, or acceptance stats are stored or needed at deployment. Empirically, averaged over 13 scenes with OMP tolerance $\epsilon=0.10$, the reported results are a compression ratio of 3.10×, rendering speed increase of +24.3% from 113.0 FPS to 140.5 FPS, and similarity to original MCMC renderings of PSNR 42.95 dB, SSIM 0.9961, and LPIPS 0.0076. Against ground truth, the average PSNR drop of compressed versus original baselines is reported as marginal, approximately 0.14–0.19 dB across methods [2605.30396].

This deployment result suggests a separation between training-time optimization and deployment-time optimization. Training-time work such as AW-SGLD, LQNAdam, Sparse Adam, RSR, and DAR alters how Gaussians are explored, regularized, or refined; post-training dictionary learning instead optimizes the memory-bandwidth profile of the converged Gaussian set while preserving the geometry and coverage determined by the trained 3DGS-MCMC model.

Source: https://www.emergentmind.com/topics/3dgs-mcmc-optimization