It's amazing how quickly new buzzwords appear and become the new norm after a while. Deepfake is the latest buzzword and quickly is starting to cause a stir in the online communities. Let's have a look at what Deepfake is, why it exists, and its quick rise to popularity.
Have you ever seen a video on YouTube by Actor/impressionist Jim Meskimen? In this video Jim Meskimen recites the poem "Pity the Poor Impressionist" in 20 celebrity voices and whilst doing so, his face changes to the celebrity he is currently impersonating.
No, this is not magic.
If you have a good look, you will notice that, although pretty accurate, the faces are relatively easy to spot as being fake.
The word Deepfake is a combination of "Deep Learning" and "Fake." Deepfakes are used to replace a person in an existing image or video with someone else's likeness by using artificial neural networks. Even sounds such as voices can be trained to sound like a particular person.
Now how does Deepfake work?
Deepfakes superimpose and combine existing media onto source media with the help of machine learning techniques such as generative adversarial networks (GANs) and autoencoders.
A Deep Neural Network (DNN) is an artificial neural network that has multiple hidden layers between the input and output layers. Deep Neural Networks model complex, non-linear relationships. Deep Neural Networks are usually feedforward networks in which data flows from the input layer to the output layer without looping back.
According to Wikipedia, game theory is the study of mathematical models of strategic interaction among rational decision-makers. It can be applied to all fields of social science, as well as in logic, systems science, and computer science.
Generative Adversarial Networks
In a GAN (Generative Adversarial Network), two neural networks contest with each other in a "game." When given a training set, GAN learns to generate new data with the same statistics as the training set. This means that a GAN trained on photographs can generate new photographs that look almost authentic to humans and have various realistic characteristics.
Artificial Neural Network
An artificial neural network (ANN) is an interconnected group of nodes, similar to the vast network of neurons in a human brain. Neural networks consist of multiple layers and the signal path traverses from the first (input), to the last (output) layer of neural units.
Layers are made up of a number of interconnected nodes which contain a sigmoid (activation function). Information is presented to the neural network via an input layer that communicates to one or more hidden layers. The actual processing in hidden layers is done with the use of weighted connections. The hidden layers then link to an output layer.
Single-layer Neural Networks
A single-layer neural network is a network in which the output unit is independent of the other layers—each weight effects only one output.
Multi-layer Neural Networks
A multi-layer network is a feedforward artificial neural network model that maps sets of input data onto a set of appropriate outputs.
Some more Deepfake video and audio examples can be found here.
In this article, I have explained the technical details behind the Deepfake technology. Hopefully, in a follow-up article I can explain some tools for Deepfake creation.