DEEP LEARNING
FOR PROGRAMMERS

Learn how to use software development experience to become a deep learning superstar!

  • Why should you care about deep learning?
  • Learn just enough math to be dangerous.
  • Get familiar with Python and TensorFlow
  • Use familiar paradigms like Object Oriented Programming to understand the main Deep Learning concepts
  • Explore and implement 12 neural network architectures
  • Solve various real-world problems with neural networks
  • Learn how to generate images with neural networks

*By purchasing you agree to the Terms & Conditions

About The Book

I can remember that exact spark of jealousy and flush of FOMO that got me into the field of deep learning. It happened while I was first watching the video that combines Space Odyssey and Picasso’s painting style. Kubrick’s masterpiece mashed together with cubism. Brilliant! Amazing! Creative! And then, there was me. Another software developer in the endless sea of software developers, learning yet another JavaScript framework. Don’t get me wrong, that is cool and creative as well, but hack, it was not Kubrick/Picasso mashup created with math, neural networks and software. That is what I wanted to do! 
I was younger and more arrogant, and decided that I would learn everything about the topic in about a month. Just one more framework, how hard can it be, right? Little did I know… 
As it turned out, Deep Learning was not just another language or programming principle. I had to really buckle up. During this process I took notes, writing down my struggles and then some more. That is how my personal Deep Learning journal was created and, eventually, Deep Learning for Programmers book. In this book, I’ve tried to explain the most important topics for deep learning and data science in general, using software development perspective. Some of the concepts are implemented using Object Oriented approach just so the people with such background can have a deeper understanding of the mentioned concepts. This was a practice I personally have found to be extremely useful. Apart from that, I focused on major mathematical and data analysis topics that should be understood if you aim to do this for a living. In this book you will learn how to use Python for the data science purposes. Also, practical examples and some of the most popular datasets were used to cover various architectures of neural networks.

As it turned out, Deep Learning was not just another language or programming principle. I had to really buckle up. During this process I took notes, writing down my struggles and then some more. That is how my personal Deep Learning journal was created and, eventually, Deep Learning for Programmers book.

What’s inside

^

Python and TensorFlow

^

Convolutional Neural Networks

^

Transformer Architecture

^

Autoencoders & Restricted Boltzmann Machine

^

Classification & Regression

^

Recurrent Neural Networks & LSTM

^

Self-Organizing Maps

^

Generative Adversarial Networks

Why should you study and explore Deep Learning?

Machine learning, deep learning and artificial intelligence are quite the buzzwords these days, aren’t they? Wherever you go, we are bombarded with these topics. Even mass media these topics and gave them their own “doomsday” scenarios. In fact, a number of people think that this pursuit of artificial intelligence will have rater hellish outcomes, but we – the people in the field – beg to differ. We are here today to break the taboos and stigmas that cast a shadow over this field.
So, what is the motivation behind it? The most convincing argument is that all these fields are crossing the chasm. Bridging the gap. We are out of the early adopters stage and more and more people find proper practical applications for these technologies. It is important to notice that we are finding an increasing number of practical use cases and applications for them. Also, we are trimming the areas in which, evidently, these solutions are not going to be useful. Keep in mind that Early Majority occupies ~13% of the market, which is crucial. In short, these are no longer obscure sciences and you can create your machine learning models or neural networks on your home computer and solve real-world scenarios with them.

The other reason why you should consider machine learning, deep learning and AI in general is the fact that we are getting more data than ever. We as humans are not able to process that data and make sense of it, but these solutions can. Statistics say that from the beginning of time, up until 2005 humans produced 130 exabytes of data. Exabyte is a real word by the way, I’ve checked. That is 10^18 bytes. Basically, if you scale up from terabyte, you get petabyte and when you scale from petabyte, you get – exabyte. To visualize that, if we cut down every tree in the Amazon forest (of course, I am not saying we should, I am just trying to prove a point… poorly?) and make paper out of it, and fill all those endless pages with some kind of information, we would create one exabyte of data. This means that from the beginning of time up until 2005 humans created 130 Amazons of data. However, from that moment up until 2010, we had produced 1200 exabytes of data, and until 2015 we generated 7900. Predictions for the future are telling us that there will be only more of data and that by 2025, we will have 193 zetabytes (one magnitude over mentioned exabyte) of data. From my point of view, these are the reasons encouraging enough to learn these skills, because we are constantly generating data. It is no wonder that we have more and more practical use of it.


