
Physics Forests - archgoon
http://people.inf.ethz.ch/sjeong/physicsforests/
======
cba9
That is... an unusual use of regression, to say the least. When I see
something sufficiently off the wall, I always wonder how the authors happened
to think of that. It also raises a lot of questions like, how much of physics
can be usefully approximated by some random forests? Could you replace most of
a physics engine with an appropriate small neural network?

~~~
jasonwatkinspdx
Random Forests are part of how the LHC found the higgs, based on my armchair
understanding of the slide decks.

Measurement, Monte Carlo and Machine Learning form an interesting triangle. My
impression of the LHC pipe is they used monte carlo model sims to train up
classifiers that would flag the data relevant for distinguishing alternate
models.

~~~
phreeza
The major difference there is that LHC data measures processes which are
inherently stochastic (because QM), so using these methods is pretty natural.
The OP, however, is applying the same methods to highly complex, but nominally
deterministic problems.

~~~
noobermin
I'm curious about this. A lot of us in the computational world have to deal
with able but slow iterative methods for things like fluid dynamics and
electromagnetic simulations. I'd be interested to know if this works with MHD,
and how well it does.

~~~
phreeza
It probably would, but it is harder to get performance guarantees. Seems like
a taylor expansion on steroids, but with the taylor expansion you get
analytical tractability (to prove correct convergence) along with speed, which
you don't get in this case.

------
krapht
If it isn't based on the Navier Stokes equations, can I actually use this to
reliably simulate fluid behavior? Or is this more useful for creating pseudo-
realistic water scenes?

~~~
daniel-levin
The main goal of mechanics is finding solutions for important variables of
interest, from which every other dynamical variable can be easily computed. In
fluid mechanics, the main objective for a given problem is finding a velocity
field (once you have this, you're done). Since the NS equations are non-linear
partial differential equations, finding exact solutions is impossible in most
cases. Some notable non-trivial exceptions exist [1]. Navier-Stokes is
extremely successful in describing flows in many real physical situations. It
is believed, but has not been experimentally confirmed, that Navier-Stokes
successfully describes turbulent flow. Most physical theories have a fairly
well known domain in which they are applicable and not applicable (Newtonian
physics breaks down at velocities near the speed of light). Currently, we
don't even know if solutions to NS always exist, never mind make physical
sense [2]. With this in mind, we have to acknowledge the uncertainty of the
correctness of NS in describing _an arbitrary flow_. It is backed by well-
grounded theory (parts of the equations can be derived from conservation laws)
and works under many different conditions. This comment landed up longer than
I expected, but my main point is that the question can we "reliably simulate
fluid behavior" for an arbitrary fluid - is largely up in the air [3].

However, we should restrict our attention to flows that we very strongly
believe are correctly described by NS. From the original paper:

>> The main problem of our method is the same as the weakness of all machine
learning approaches; the learning methods are not capable to extrapolate the
model far outside the data observed during training.

The training data are existing numerical simulations of specific fluid flows.
The learning algorithm _learned fluid flow dynamics_ from simulations. This is
extremely impressive. It also achieves a significant speed up in simulation
time - which is also very impressive. However, as the authors say, it does not
generalise well. So, in short the answer to your first question is probably
"sometimes yes, but in general not really".

edit: I should add that the simulations in the paper are decidedly based on
Navier-Stokes.

[1]
[https://en.wikipedia.org/wiki/Hagen%E2%80%93Poiseuille_flow_...](https://en.wikipedia.org/wiki/Hagen%E2%80%93Poiseuille_flow_from_the_Navier%E2%80%93Stokes_equations)

[2]
[https://en.wikipedia.org/wiki/Navier%E2%80%93Stokes_existenc...](https://en.wikipedia.org/wiki/Navier%E2%80%93Stokes_existence_and_smoothness)

[3]
[https://en.wikipedia.org/wiki/Turbulence](https://en.wikipedia.org/wiki/Turbulence)

~~~
irascible
I think they are using navies stokes to generate the dataset to learn from..
and the regression forest learns how to reproduce what navier stokes did with
a bunch of smaller timesteps, but learns to do it in a single timestep.. which
sounds amazing so I'm probably wrong

------
logicchains
This is probably a stupid question, but could an approach like this be used
for more efficient ray-tracing?

~~~
ykl
Not a stupid question at all! Not exactly the same approach, but there's been
some recent interesting research on neural net and ML driven global
illumination:

[0]
[http://www.jiapingwang.com/files/shadebot_sig13.pdf](http://www.jiapingwang.com/files/shadebot_sig13.pdf)

[1] [http://cgg.mff.cuni.cz/~jirka/papers/2014/olpm/On-
lineLearni...](http://cgg.mff.cuni.cz/~jirka/papers/2014/olpm/On-
lineLearningPPMinLTS.pdf)

------
david_ar
It would be interesting to see an analysis of the models inferred by this
method, to see what kinds of approximations they're learning.

------
tfgg
Reminds me a lot of various machine learning approaches to molecular dynamics
- basically trying to fit a cheap function to the energy landscape. I wonder
if the more classical (rather than quantum) nature of these systems makes it
more approachable?

------
lifeformed
So in my layman's understanding of this, instead of a normal physics engine,
which simulates particle movement in small timesteps, this treats the whole
system as more of statistical problem? How does machine learning factor into
this?

~~~
elcct
ML is just a must-have nowadays.

------
fenomas
Can anyone explain very roughly what's going on here? I'm familiar with
physics engines, but couldn't make heads or tails of the paper or wikipedia's
article on random forests...

~~~
amelius
Particularly, I'm wondering if this method converges to the exact solution
under all conditions (for various definitions of "converging").

------
irascible
I want to see a webgl shader implementation of this!

------
lubor
as one of the authors, I might be able to answer some of the questions raised
in this discussion

cba9 - In theory given sufficient amount of data (which can be generated), any
physics engine can be approximated by a machine learning algorithm, however it
might be tricky to make it faster than an existing solver. We got to the
conclusion NN can not beat the fastest solvers (PBF). This might change with
the newest development of the hardware.

krapht - The feature vector is based on N-S equations, so there is a potential
to approximate the solver to any precision

david_ar - We tried to analyze the model, and as for many learning approaches
it seem kinda impossible to see what is going on.

fenomas - Instead of solving diff equations, we train a regression model,
which predicts the same thing as a numerical solver.

lifeformed - any regression is a machine learning approach by definition

daniel-levin - at the time we wrote the paper, we were not sure about the
generalization properties. We didn't find any failure case either (if we did,
we would just include such simulations in the training set). However, in the
last week before the conference we tried various different forms of additional
forces to simulate sand/ash/whatever and to do so we used the model trained
only on water simulations. Surprisingly, it generalized quite well. However,
not extrapolating outside the training set has some advantages - our method is
stable and simply never diverges even if we try really hard.

irascible - after we do some optimizations (I guess it can be sped up by a
factor of 10 or so) and finish/publish all kinds of other materials (smoke,
fire, foam, elastic bodies, fractures, cloth, ..), we plan to do library, a
plugin for Unity, etc and licence it

