
Today everyone is always busy. So much is happening in personal life and in the professional environment. In the meantime, topics such as artificial intelligence are gaining momentum, and you are beginning to get into unpleasant thoughts that your skills will hopelessly become obsolete in the next two years.
After I buried my startup, Zeading , I felt this particularly acute. As if I miss something very important.
')
The fact that I am a full stack developer is no longer cool. Full stack is no longer “full” without competences in AI.It is time to act. Therefore, I decided to bring my skills in the field of development, marketing and entrepreneurship in line with modern requirements, I decided to open up to the new.
Spiros Margaris (
Spiros Margaris ), a well-known venture capitalist and a leader in AI and financial technology, very vividly expressed to me his vision of the situation:
“When startups and companies everywhere rely on the latest algorithms in the field of AI and machine learning, this will not be enough. AI will no longer be a competitive advantage and will become the norm. It is unlikely that you heard someone boast of using electricity. ”
Creating your first neural network

I was often advised to sign up for the
Andrew Ng course on the Coursera course . This is a great place to start somewhere, but I found it difficult for me to concentrate on the subject for a long time. Not that the course was bad or something like that, it was just that in principle it was always difficult for me to remain attentive at lectures. My personal training method was always based on practice, and I thought: “Damn, why not, why not make your own neural network?”.
I did not immediately rush to the attempts to create a neural network, but decided to learn first all the same. I tried to familiarize myself with the main concepts in this area in order to master the terminology.
Being immersed in Javascript and Nodejs before, I still held on to them. Therefore, I found a simple neural network module called “nn” and used it to implement the AND gate with primitive input data.
Encouraged by the example , I set the task: for any three introductory X, Y and Z - the output of X AND Y.
var nn = require('nn') var opts = { layers: [ 4 ], iterations: 300000, errorThresh: 0.0000005, activation: 'logistic', learningRate: 0.4, momentum: 0.5, log: 100 } var net = nn(opts) net.train([ { input: [ 0,0,1 ], output: [ 0 ] }, { input: [ 0,1,1 ], output: [ 0 ] }, { input: [ 1,0,1 ], output: [ 0 ] }, { input: [ 0,1,0 ], output: [ 0 ] }, { input: [ 1,0,0 ], output: [ 0 ] }, { input: [ 1,1,1 ], output: [ 1 ] }, { input: [ 0,0,0 ], output: [ 0 ] } ])
What a blessing!
In my opinion, this most affected my confidence in success. When the output turned out to be 0.9971, I realized that the network had been trained in AND operations and independently ignore additional input data.
This is the essence of machine learning. You set the computer program data, and it fits them to the internal parameters in such a way as to be able to give an answer on the new data, reducing the likelihood of error compared with the original data.
This method, as I later found out, is called
gradient descent .

Mentally tuning in to AI

After believing in my own strength after creating my first AI program, I was eager to find out what else I can do with machine learning as a developer.
- I solved a couple of “learning with the teacher” tasks, for example, in regression and classification .
- I used a limited set of data when trying to predict which team would win an IPL match using a multivariate linear regression (predictions were worthless, but it was fun).
- I played with the demo on the Google Machine Learning cloud (https://cloud.google.com/products/machine-learning/) to familiarize myself with the overall capabilities of AI today (it's great that Google uses the SaaS model there).
- I came across an AI Playbook , which is an excellent resource, organized by the respected venture fund Andreessen-Horowitz. In fact, one of the most useful resources for developers and entrepreneurs.

- I subscribed to the wonderful Siraj Raval Youtube channel (Siraj Rawal), which is dedicated to depth and machine learning.
- I read the excellent post on Hacker Noon about how the producers of "Silicon Valley" created the very application - "Not Hotdog". In my opinion, this is a very vivid example of what deep learning is capable of.
- I also read the blog of Andrei Karpaty ( Andrej Karpathy ), who is the director of the AI ​​department at Tesla. And although I didn’t really understand anything there, from there I carried out, in addition to a headache, the idea that, with due diligence, concepts began to take on practical meaning.
- Giving up courage, I began to use some educational materials on in-depth training, trying to customize the model and execute the code on my computer. In most cases, nothing worked because of the large amount of time it took for the models to train, and besides, I did not have a GPU.
Gradually, I switched from using Javascript to Python and installed
Tensorflow on my Windows computer.In general, all this activity consisted in the passive consumption of material for building in mind the general scheme, to which I could later return when the time comes to solve specific tasks.
As Steve Jobs said: "you can connect the dots only by looking back."
Have time to drop on the chatbots train

Being a big fan of the film “She” (“Her”), I always wanted to create chatbots. After trying, I was able to create one using Tensorflow in less than a couple of hours. I described this experience and its commercial perspectives in one of my articles a few days ago.
So well it happened that the article "shot" and was noted in
TechInAsia ,
CodeMentor and
KDNuggets . For me personally, it was a solemn event, because I just started a blog on technical topics. I think that article became a guide for me on the path to AI.
I made friends with many people on Twitter and Linkedin, with whom we can discuss the development of AI “both in breadth and in depth,” and who can help me if I'm stuck on something. I made several offers to participate in consulting projects, and, most pleasantly, young developers and newcomers in the field of AI began to contact me with a question, where I began my search in this direction. This was the reason for writing this article - the desire to tell those who are interested in this issue where to start and motivate them to further independent study of this topic.
Start moving is the most important (most difficult) part of the journey.
Salt and pepper

For me it was not easy. When I started to get stuck with Javascript, I plunged into Python and almost overnight figured out how to parse these tasks on it. It annoyed me when my models didn’t run on my i7-car or when after many hours of training they gave out vague results like 50% probability of winning a team in a cricket match. Learning AI is not like learning a web framework.
This skill requires attention to what is happening at the microscopic level of computation and determining the degree of responsibility for the result of both your code and your data.
In addition, AI is not a one-sided phenomenon. This is a broad concept used from solving simple regression problems to creating killer robots that will ever finish us. As in any other field where you go deep into research, you can choose the aspects of AI that you like most and specialize in them, whether it is machine vision or natural language processing or, God forbid, world domination.
Gaurav Sharma, Honored Leader in AI, financial technology and encryption, shared his thoughts with me on this topic:
“In the era of artificial intelligence,“ being smart ”would mean something completely different. We need people to be able to think critically, creatively and perform work that requires strong moral involvement. ”
You should be impressed that computers can suddenly learn to do things on their own. Patience and admiration - these are two basic principles that you need to adhere to.
It is a long, long way. Very exhausting, very annoying and absorbing the abyss of time.
But it is encouraging that any journey has already begun, if the first step has been taken.
EDISON Software is professionally engaged in the development of accounting systems for enterprises, for example, the
accounting of production and sales of typographic products and the
accounting of pool visits .
Read more: