Dear Fellow Scholars, this is Two Minute Papers with Dr. Károly Zsolnai-Fehér.
Today is going to be all about simulating evolution
on our computers. This can build virtual cars, virtual creatures, even paint the Mona Lisa!
These all sound amazing, but, evolution on a computer? How?
A few years ago, a really fun online app surfaced that used a genetic algorithm to evolve the
morphology of a simple 2D car with the goal of having it roll as far away from a starting point
as possible. A genetic algorithm? What is that? Well, it is a super simple technique
where we start out from a set of random solutions, and likely find out that none of them really work
well. However, we start combining and mutating, or in other words, changing small parts of this
solution, until, oh yes! Something starts to move. Now as soon at least one wheel is placed
correctly, the algorithm will recognize that this one rolled so much further,
and keep the genes of this solution in the pool to breed new, similar solutions from it.
A similar concept can also be used to design the optimal morphology of a virtual creature
to make it skip forward faster. And, look! That is so cool - over time,
the technique learns to more efficiently navigate a flat terrain by redesigning its legs
that are now reminiscent of small springs and uses them to skip its way forward.
And here comes something even cooler - if we change the terrain, the design of an effective
agent also changes accordingly, and the super interesting part here is that it came up with
an asymmetric design that is able to climb stairs and travel uphill efficiently. Loving it!
And, in this new paper, scientists at Google Brain tried to turbocharge an evolutionary algorithm
to be able to take a bunch of transparent triangles, and get it to reorganize them so they
will paint the Mona Lisa for us. Or any image in particular. The technique they are using is called
evolution strategies, and they say that it is much faster at this than previous techniques.
Well, I will believe it when I see it. Hold on to your papers, and let’s see together.
Here is a basic evolutionary algorithm after 10 thousand steps. Well, it is getting there, but
it’s not that great. And, let’s see how well their new method does with the same amount of steps.
Wow. My goodness! That is so much better. In fact, their 10 thousand steps is close to equivalent
to half a million steps with a previous algorithm.
And we are not done yet. Not even close. This paper has two more amazing surprises. Surprise
number one. We can even combine it with OpenAI’s technique called CLIP, this learns about pairs
of images and their captions describing these images, which is an important part of DALL-E 2,
their amazing image generator AI. This could take completely outlandish concepts
and create beautiful, photorealistic images out of it that are often as good as we would expect
from a good human artist. Scholars holding on to their papers, a cyberfrog, you name it.
So, get this, similarly to that, we can now even write a piece of text, and the evolutionary
triangle builder will try to create an image that fits this text description. With that,
we can request a triangle version of a self-portrait, a human, and look at how similar
they are. Food for thought! But it can also try to draw Walt Disney World, that is remarkable. Look
at how beautifully it boils it down to its essence with as few as 200, or even just 25 triangles.
Loving it. Also, drawing the Google headquarters? No problem at all.
And here comes surprise number two. The authors claim that it is
even faster than a differentiable renderer. These are really powerful optimization techniques
that can even grow this beautiful statue out of nothing. And do all that in just a few steps. So,
claiming that it is even faster than that? Well, that is very ambitious.
Let’s have a look. And…oh yes, as expected the differentiable technique creates a beautiful image
very quickly. Now, try to beat that! Wow…the new method converges to the final image even quicker.
That speed is simply stunning. Interestingly, they also have different styles. The differentiable
renderer introduces textures that are not present in the original image, while the new
technique uses large triangles to create a smooth approximation of the background and the hair, and
uses smaller ones to get a better approximation of the intricate details of the face. Loving it.
Now, let’s ramp up the challenge, and test these a little more and add some prompts. And,
oh yes, this is why the differentiable technique flounders on the prompts. Look.
It almost seems to try to do everything all at once. While, the new technique
starts out from a fair approximation, and converges to a great solution super quickly.
I hope that this new take on evolution strategies will be plugged in to applications
where differentiable techniques do well, and perhaps do even better. That would be
absolutely amazing because these are a treasure trove of science-fiction like applications.
For instance, we would be able to almost instantly solve this billiard
game, where we would like to hit the white ball with just the right amount of force
and from the right direction, such that the blue ball ends up close to the black spot. Or,
simulate ink with a checkerboard pattern, and exert just the appropriate forces so that it
forms exactly the Yin-Yang symbol shortly after. Or, here comes a previous, science-fiction like
example. This previous differentiable technique adds carefully crafted ripples to the water,
to make sure that it ends up in a state that distorts the image of the squirrel in a way that
a powerful and well-known neural network sees it not as a squirrel, but as a goldfish. Wow.
And, if this new evolutionary technique could do all of these tasks,
but better and faster? Sign me up right now. What a time to be alive!
Thanks for watching and for your generous support, and I'll see you next time!