Conference

Efficient Graphics Representation with Differentiable Indirection

Sayantan Datta, Carl S. Marshall, Zhao Dong, Zhengqin Li, Derek Nowrouzezahrai

McGill University; Meta Reality Labs

一句话总结

本文提出”可微间接寻址”(Differentiable Indirection, DIn)——一种以可微多尺度查找表替代传统计算与数据操作的学习型基元,仅靠内存间接寻址与线性插值即可在几何、图像、纹理采样、着色、辐射场等多种图形任务上实现高效、无需 MLP 的表示。

研究背景

  • 领域现状:神经基元(neural primitives)已广泛用于外观捕捉、着色、辐射缓存、视角合成等图形任务。主流做法要么用 MLP 作通用函数逼近器,要么用规则网格/树结合固定非线性(如球谐 SH、ReLU)。
  • 核心痛点:MLP 是网络中最昂贵的部分,其 FLOPs 与内存传输随质量近乎二次增长,且训练慢;而纯网格法虽计算省,却带来巨大的参数开销,且难以扩展到高维输入。二者都难以同时满足低算力、低内存读取、小参数量这三项实时/低功耗(AR/VR)诉求。
  • 本文 idea:引入一个在”计算量 / 内存传输 / 参数量”三项指标间取得平衡的新基元 DIn。它类比指针间接寻址,但让整个查表过程可微,仅依赖内存间接与线性插值来获取表达能力,从而大幅削减甚至完全去除对 MLP 的依赖。

方法

整体框架:DIn 最简形式由两级可微数组构成——先用输入坐标查询”主数组”(primary array),取回的值作为指向”级联数组”(cascaded array)的坐标(即指针),再在级联数组对应位置取出最终输出。梯度下降同时学习两个数组的内容与主数组存储的”指针”分布。

flowchart LR
  X["输入坐标 x ∈ [0,1)^d"] --> P["主数组 primary(存指针/uv 畸变)"]
  P --> NL["周期非线性 F + 线性插值"]
  NL --> C["级联数组 cascaded(存输出)"]
  C --> O["输出 o(SDF/RGB/BRDF/密度)"]

关键设计:

  1. 完全可微数组:核心要求是数组不仅对每个单元的内容可微,还要对索引(uv 坐标)可微。对输入坐标 \(\boldsymbol{x} \in [0,1)^d\) 按分辨率 \(N\) 缩放并取上下整,构成包裹 \(\boldsymbol{x}\) 的 \(d\) 维体素,用顶点距离做插值: \[o = \sum_{i=0}^{2^d-1} \alpha_i \, F(\boldsymbol{c}[i])\] 其中 \(\alpha_i\) 是插值权重,\(\boldsymbol{c}[i]\) 是体素顶点处的单元内容,\(F\) 是附加非线性。与只对内容 \(\boldsymbol{c}[i]\) 求导的 MRHE、ReLU Fields 不同,DIn 同时给出对坐标与内容的梯度 \(\tfrac{do}{d\boldsymbol{x}}\) 和 \(\tfrac{do}{d\boldsymbol{c}[i]}\),正是对坐标的梯度让误差能反传回主数组、学到”指针”值。

  2. 周期非线性与量化友好:对主数组施加周期非线性(正弦 \((1+\sin(nx))/2\) 或周期为 2 的三角波,除 Disney-BRDF 用正弦外均用三角波),把内容约束、连续环绕到 \([0,1)\),可作下一级输入。由于 \(F\) 在插值前施加,推理时可直接烘焙进单元、免除计算;输出被限定在 \([0,1)\),使主数组可量化到 8/16-bit 而几乎不损质量。

  3. 初始化即恒等映射:主数组用线性 ramp 初始化,相当于标准 uv-map(输入到输出的恒等映射)。训练时梯度下降在此基础上”局部起皱”般地扭曲该映射,同时更新级联数组的值;级联数组的初始化则按应用而定。

  4. 超参 \(\rho\) 与高维分治:定义 \(\rho = N_p/N_c\)(主数组边长与级联数组边长之比),各任务最优 \(\rho\) 均大于 1,使级联数组更小、访问模式更适合缓存,且主数组可 8-bit 量化。对于高维输入(如 Disney BRDF 的 17 维),直接建 17D 数组不可行,作者用分治+参数空间因式分解:先把 albedo 从 BRDF 输出中分离 \(\mathrm{Disney}(\boldsymbol{x}, A) = A^{l}\,p(\boldsymbol{x}) + q(\boldsymbol{x})\),再把 \(p,q\) 拆成若干 Disney-diffuse/metallic/clearcoat 分布项,各自用小 DIn 逼近后合并为少量间接对;同时把艺术家参数离线编码进 2k×2k 编码器(主数组),运行时解码器(级联数组)仅 16×16、可驻留最低级缓存。

