刚看到新闻非常惊讶,粗读了一下文章,原来是一堆加速hack,思路好哇,
作者的思路是(本人理解可能有误):
- 对于图像/3D信息表达,传统方法存储的是结构化数据,计算是干净的公式,与计算分离的;
- 神经网络计算与数据混到了一起,典型如Nerf,radience field数据信息存储到了网络权重里;
- 但信息完全在网络权重里导致训练非常慢,效率低,网络表达能力也受训练的限制;
- 于是有了parametric encoding方式,把latent feature用结构化方式存储,例如存到3D grid上,这样表达能力不受网络权重数量的限制,每次back propogate的参数只跟3D grid对应的cell以及小网络相关,训练的时间也大量缩短;
- 但3D grid这种结构化数据,其实也非常浪费,因为三维模型只有表面信息有意义,绝大多数的cell都是空的;
- 用分层的树形数据结构能减少内存和需要训练的数据量,但在训练过程中动态调整树的结构开销也不小;同样稀疏数据结构同样因为需要动态更新开销也大;
- 所以不管那些空间结构,用个LOD哈希表存grid的feature,把位置hash一下存最dense,效率最高;
- 为了简单,哈希函数选了个最快的,哈希碰撞就不管了,因为有LOD,并不在乎某一层的error,因为Loss是把所有层都叠一起训练的,在当前层碰撞了也没关系,反正前后层会弥补;