It’s just a function call and you can always transform the NeRF into a new representation if you want to use traditional 3d software.
Transforming it to a mesh or SDF is cheating, then it's no longer a NeRF and of course the same cons doesn't apply anymore.
AI = means you don't understand how to quantify the problem
AI is a great hack to quickly and unknowingly solve classification problems and other similar things. But you trade massive datasets for explainability. And that's a pretty bitter pill to swallow.
Even the "simple" AI's with only a few TBs of data for training still have low/no understanding what's going on to identify the features and how they relate. Sure, we can tell this neuron identifies this squiggle, but what does it mean? No fucking clue. It also shows us collectively that most of these "hard" problems we have no clue how to understand them. And although AI allows us to "do it", it's a bad hack for actually understanding, optimizing, and doing.
> That it works without you understanding it is a failure of your understanding not of the approach.
Cool. Then point me towards the tools to explain how weights in a moderate-ly sized NN are created with training data, and associated with each other and how they find the features in question.
Oh yeah. Those tools don't exist.
It's not at all clear that there is or even should be a deeper explanation than "a function with sufficiently many parameters can approximate any other function with only a small change to those parameters, and thus allows tractable solving" - whether by gradient descent or some hokey approximation our neurons are probably doing.
We have even less of an idea how our own system of "understanding" works than we do of neural networks "understanding". If you're going to be mad at tools that don't provide satisfying explanations for how they work, then look no further than your own brain. Are you going to give up on thinking, just because when you look at it closely you realize you have no idea how on earth you're even doing it?
One of my personal favourites is Zeiler and Fergus https://arxiv.org/abs/1311.2901
Tom Zahavy’s “Greying the black box” on deep RL comes to mind too https://arxiv.org/abs/1602.02658
OpenAI has their Microscope tool for investigating individual neurons https://openai.com/research/microscope; more recently OpenAI shared research and tooling leveraging a powerful language model to explain a smaller model’s neurons. https://openai.com/research/language-models-can-explain-neur...
For a true toy box exploration playground.tensorflow.org is worth a play
These may or may not satisfy your curiosities — your perfect tool may not exist…yet. I would argue that the sampling of extant work above are indicative that it and more are possible.
If you look at one of the most widely used text books machine learning is one of seven chapters, and not all of that is deep or supervised learning.
In my view calling a solution "neural" and "AI" because you are optimizing a stack of relus, and then turning around and solving the same (or almost the same) problem by optimizing a bunch of Gaussian model parameters on the same data, and then saying that is "not AI" and "at least it's not neural!" is just a very specious and unnecessary way to delineate things imho. They're just two solutions to the same problem, both data driven, both generating "models".. they have differences, just not differences that I think warranted such a comment in the blog, and moreover I thought it weird to attribute some kind of normative evaluation based on how you categorize the solution.
In this instance, I’m going to choose to take an optimistic stance and believe the authors were talking a friendly elbow jab rather than fueling a mini culture war. The researchers leveraging DNNs are doing great work, but perhaps could be wrangled in just a bit :)
The title of the paper is "3D Gaussian Splatting for Real-Time Radiance Field Rendering". Each rendered pixel weights the contribution of unbounded view-dependent Gaussians. So, no, that's not a difference.
I read Aras' quip as more narrowly technical. OFC it's ambiguous and you'd have to ask the man himself.
The gist of NeRF is to obtain an NN representation of a 5D light field (3D position + 2D direction) from samples (photographs) of the real-world light field. Alarm bells ring already- 5 dimensions isn't that many! Considering NeRF has always used a low-rank spherical harmonic representation of the directional domain, it's even more like 3D-and-change. To reconstruct a function of such low dimensionality, why choose an NN?
Then at inference time, for each pixel, you have sample the NN repeatedly over the view ray. This part is exceedingly silly, as compact representations of light fields are a solved bread-and-butter problem in graphics.
Later on Plenoxels explicitly took the "Ne" out of "NeRF", giving far higher training and inference performance (also mentioned ITT). To be fair, and later still, Nvidia somewhat redeemed NNs here with Instant NeRF: https://nvlabs.github.io/instant-ngp/assets/mueller2022insta... ...where the twist was to interpolate fancy input emeddings, which are run through a tiny NN. That tininess is important, as the need to fetch NN weights from VRAM would kick NNs right off the Pareto frontier.
Zooming out, NNs have only seen wide adoption in graphics engineering for reconstruction from sparse data (inc. denoising). Makes sense, as that's a high-dimensional problem. Still, beware that the NN solutions rarely blow handmade algorithms out of the water. I also think using tiny NNs for compression- closely related to reconstruction- has a future too. Beyond that, if NNs were to set the graphics world ablaze, it would've happened by now.
Lots of graphics engineering is just approximating functions, so it's natural NNs have some place here. However, our functions tend to be more understandable, tractable, malleable. It's not an application domain where it's virtually impossible to write an algorithmic solution by hand (let alone one that performs well), like natural language understanding.
then..
> And finally, they have resisted the temptation to do “neural” anything ;)
So, they are doing something similar to NeRF, in a sense, but using a different basis function, and a slightly different target. The whole "neural" or not "neural" is just about what you are optimizing, but it's not that different, conceptually -- they are optimizing a data-driven approximator of a 3d scene-related variable based on images.
The big difference of course, based on reading this, is that NeRF models the whole light transmission function ("radiance field") whereas this seems to model only the boundary conditions (what the light "hits"). So given the different modelling target, then yes, a different, and perhaps simpler, representation basis definitely seems warranted, and is shown here to give good results. But the comment, "they avoided neural anything" feels a bit smug, as if "avoiding the hype" is a laudable goal on its own merits. As if people are using neural networks for no reason but because they're cool, and not because they're actually an appropriate solution that are shown to work really well in practice. They surely are cool, don't get me wrong, but the hype is so often justified, because neural networks are really good function approximators. They are also not just one thing -- the choice and breadth of architectures that we happen to call "neural networks" is huge, so explicitly avoiding this huge potential solution space for some reason without good reason feels pretty specious; heck you could even consider having a Gaussian "output layer" to a neural network, which is called an RBF, being something like this "splat" approach. (This is in response to the blog post, not the paper -- I'm sure the paper has plenty of justification for modeling choices.) Having said that, of course it's interesting to also explore simpler, perhaps more efficient approaches, but I don't see "resisting using neural anything" as a good thing, just because they are popular. It ignores that they are popular for a reason.
(nb: This assessment is just based on the blog post and giving my impression from the tone of the introduction, I haven't read the paper yet, so might not be accurate with respect to the paper contents. I just found this off-hand comment in the post worth reflecting on.)