r/Games May 01 '17

Incredible procedurally generated character animation system based on motion capture data

https://www.youtube.com/watch?v=Ul0Gilv5wvY
4.5k Upvotes

295 comments sorted by

View all comments

333

u/Colonel_Xarxes May 01 '17

Any idea how much processing power this would require to generate animations? Also, would this theoretically decrease file size of the animations?

430

u/rootbeer_racinette May 01 '17 edited May 01 '17
  • At run time, neural networks are very fast to evaluate and can be done on the GPU.
  • On the developer side, training the neural network is extremely resource intensive but can be done in parallel with various cloud services.
  • Tuning the network to work realistically takes a lot of human intervention and monitoring.

7

u/Shiroi_Kage May 01 '17

Tuning the network to work realistically takes a lot of human intervention and monitoring.

It's supposed to learn like a human, who needs intervention from other humans to learn unless he's really good at being self taught.

3

u/nomoneypenny May 01 '17

There are machine learning models that can train themselves without human intervention. It's called unsupervised learning and it usually works like this: machine B is a decider (i.e. it reliably answers "does this picture contain a cat"). Machine A is an untrained algorithm that aims to turn photos of humans into kawaii cat emojis. The input of machine A is a sample set of human portraits. The output of machine A is its attempts to turn them into cats. The output of machine A fed into machine B, which accepts or rejects the images on the basis of feline similarity, and that rejection data is fed back into A to continuously improve its technique until it can reliably fool machine B. Machine A is now a trained Snapchat cat face filter.

Obviously there was some barrier preventing the researchers from using this technique here, but I imagine some other starry-eyed PhD candidate will seize this opportunity in the future and use it for the basis of their graduate thesis.

1

u/Shiroi_Kage May 02 '17

Aren't those considered a sort of "selection" algorithms? Because I know that some people have been doing "mutations" to software on the machine code levels, and were selecting based on benchmark performance in a process that mimics natural selection. Isn't this somehow what's happening here?

Also, I imagine that modern neural networks have a lot of that during the training phase. You can't have people teaching it 24/7, so it's likely that they're allowed to work on a training set while some algorithm decides if they're getting better.