实验结果

在 Disney BRDF 逼近这一”计算逼近”任务上,DIn 的运行时开销显著低于解析实现。下表为 4K 分辨率、移动端 3070Ti 上的 HLSL 运行时(毫秒),随点光源数量变化:

点光源数量 1 2 3 4
Differentiable Indirection 0.654 0.710 0.798 0.923
Reference Disney 0.690 0.838 1.11 1.41
Baseline Diffuse(着色器基线开销) 0.642 0.648 0.656 0.668

运行时部分仅需 4 次 2D 双线性查找 + 1 次 1D 查找,外加约 41 FLOPs 合成结果;而参考解析实现需 240+ FLOPs。光源越多,DIn 相对解析实现的优势越明显。其余任务的关键结论(文字概述):等 PSNR(>40dB)逼近各向同性 GGX 时,DIn 相比 MLP 与”MLP+网格”组合在参数量、FLOPs、每像素内存读取三项上均更优;SDF 表示上与 MRHE 等参数量下质量相当,但少 6 次内存查找、少 >512 FLOPs;纹理压缩质量可与专用 ASTC 竞争,且每像素内存读取 ≤12 字节、线性插值 ≤20 次,且开销与屏幕上材质数量无关;辐射场压缩中密度场可压 ~10×、RGB 场可压 ~100×,整体较 Direct Voxel 提升约一个数量级压缩比;端到端优化着色流水线还带来额外 5%~8% 的 PSNR 提升,4K 下纹理采样+着色 <1.5ms(3090)。

亮点与局限

  • 亮点:
    • 全程 MLP-free,仅靠内存间接寻址+线性插值,天然映射到 GPU 硬件纹理采样器,契合”存内计算”新范式;
    • 一个统一基元横跨 SDF、图像/纹理压缩、纹理滤波采样、参数化着色、辐射场压缩多种任务,易于嵌入现有架构且训练快;
    • 量化友好(主数组 8-bit)、资源开销与屏幕材质数无关,适合低功耗 AR/VR 场景;
    • 纹理采样器把压缩与滤波合并,单次采样即可在掠射角获得优于 1-spp ASTC 的质量。
  • 局限:
    • 难以直接扩展到高维输入,须借助领域知识做参数因式分解(对通用问题不一定总能找到好分解);
    • 主要面向前向运行时效率,在直接重建 / 逆向渲染任务中的有效性尚未验证;
    • 依赖任务相关的 \(\rho\)、数组尺寸等超参搜索与逐任务的初始化设计。

延伸思考

  • 作者提出的”可微数组作为常规网络层”设想颇具想象力:若能把间接寻址堆叠成”数组网络”,可能形成一类不同于 von Neumann/MLP 的高效计算结构,值得与近年的查表式/哈希式神经表示(如 Instant-NGP)系统对比。
  • 高维困境的通解方向(谱分解 / 张量分解,如 TensorF 的思路)或许能把这里手工的 Disney BRDF 因式分解自动化,是把 DIn 推向更通用高维函数逼近的关键。
  • 量化到 8-bit 且直接落到硬件纹理采样器,意味着它在移动端/嵌入式神经着色上有很强落地潜力;后续若能与存内计算硬件协同设计,可能进一步放大其带宽与能耗优势。