Machine Learning, Kolmogorov Complexity, and Squishy Bunnies (2019)
theorangeduck.com
theorangeduck.com
Edited: See (1)for some related ideas: A Safe Approximation for Kolmogorov Complexity
(1) https://link.springer.com/chapter/10.1007/978-3-319-11662-4_...
The "common wisdom" of "too many parameters will make you overfit" is most definitely not that important for the way modern NN training works.
This is studied in so-called algorithmic rate-distortion theory:
Rooij, S. de, & Vitanyi, P. (2012). Approximating Rate-Distortion Graphs of Individual Data: Experiments in Lossy Compression and Denoising. IEEE Transactions on Computers, 61(3), 395–407. https://doi.org/10.1109/TC.2011.25
Vereshchagin, N., & Vitányi, P. (2006). On Algorithmic Rate-Distortion Function. Information Theory, 2006 IEEE International Symposium On, 798–802.
That quote is in reference to tasks such as physics simulation. There is an incredible GIF in the OP which shows a digital mannequin being manipulated, with its dress flowing in a hyper-realistic manner due to ML physics simulation. It would be uncanny to see that type of simulation combined with AR.
I'm curious to what extent ML physics simulation may be beneficial for self-driving cars. Generally, we as drivers know the physical properties of objects that we can collide with. Cars don't have that understanding, so they might "think" that colliding with a large paper bag is unacceptable. Stopping suddenly because of that paper bag may be fatal.
I know some papers that try to improve physics simulations with deep learning and I think it’s definitely possible, not sure though if it can really improve most physics-based simulations.
Physical models are already highly condensed and have the advantage of being interpretable, deep learning has a long way to go before it could be used as a replacement, IMO.
To achieve a 300-500 speedup of this seems impossible because for a single grid point we only do a few numerical operations to update it, so it's hard to see how one could reduce that much further as even an ML-based model will need to update each grid point to maintain the level of detail.
I think there are definitely other areas where ML can speed up things, but IMO cloth simulation is just a really bad example because it's a problem that can be solved using a nearest-neighbors approach with rather simple equations. Problems where you have non-local interactions or more complex dynamics might profit more from ML, but most physics problems can be solved faster with much simpler approaches, I think.
Once you buy into the concept that your simulation can be represented by a very limited number of parameters it's not hard to suggest that this small state vector can be mutated from state to state using ML.
The issue with this technique is PCA not ML.
I can certainly see this technique being used in place of some existing simulation or animation based secondary motion in video games.
Note that adding up the contributions of 256 basis vectors might be more expensive than a per vertex cloth simulation.
I am experienced in these areas and have done grad computational physics and work on game engines for a living.
It walks side-by-side with compression (and pigeon problems). Using Kolmogorov to improve ML in those physical examples means that the solution will be better to the specific case, not that there'll come a one-in-all solution to any kind of clothes animation.
If you have N+1 things and N pigeonholes to put them in, at least one pigeonhole must have more than 1 thing!
More generally, the fraction of strings of length n that can be compressed by k or more bits is less than 2^{-k}.
I don't know enough to say how accurate Hutter's explanation is but it made sense to me.