📜 ⬆️ ⬇️

[Translation] How I learned to program AI for the last two months

image

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


image

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 ] } ]) // send it a new input to see its trained output var output = net.send([ 1,1,0]) console.log(output); //0.9971279763719718 

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 .

image

Mentally tuning in to AI


image

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.


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


image

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


image

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:

Source: https://habr.com/ru/post/339760/


All Articles