Another thing that I find intriguing is that ideas behind machine learning, deep learning and AI span way back into the past. You can observe the complete field as this weird steampunk science, because techniques we use today are based on some “ancient” knowledge. The idea of a learning machine can be traced back to the 1950s, to Turing’s Learning Machine and Frank Rosenblatt’s Perceptron. We will go into detail of the whole history of the field a bit later, but for now let’s say that we have a lot of knowledge acquired. Or to be more exact, we have fifty years of knowledge accumulated.

Did you know that the first neural network was commercially used back in 1959 and that is still in use today? Neither had I. That was neural network MADELINE. It is still used to remove noise on the landline. With all these examples we may ask the question: “Why have these branches of engineering not taken up earlier?” Well, as you will see, training machine learning models and neural networks takes a lot of resources. Hardware back then simply didn’t have enough processing power. Because of this, instead of taking the “artificial learning” approach, we took the computing approach. However, things are different nowadays, with our nano processors and powerful GPUs and TPUs.

To sum it up, in this moment we have a lot of knowledge that we can apply to data and we have the processing power to actually make it happen. This might be crucial to understand, that we are at the tipping point of history when we can make it or break it. It is our responsibility to use those tools to make practical applications that will make the world a better place and prove those doomsday predictions that the media loves so much.Wrong. It is up to us. That fact is scary and wonderful at the same time, but we must go onwards. To quote Stan Lee: “Excelsior!”. Let’s change the world!

© 2019 Rubik’s Code

41    Chapters

12    Architectures

253  Pages

Throughout this book you will have a chance to find out why you should care about this field at all, and where it comes from. Also, you will be able to learn just enough math and machine learning basics to make you dangerous and ready for the vast universe of neural networks. Then, after the nitty-gritty details about how these systems function, you will get familiar with various architectures and problems that they are able to solve. From simple classification and regression problems to processing images and language (NLP). From means to create recommendations and fraud detection systems to the generators of images. In a nutshell, we aimed to create a concrete starting point for software developers that want to get into the field.

Testimonials

Nikola Živković has proven to be an expert on this topic. His pragmatic approach can be used by any software developer that is eager to understand what deep learning is all about. After reading this book, I don't fear that I'm missing out. Professionals who read this book will quickly understand how to apply their existing codding skills on this subject.

Boban Mikšin, CTO at Vega IT Sourcing

Deep Learning for developers is THE book for Deep Learning. Nikola succeeds to give you the essential theory behind mathematics, statistics, programming and then makes it even better with real-world examples in C# and Python. Nikola makes math, statistics and especially Deep learning great again, as they should be.

Manja Bogićević, CAIO at Kageera

This book is a pedagogical introduction to the concepts of deep learning that captures both the basics of machine learning as well as some very advanced topics, like transformers and GAN. Inspiring and encouraging voice of the author guides the reader from the underlying statistics and algebra basics to the cutting-edge applications and recent developments. Many interesting examples are illustrated with code and worked out in detail in a clear and friendly manner, which provides the aspiring data scientist or the AI researcher with all the necessary tools to dive into this wonderful and exciting subject in only 250 pages. I would recommend this book not only to the beginners, but also to the AI practitioners as an amazing overview of this conceptually rich and expanding field.

Luka Nenadovic, PhD. Theoretical Physicist and AI Researcher at Kagi.ai

One of the most comprehensive book in the field of machine and deep learning on the market. All essentials from the math, statistics, programming, machine, and deep learning Nikola covered with such ease and professionalism. No matter if you have a technical or business background, you will definitely find it useful in your journey to becoming a top Data Scientist.

Nikola Basta, CMLO at Kageera

This book is an excellent way to start learning Deep Learning, but it's also a fruitful "tool " for more experienced engineers who are already in Data Science/AI world.

Jovan Stojanović, Founder of Wonderland AI

About the author.

Nikola Živković is a software developer with over 10 years of experience in the industry. He’s earned a Master’s degree in Computer Science from the University of Novi Sad in 2011, but by then he had already been working for several companies. During the time span in the industry, he has worked on large enterprise systems, as well as on small web projects. 

In the past couple of years he has been specializing in Data Science (Machine Learning and Deep Learning to be precise) and his goal is to unite this knowledge together with some best traditional programming practices. 

He is also experienced as a speaker and author, talking at meet-ups and conferences, and as a guest lecturer at the University of Novi Sad. You can find his online courses on Pack Publishing and Educative.