Are you thinking of Chappie, Terminator, and Lucy? Sentient, self-aware robots are closer to becoming a reality than you think. Developing computer systems that equal or exceed human intelligence is the crux of artificial intelligence. Artificial Intelligence (AI) is the study of computer science focusing on developing software or machines that exhibit human intelligence. A simple enough definition, right?
Obviously, there is a lot more to it. AI is a broad topic ranging from simple calculators to self-steering technology to something that might radically change the future.
Goals and Applications of AI
The primary goals of AI include deduction and reasoning, knowledge representation, planning, natural language processing (NLP), learning, perception, and the ability to manipulate and move objects. Long-term goals of AI research include achieving Creativity, Social Intelligence, and General (human level) Intelligence.
AI has heavily influenced different sectors that we may not recognize. Ray Kurzweil says "Many thousands of AI applications are deeply embedded in the infrastructure of every industry." John McCarthy, one of the founders of AI, once said that "as soon as it works, no one calls it AI anymore."
Broadly, AI is classified into the following:
Types of AI
While there are various forms of AI as it's a broad concept, we can divide it into the following three categories based on AI's capabilities:
Weak AI, which is also referred to as Narrow AI, focuses on one task. There is no self-awareness or genuine intelligence in case of a weak AI.
iOS Siri is a good example of a weak AI combining several weak AI techniques to function. It can do a lot of things for the user, and you'll see how "narrow" it exactly is when you try having conversations with the virtual assistant.
Strong AI, which is also referred to as True AI, is a computer that is as smart as the human brain. This sort of AI will be able to perform all tasks that a human could do. There is a lot of research going on in this field, but we still have much to do. You should be imagining Matrix or I, Robot here.
Artificial Superintelligence is going to blow your mind if Strong AI impressed you. Nick Bostrom, leading AI thinker, defines it as "an intellect that is much smarter than the best human brains in practically every field, including scientific creativity, general wisdom, and social skills."
Artificial Superintelligence is the reason why many prominent scientists and technologists, including Stephen Hawking and Elon Musk, have raised concerns about the possibility of human extinction.
How can you get started?
The first thing you need to do is learn a programming language. Though there are a lot of languages that you can start with, Python is what many prefer to start with because its libraries are better suited to Machine Learning.
A BOT is the most basic example of a weak AI that can do automated tasks on your behalf. Chatbots were one of the first automated programs to be called "bots." You need AI and ML for your chatbots. Web crawlers used by Search Engines like Google are a perfect example of a sophisticated and advanced BOT.
You should learn the following before you start programming bots to make your life easier.
xpath - This will help you to inspect and target HTML and build your bot from what you see there.
regex - This will help you to process the data you feed your bot by cleaning up or targeting (or both) the parts that matter to your logic.
REST - This is really important as you will eventually work with APIs. You can use requests to do this.
How can you build your first bot?
You can start learning how to create bots in Python through the following tutorial in the simplest way.
You can also start by using APIs and tools that offer the ability to build end-user applications. This helps you by actually building something without worrying too much about the theory at first. Some of the APIs that you can use for this are:
Once you have a thorough understanding of your preferred programming language and enough practice with the basics, you should start to learn more about Machine Learning. In Python, start learning Scikit-learn, NLTK, SciPy, PyBrain, and Numpy libraries which will be useful while writing Machine Learning algorithms. You need to know Advanced Math and as well.
Here is a list of resources for you to learn and practice: