I wasn't sure how to title this question so pardon me please.

You may have seen at least one video of those "INSANE A.I created simulation of {X} doing {Y & Z} like the following ones:

A.I learns how to play Mario A.I swaps faces of {insert celebrity} in this video after 16hrs. etc...

I want to know what I have to learn to be able to create for example a program that takes xyz-K images of a person as training data and changes it with another person's face in a video.

Or create a program that on a basic level creates a simulation of 2 objects orbiting /attracting each other /colliding like this: enter image description here

What field/topic is that? I suspect deep learning but I'm not sure. I'm currently learning machine learning with Python.

I'm struggling because linear regression & finances /stock value prediction is really not interesting compared to teaching objects in games to do archive something or create a program that tries to read characters from images.


1 Answer 1


You need to define "simulation" more specific. Playing Mario, Swapping face on image/video, or generating simulation of objects that are orbiting use different techniques.

  • Playing Mario or "AI that playing game": the AI agent trained on available environment (Mario game, so the environment is not generated) and learn the best sequential actions to achieve the goal. It runs the game thousand times, when it did a wrong action then it gets "penalties" that improve its knowledge. The algorithm that can be used is Reinforcement Learning, but some earlier paper use Genetic Algorithm to generate the best action

  • Face swap: It's close to computer vision area, some methods that I know use Style Transfer principle (Convolutional Neural Network) to make transformation of face of one image to another image. You can read the basic of style transfer here.

  • Generating physical movement: I don't know too much about this topic but I know there are some papers talk about this, Fluid Net from Google workers and this paper from TU Munchen. At a glance they also use CNN to improve the result but the main simulation came from Euler Fluid Equation. So if you need to generate object that orbiting, I think you need to find equations that models that movement.

Hope it helps!


You must log in to answer this question.