How to Learn AI Programming from Scratch
These are exciting times to get into machine learning and artificial intelligence. New technology which was science fiction a few years ago is now emerging from virtual assistants like SIRI and Alexa to self-driving cars!
There are more learning materials on this topic than ever before, and excellent open source tools and libraries are frequently released.
Companies are already earning a lot of money developing Artificial Intelligence, and the future potential is huge.
For you, this can potentially mean an exciting career where you can be working on groundbreaking technology and get a groundbreaking paycheck!
However, getting started can be a bit terrifying. Here are some tips on how you can approach it. But before starting, you should know what AI exactly is, and what it can do.
What is AI?
As we grow, we get smarter. Well, most people do this to keep up with the pace and the constant growth. Even our computers need to get smarter. This is why artificial intelligence was invented. The purpose of AI is to make computers “think” for themselves and get smarter. The computers should then utilize those lessons and solve problems like humans would.
AI (artificial intelligence) is the simulation of human intelligence functions by machines, specifically computers. These functions consist of learning (the acquisition of information and guidelines for using the information), thinking (by using guidelines to achieve close or precise results) and self-correction. Special applications of AI consist of expert systems, machine vision and speech recognition.
Although popular culture sometimes shows AI as robots with human-like qualities, AI can include anything from Google’s search algorithms to IBM’s Watson to autonomous guns.
Are there any dangers with AI?
Various main scientific developments have already been harmful in many ways. Explosive devices, cyber warfare, nuclear weapons, biological warfare all possess origins in main scientific advancements.
To become more certain, despite the cutting edge tech, it will not take lots of months for a group of engineers and robotics specialists to develop an equipped robot that can move around, identify humans and shoot them. Or maybe “better”, finding a particular man in the masses and shooting them.
The illogical anxiety about a “sentient” AI taking over the earth and eliminating all humans appears to be extremely common in our general talk, which must stop soon because it glosses over the real risks of AI: Job displacement, and Weaponization.
With that in mind, just like the rest of the scientific developments, the advantages far outbalance the chance of people using it for destruction. You can use it to invent washing machines that immediately place thousands of washers and launderers out of their professions but modernized the industry for the improvement of human beings.
What can AI do?
Artificial intelligence will form our future even more incredible than any other advancement this century. Anyone that will not appreciate it will sooner than later going to end up feeling left behind. My prediction is that we will be awakening in a world filled with technology that will help us in our everyday lives.
The pace of acceleration is already incredible. With recent years of improvements in data storage and computer processing power, the game has significantly been transformed recently. Here are five use cases where AI is already doing a lot better than humans.
Search the web faster
RankBrain is a machine learning AI that deals with the hardest queries in Google’s search engine. It recognizes the meaning of phrases and words, and can consequently guess what must be to the top ranked pages in never-seen-before queries. In fact, it is much better than its biological makers. When analyzed, humans could guess 70% of times, while RankBrain’s effectiveness was 80%.
Operate in deadly situations
Robots can make it through where no human can, in spots like deep space, or in the radioactive reactor. The difficulty is that they cannot function at the same intellect standard of humans. Newborns can accomplish more complicated things using their bodies compared to the most advanced robots.
However, not anymore: a UC Berkley team applied deep learning to train robots with motor skills, just like screw caps on bottles, or utilize the back side of a hammer to get rid of a nail from wood. The approach replicates the eye-hand balance in humans, and the study outcomes indicate that robots can now meet human ability and speed.
Get a Ph.D. quickly
By incorporating genetic algorithms with genetic pathway simulation, the experts developed a program which was able to make the 1st scientific theory to be found out by an AI: showing how flatworms regrow parts of the body. The AI-generated theory will have a tremendous influence on human regenerative treatments.
Translate in several languages
The Google Translate application can quickly translate words in 27 different languages. And Skype is implementing neural network technology that copies a person’s mind to be able to learn human speech and quickly translate from English to Spanish. At Microsoft, who owns Skype, are beta testing the technique hoping to extend it in every language, and therefore help in face-to-face conversation among humans without familiarity with each other’s language.
Produce an accurate medical diagnosis
For human physicians the task of producing an accurate diagnosis is vast. Approximately, to be at the top of medical understanding, human doctors must dedicate 160 hours each week studying new research papers.
IBM Watson’s AI does that in a reasonable time. Moreover, it can search through an incredible number of patient records, learn from earlier diagnoses, and enhance the reasoning links among diagnosis and symptoms. The outcome? IBM Watson’s precision rate for lung cancer is 90%, in comparison to only 50% of human physicians.
What is AI programming?
When we state the phrase Artificial Intelligence (AI), the majority of us instantly imagine the self-aware machines shown in our favorite movies or books.
We think of robots that can think on their own just like R2-D2, machines that fight criminals and protect humans like Astroboy; or we imagine a world where these kinds of thinking robots have evolved against us, where the HAL 9000 attacks its folks or Skynet starts an attack against all humans.
It doesn’t matter if we see AI as good or bad, a lot of us find AI as a predictable advancement of computer science, where computers are eventually in a position to think and trouble solve much better than humans do.
The truth of modern AI is both more fascinating and less glamorous.
Instead of behaving like fully-functioning humans, AI programs often have a highly limited focus, just like learning a particular game or offering reasonable reactions to entered or asked questions.
In computer science, AI programming includes designing systems that can “rationalize” an obstacle, considering multiple available results and choosing a route with the highest possibility of success.
Once an AI program selects its solution, it should then be capable of assessing the outcomes of that action and reference back to that information the next time it needs to make a related decision. In this manner, an AI program “learns” and “problem-solves” inside the range of programming.
In contrast to regular programming, which depends mainly on mathematics and reasoning, AI programming needs computer scientists to include some other professions, including psychology, neuroscience, and linguistics, to be able to develop programs that can reproduce human-like thought procedures and actions.
AI study is likely to concentrate on particular parts of intelligence, just like thinking, preparing, connection, creativity, and object manipulation. For most, this is how AI comes less than our objectives.
But these achievements must not be missed. Every little improvement will move us towards the ultimate goal, which is to create a more effective human-like intellect.
Which programming languages?
The first thing you need to do is learn a programming language. There are a lot of languages that you can start with like C++, Prolog, Lisp. Python is what many prefer to begin with because its libraries are better suited to Machine Learning.
We choose Python and not other languages like Java or R as Python is easy to learn and has tons of brilliant libraries for ML/AI.
Python’s syntaxes enable different AI algorithms to be implemented into it fairly quickly, which makes you developing faster than other programming languages.
You can build neural networks, with a selection of useful libraries that can be used for AI development.
Some of Python’s features include:
- Useful variations of libraries
- Wonderful Framework. (scikit-learn)
- Simple to learn.
- Easy prototyping and building of apps
- Open Source Libraries. (Numpy, Matplotlib)
- Free.
- Modular programming.
- Rapid testing
What kind of mindset do you need to have to be an AI developer?
Relies on how far you would like to dive in. AI is language agnostic. You do have to know data and other technology. Math, calculus, and algebra for algorithms but loads of this is already written. You must know the human way of thinking for NLP – context, intent, and how to link organizations. More deeply understanding of the human way of thinking.
What kind of AI tools are out there?
Being aware of which software to use is essential for building a working AI algorithm.
Knowing different AI frameworks and APIs will allow developers to have a better understanding of AI in general. Having knowledge of what is out there and how to incorporate the tools into your projects is a great skill to have. You will then be able to use mature technology and be able to continue and evolve the technology.
Here are a few of the best machine learning tools out there, both proprietary and open source:
Torch
The torch is a scientific computing framework, a machine learning library ıncluding a scripting language on the basis of the Lua programming language. It offers a range of algorithms for in-depth machine learning. The torch is utilized by the Facebook AI Research Group and was once used by DeepMind before Google obtained them and relocated to TensorFlow.
Eclipse Deeplearning4j
Eclipse Deeplearning4j is an open-source deep-learning library for the Java Virtual Machine. It can act as a DO-IT-YOURSELF tool for Java, Scala and Clojure developers focusing on Hadoop and various file systems. It enables developers to set up deep neural networks and is made to be used in business environments on allocated GPUs and CPUs.
Tensorflow
Formerly made by members of Google’s Machine Intelligence research division to perform machine learning research and deep learning neural networks, TensorFlow is currently a semi-open-source library which allows developers to execute mathematical computations. AI developers can use the TensorFlow library to develop and train neural networks in pattern recognition. It is developed in Python and C++, two effective and well-known development languages, and enables distributed training.
ai-one
Claiming for being ‘biologically inspired intelligence,’ ai-one lets programmers produce smart assistants within many applications. ai-one’s ‘Analyst Toolbox’ offers a document collection, setting up agents and APIs for developers. Ai-one can effectively change data into generalized rule sets, allowing lots of complex AI and machine learning setups.
Google APIs
Google has multiple machine learning APIs on its Cloud Platform. One of them includes its popular Prediction API, which allows users to tap the search giant’s algorithms to analyze the data and predict future outcomes. Google has added further APIs to enable users to build their machine learning-based services, including Speech, Translate and Vision.
In March 2017, Google launched a new machine learning API for automatically recognizing objects in videos and making them searchable. This API is called Cloud Video Intelligence and is used to help developers extract certain objects from videos automatically.
IBM Watson
IBM is a big actor in the field of AI, with its Watson platform housing an array of tools designed for both developers and business users. Available as a set of open APIs, Watson users will have access to lots of sample code, starter kits and can build cognitive search engines and virtual agents.
Watson also has a chatbot building platform aimed at beginners, which requires little machine learning skills.
Amazon Web Services
Amazon Web Services (AWS) offers a range of artificial intelligence kits for programmers, consisting of Amazon Rekognition Image, Amazon Polly, and Amazon Lex.
Rekognition uses AI to include image interpretation and facial recognition to applications, which is frequently used for biometric protection features.
Polly takes advantage of AI to automate voice to written text throughout 47 voices in 24 languages. Lex is the free engine in the back of Amazon’s exclusive associate Alexa, permitting developers to incorporate chatbots into internet and mobile phone applications.
Theano
Theano is a Python library for defining, enhancing, modifying, and analyzing mathematical expressions by using a computer algebra system. In case you cope with deep learning, then you handle lots of numerical tasks.
Theano is well-adapted to these kinds of jobs – most importantly matrix operations, function definitions and symbolic variable, and just-in-time compilation to CPU or GPU machine code. It’s among the earliest deep learning libraries, which means it is extremely well-established but also implies that it should often be used with other libraries if you want a high level of abstraction.
Microsoft
Microsoft launched three new machine learning tools at its Ignite conference in September 2017:
- Azure Machine Learning Experimentation service
- Azure Machine Learning Workbench
- Azure Machine Learning Model Management service.
These are aimed at developers wanting to build their own AI agents or build-upon existing models.
Microsoft also launched a tool for non-developers, which can use AI functionality within Microsoft Excel.
Microsoft provides three AI tools for developers: Custom Speech Service, Content Moderator, and Bing Speech APIs in an attempt to make AI ‘accessible for all’. This is on top of Azure’s machine learning offering, the ‘Azure Machine Learning Studio, which lets developers drag and drop datasets and deploy predictive analytics.
Microsoft also provides two open sources AI tools: the Computational Network Toolkit (CNTK) and the Distributed Machine Learning Toolkit (DMTK).
BigML
It is not only big IT companies that are moving artificial intelligence in the cloud. BigML is one of several startups in the market aiming to open artificial intelligence to a wider audience. Founded in Oregon in 2011, BigML offers a simple user interface, allowing users to upload data sets to start making predictions.
Resources to Learn AI
If you’re looking to learn AI programming from scratch, I’d highly recommend these courses.
Intro to Artificial Intelligence (Free): In this training course, you’ll learn the fundamentals and applications of AI, consisting of machine learning, probabilistic thinking, robotics, computer vision, and natural language processing.
Artificial Intelligence Nanodegree Program (Paid): Broaden Your understanding of Artificial Intelligence. Learn important Artificial Intelligence ideas from AI specialists like Sebastian Thrun and Peter Norvig, adding search, optimization, pattern recognition, planning, and more.
Learn with Google AI (Free): It doesn’t matter if you’re just studying to code or you’re an experienced machine learning specialist, you’ll discover more details and exercises to help you improve your skills and boost your projects.
Online AI Communities
There are many AI enthusiasts on the internet. If you are interested in learning more about AI, or the various ideas behind current innovations, check out these AI community sites.
Game-AI Forum: this forum is particularly dedicated to AI implementations for game development.
The Forum for Artificial Intelligence: managed by the University of Texas, this internet community meets bi-weekly to talk about recent problems in artificial intelligence. During every meeting, a recognized guest speaker reveals a talk on an outstanding area of AI. The transcripts from past discussions can be found in their archive section.
Simple AI Programs You Can Make as Beginner in AI
To start with ensuring that you are cleared with all the current fundamental concepts of AI and machine learning. Here is a suggested list of projects, where you can get your feet wet in AI programming:
- Develop a Natural Language control project that can recognize handwritten letters.
- Produce captcha crackers.
- Create a camera application that recognizes items live.
- Try to make auto-tagger chrome extension that tags friends on auto-pilot in a photo you publish in Instagram or Facebook.
- Stock exchange predictor depending on previous data and you can do automation in purchasing and providing stocks.
- Develop a project that Tests your code written in C and C++ by making use of different test cases.
- Make a music identification app.
- Face recognition application.
- Make Chatting bots.
- Healthcare project that will take your contact and the sign-up patient name and schedule it.
- Create a poker opponent.
To further upgrade your skillsets, you should also indulge in different AI and BOT Programming Competitions at different sites on the Internet:
Last Words
If you want to learn AI Programming, you need to be intrigued by how computers immediately discover ways to do something by themselves. Patience and wonder are the two important concepts that you need in this exciting journey.
You will encounter a lot of stumbling blocks on the way. However, the great part is, like every other journey on the globe, practice makes perfect. Build on what you’ve learned and try to challenge yourself a little bit every day.