Logo Design e machine Learning
Se vuoi leggere l'articolo in italiano, ecco il link a cui accedere.
The project we are presenting is the result of our curiosity.
We hear more and more often about AI and Machine Learning, about machines are increasingly taking hold in our daily lives.
So we decided to try machine learning, but in an area closer to us: logo design.
What will a computer do? What logos will it create? What suggestions can we take? Are there any lessons we can learn from a cold circuit and its obscure calculations?
Follow us and find out!
First things first: what is machine learning?
Quoting Wikipedia, we read that it is a “branch of artificial intelligence” with which we exploit the computing power of one or more machines to create a predictive output.
More simply, we give data to the machine (more or less clean) and teach it, iteration after iteration, to improve its prediction.
As happens with deepfake: let's take a model (face A) on which we want to place a new face (Face B). We then take a cluster of faces of model B and have them processed by the machine, so that it can predict, with increasing precision depending on the available computing power, the various expressions of B. Once the model is ready, we put it on our face A and we enjoy the result.
In general, it seems simple ... but apart from the correct software, we must have considerable computing power. Better models need a very large batch: we can imagine the batch as space where the algorithm moves to process our starting data. The bigger it is, the better the calculation moves and the more precise the result will be. But the bigger it is, the more it weighs in terms of resources. We are talking about days (if not weeks) of continuous calculations on machines with more than one GPU installed, just to understand ...
Having a rough idea of how Machine Learning works, let's go deeper into our experiment.
What we want to do is allow the machine to create a logo. A new logo, an "artificial" logo design, let's say. But how can we combine Machine learning and Logo Design?
We need three things:
- a computing platform
- a code with which to run the model
- and many, many logos to feed the machine to allow it to understand what we mean by "logo".
Let's do it!
THE PLATFORM
We used Runway. We took advantage of the free beta license and then purchased around $ 50 worth of credits to continue with the iterations. The basic version allows doing only a first training at 3.000 iterations. To give you an order of magnitude, speaking about deepfake, "good" models are around 100.000 iterations ...
Thanks to these credits, we were able to push the system to around 17.000 iterations.
CODE
We took advantage of a pre-existing code that is based on Nvidia's famous STYLEGAN. Essentially the code creates something "new" from a data pool. We are not developers and therefore we based on the results of the code on other models and it seemed to us the most correct for our operation.
LOGOS
What logos would we feed to the system? In order to run properly, the system requires a minimum of 500 starting data up to a maximum of 5000. Our research has gone up to 1700. We have collected seventeen hundred of the most famous existing logos in the world. They are all low-res logos (for obvious reasons of availability), but it is ok. The result should not be "in high resolution". It just has to look like a "logo".
You could argue that it was not a very correct choice in terms of method: we should have done cleaning of this data. How does the machine understand that all those "signs" are called logos? They are all different: there are round ones, with geometric shapes, only lettering, in color, in black and white ...
Putting them all together isn't a 100% accurate operation, but is an intrinsic limitation of our working method.
In fact, making an initial sorting would have created two classes of problems:
- Segmenting the logos according to parameters such as shape, color or other would have drastically reduced our data pool, making it impossible to elaborate a model.
- We would have given the machine an arbitrary first classification of what a logo is or is not. And this is a significant forcing in terms of method. All the logos that we have included in the model are "logos". All of them. The fact that they are round, square, colored, black and white, vertical, with or without payoff does not imply that they are NOT logos. Classifying them according to some visual parameters would have only affected our intent. We wanted the machine to return its "logo idea" after seeing so many.
Here you can see a screen of a part of the logos we used.
THE FIRST ITERATIONS
Up to 3.000 iterations, the results are too spurious, too difficult to interpret and therefore useless for the purpose.
The first "graphic-view" of the 3000 iteration model and a video that the platform produces in order to give an idea of the ML process.
UP TO 10K ITERATIONS
The situation has certainly improved and we can recognize something that looks like a logo
UP TO 20K ITERATIONS
This is our technical limit. We have no other funds to continue. It would take around $ 500 of working hours on the platform to bring the FID down to good levels.
We can read FID as a deviation from the starting pool: the higher it is, the worse it is. To simplify: the system is telling us what its degree of error is. “I'm 200% wrong”, “110% wrong”, “97% wrong” ... and so on
It would be great to reach 20/10%, but it really takes many hours/days of calculation. And we stuck at 90.35
THE FINAL RESULT
We launch the model and we finally have an output: the machine spits a logo! (or a sort of...) Here four of the best examples we had. Again, each model launch has a cost ... so we tried to reduce the launches to a minimum.
From these four outputs, we can guess what, according to the MACHINE, is a logo.
we can understand which elements for the machine make a logo, a logo.
We are able to identify two elements:
- Script (or lettering)
- Sign / Iconography
According to this initial study, the machine considers "logo" something that is defined by these two morphological characteristics.
CONCLUSIONS
The conclusions on the "machine learning and logo design" issue that we have tried to address are certainly not revolutionary, but they allow us to take a small step towards the machine and our mutual relationship. Will they replace us with algorithms even when it comes to logo design? Where is the creative "space"?
We began to probe a really interesting topic and when asked "what is a logo?", The machine replied:
"It is a set of colors that has two distinct peers. One I think is an image, the other I believe is an inscription ".
(We paraphrased to make it warmer)
But do we agree with this conclusion?
In part, of course. The logo may have the presence of these two elements as a connotation. But they are not fundamental, by definition they do not make it a logo.
The logo, as we know, is quite different and follows paths of creations that do not necessarily include emulation (as in the case of the machine).
When we create a logo it is possible to draw inspiration from other logos, created by the giants before us, but we never exhaust our task here. We look at stories, at colors, at phrases spoken by mistake in a presentation. We look at dreams, desires.
When we create a logo we try to respect graphic lines that allow everyone to recognize it as such (hence sign / lettering, logo / naming), but we cannot stop at that. We must look for a concept that elevates these structural elements to allow our work to stand out in the sea of other works that are all the same.
BONUS TRACK
The task for us is not over with the conclusions and we have tried to take the next step that the machine has not taken and, we believe, cannot do yet. We therefore tried to "close" one of the logos suggested by Machine Learning to see how to create a real logo starting, however, from a virtual, artificial input.
And here's what the machine suggested and what we designed.
Do any of you need a logo that speaks about eco-sustainability and... data? ;)
I want to thanks also Alberto Santamato for his precious advice about ML.
Thanks for your attention!