Brief comment: Artificial intelligence is the most important skill of the 21st century. In today’s busy world, how to add the skill point of artificial intelligence? The author tells us with his own personal experience.

When I closed my startup, Zeading, I woke up to this failure and felt hollow, as if something very special had been lost.

Full stack engineers are not enough in times of upheaval. In the next two years, a full stack without AI will no longer be a full stack.

It’s time to take action. I made the only move I felt I could make right now — updating my skills as a developer, approaching data with the mindset of a product manager and the philosophy of an entrepreneur.

As Spiros Margaris, a noted venture capitalist and thought leader in AI and fintech, ambitiously put it to me:

If startups and businesses only rely on cutting-edge AI and machine learning algorithms to compete — that’s not enough. AI will not be a competitive advantage, but a fundamental need. Have you ever heard of people using electricity as a competitive advantage?

Build my first neural network

The general advice is to register Andrew Ng on Coursera. It’s a great site but I find it hard to stay focused for long periods of time while watching the course. Not that the course was bad, but IT was really hard for me to concentrate during the lecture. My personal learning model has always been practice, so I thought why not just implement my own neural network.

I didn’t jump to neural networks because it’s a higher learning mode. I familiarized myself with all the concepts of the field so THAT I could learn to talk about it in technical terms.

The first task is not study. It’s about getting familiar.

My background is pure JavaScript and NodeJs and I don’t want to switch to anything else for now. I searched for a simple neural network module called NN AND used it to implement an AND gate through analog input. For this tutorial, I chose this problem: for any input X, Y, Z, the output is X AND Y.

var nn = require('nn') var opts = {layers: [4], Iterations: 300000, errorThresh: 0.0000005, activation:'logistic',
    learningRate: 0.4,
    momentum: 0.5,
    logTrain ([{input: [0,0,1], output: [0]}, {input: [0,1,1], output: [0]}, {input: [1, 1], the output: [0]}, {input: (0, 0), the output: [0]}, {input: [0, 1], the output: [0]}, {input:,1,1 [1], the output: [1]}, {input: [0, 0], the output: [0]}]) // send it a new input to see its output var output = net.send([1,1,0]) console.log(output); / / 0.9971279763719718Copy the code

Happiness comes so fast!

When the result was 0.9971, I realized that the neural network had learned how to do an AND operation AND ignore the additional input. The result was a huge boost to my confidence.

That’s the main tenet of machine learning. You give a computer program a data set, adjust the internal parameters, and it is able to draw a narrowing conclusion from a new data set by looking at the original data.

This method, AS I later learned, is also known as gradient descent.

Add artificial intelligence knowledge

As I gained confidence from my first AI program, I couldn’t wait to learn more about what I could do with machine learning as a developer.

  • I solved several supervised learning problems, such as regression and classification.

  • I used multiple linear regression with a limited data set to try to predict which team would win (the prediction was pretty bad, but it felt good).

  • I tried some demos on the Google Machine Learning cloud to see what AI can do today (Google is good enough as a SaaS product)

  • I was stumped by the AI Playbook, a fantastic resource organized by Andreessen-Horowitz, a respected foundation. It is the most convenient resource for developers and entrepreneurs.

  • Start watching Siraj Rawal’s Awesome Channel, a focused discussion of deep learning and machine learning on Youtube.

  • Read Hacker Noon’s excellent blog about how the big shots created the Not Hotdog app in Silicon Valley. This is one of the closest we can get to deep learning.

  • Read the blog of Andrej Karpathy, head of AI at Tesla. Although IT bothered me that I couldn’t understand anything he was talking about, I was beginning to understand some of the concepts after being abused so many times.

  • Plucking up courage, I started implementing some deep learning tutorials word for word (copy and paste) and tried to train models and run code on my machine. Most of the time, the results suck because most models require a lot of training time and I don’t have a GPU.

Gradually, I switched from JavaScript to Python and installed Tensorflow on my Windows machine.

The whole process is about passively digesting content and building references in your mind that you can use later when faced with a real problem.

As Steve Jobs said, you can only connect the dots looking backwards.

Catch the chatbot train

As a fan of the movie Her, I also wanted to be a chatbot. I took up the challenge and managed to do it in less than two hours with Tensorflow. I outlined the process and business requirements in one of my articles a few days ago.

Luckily, the article was well received and featured by TechInAsia, CodeMentor and KDNuggets. This is a great moment for me personally because I’ve just started blogging about technology. I consider this article to be one of the milestones in my AI learning.

I have a lot of friends on Twitter and LinkedIn with whom I can discuss AI development thoroughly and in depth and find my weaknesses. I got a couple of offers on consulting projects, and most importantly, young developers and AI beginners started asking me how to start learning AI.

That’s why I’m writing this article. To help more people find clues from my experience to start their learning journey.

All things are difficult before they are easy.

other

This is by no means a simple matter. When I got stuck in JavaScript, I jumped to Python almost overnight and learned how to code. After a few hours of training, I was annoyed that my models wouldn’t run on my i7 machine, and they would return a random result, like when a team wins a match in cricket, with a 50-50 chance. Learning AI is not like learning Web frameworks.

It’s a skill to figure out at the micro level which of your outputs — your code or your data — makes more sense.

AI is also not just a subject. It’s an umbrella term for anything from simple regression problems to killer robots that will one day kill us. Like any other subject you’re exposed to, you might want to cherry Pick ANY part of AI that’s good enough that you want, like computer vision or natural language processing, or God forbid, world domination, etc.

In a conversation with Atlantis Capital’s Gaurav Sharma, a well-known leader in AI, fintech, crypto and more, he told me:

In the age of artificial intelligence, “being smart” means something completely different. We need people to perform high-level, critical, creative, thoughtful and emotionally engaging work.

You have to indulge yourself in how computers suddenly learn to do things their way. Patience and curiosity are two key principles you should adhere to.

It’s been a long, long journey. Very tired, very irritable, very time consuming process.

But the advantage is that, like any journey in the world, you start with a simple step.


Zhihu column: Aurora Daily

How I started with learning AI in the last 2 months

Aurora Daily, aurora developer’s Side Project, reading three foreign technical articles every day, welcome to contribute and follow.