Deep Learning is a popular topic nowadays. To put it simple, this is a usage of deep neural network on cases that usual compuer logic is not able to handle. Neural networks take their origin in 50s of XX century; New York times warned that robots were about to fly to the moon. However, the next big stage of growth happened only in 2000s, when computer power grew enough to teach large networks – this is a very complicated process, which handles billions of math operations.
Mode of funcitoning of neural network is similar to how human brain works. It is able to learn and you can teach it anything.
Even these days learning on a powerful machine will take quite a long time because CPU is not intended for such kind of operation. At the same time, video card does it perfectly well. Compared to amount from 2 to 8 cores in CPU, video card has 1980 and more.
We’ve decided to use advantages that progress gives and have some fun with neural networks ourselves. We’ve bought a great video card, read some lectures, picked up formulas and started it.
The first network learnt to differ iphone, ipad and samsung galaxy by photos. We gave it lots of device photos made from different angles and now it is able to recognize the object even if we give it a new photo, which it has never seen.
On hero image you can see how it defines Samsung, says this is it with 99% probability.
It would take quite a long to explain in detail how it works but just to imagine how complicated it is: from one image the neural network takes more than 60 mln parameters for each of dozens of layers.
The second try was to make it recognize Oleg from Viktor. We had only few photos so result is not that accurate, however it is able to tell that this is a human on the image.