Programming A Driverless Car Chapter 3: INTRODUCTION TO Artificial Intelligence
In this Chapter, we’ll be talking about
- Introduction to Artificial
- What is turing test?
- Applications of Artificial Intelligence
- Self Driving cars – Problem Analysis
- Machine Learning
What is artificial Intelligence?
The capability of a machine to imitate intelligent human behavior, for example; recognizing speech, recognizing characters, measurement. Any task that requires human intelligence and machine is performing that task, the machine is said to have capability of artificial intelligence.
It is also a way of making a computer, a computer-controlled robot or a software to think intelligently, in the similar manner an intelligent human thinks.
The turing test is a test, developed by alan turing in 1950, of a machine’s ability to exhibit intelligent behavior equivalent to, or indistinguishable from, that of a human.
Turing test says that if a computer is performing a certain task and a human interpreter cannot distinguish whether it’s been done by a human or a machine is said to pass the turing test.
Passing the Turing Test: Capabilities
(Classic Turing Test)
- Natural Language Processing – To check if the system can understand and communicate with a user fluently.
- Knowledge representation – It can store the data (knowledge), communication and analyze it for
- Automated reasoning – Use Knowledge representation to answer questions based on the analysis of data types and patterns.
- Machine Learning – detect patterns, adapt ( Total Turing Test)
- Computer vision – perceive objects
- Robotics – manipulate objects + move around
Applications of Artificial Intelligence
- Optical Character recognition
- Handwriting recognition
- Speech recognition
- Face recognition
- Artificial creativity
- Computer vision,, virtual reality and Image processing
- Diagnosis (artificial Intelligence)
- Game theory and Strategic planning – Where the AI works on the use cases for designing the challenges in that particular game.
- Self Driving Cars – AI makes it possible for the car to know which lane it has to change, avoid obstacles, control speed based on the traffic density, Measure the environment
The goals and rules are properly defined, so it’s easy for the vehicle to follow suite. In the case of a human driven car it isn’t governed by a rule, it can be unpredictable based on the driver.
Self Driving Cars Tasks
- Localization & Mapping: The AI has to has to have spatial awareness, it has to be aware of it’s presence and the space that it occupying and then it’s location in that space.
- Scene Understanding, Environmental Analysis: When it’s trying to understand different objects, it needs to segment it and adjust accordingly. It should learn to coexist.
- Target Analysis: Understanding the destination it has to go, while avoiding the obstacles and the type of obstacles.
- Movement planning: Decide on the route it has to take to reach the destination
- Driver state: Understand the driver’s state, whether he is active or inactive.
The Data for the AI in a Driverless Car is provided through these components.
The types of data creates the environment which the agent has to work. Let’s see what type of program we have to create in this course.
Some of the companies that have worked on a driverless car of their own are Waymo / Google Self-Driving Car, Tesla’s Autopilot, Uber, nuTonomy we’ll talk about how we can create the mind of the driverless.
First, let’s understand that like a human, an AI would also need to be trained continuously to improve. When a machine learns from it’s experiences, we call it Machine Learning.
In the words of Herbert Alexander Simon” Learning is any process by which a system improves performance from experience”
Machine learning is concerned with computer programs that automatically improve their performance through experience.
What is Machine Learning?
According to Arthur Samuel “The field of study that gives computers the ability to learn without being explicitly programmed.”
The field of study that gives computers the ability to learn without being explicitly programmed. On the above table, we have an explicit procedure programmed into the machine and requires prior knowledge.
This method of explicitly programming the output is known as explicit programming for decision making. Some of the machine learning algorithm that involve linear regression or neural network with one layer, there’s no direct relation between input and output. This is called implicit programming.
We define learning is a method of improving with experience at some task, Let’s say that there’s a task T (driving a car) and by doing this task, we are gaining experience (denoted by E), and the performance measure could be measured by P, based on the past experience. This is called Learning. We implement this methodology with Machine learning.
Some examples of Machine learning around us
- Voice Recognition, handwriting recognition
- Data mining – Web click data, medical records, diagnosis.
- Computer vision (barcode, fingerprint and number plate readers)
- Player ranking in online games
- Spam filtering –
- Vehicle stability systems
We’re going to focus on the vehicle dynamics and self driving cars.
The Objective of a machine learning algorithm, when we’re designing one.
- Getting better at a task through practice – The algorithm should allow the scope for regularly self learning and improvement
- The act of remembering: data/experience – Every event or experience should be remembered by the system, which analyses the outcome and improves it constantly.
- Generalisation, similarity and new inputs – It should be able to predict based on the patterns.
- Learning and flexibility: adaptation
Supervised Vs Unsupervised
Supervised learning, in the context of artificial intelligence (AI) and machine learning, is a type of system in which both input and desired output data are provided. Input and output data are labelled for classification to provide a learning basis for future data processing.
If it is otherwise, without any data it is known as unsupervised.
Let’s take this example of a SPAM filter in your email
The systems that is in place to check for spam messages in your email uses algorithm that requires you to mark as spam to distinguish between spam content and real email.
This is categorized as a Supervised data
Some other Supervised data scenarios include but not limited to
- In medical, Tumor size and determination whether it is benign or cancerous
- In sales, Is this lead profitable or not
- In governance, Who will win the presidential elections?
The outputs are discrete.
- How many units of product will sell next month?
- What will student score on SAT?
- What is the market price of this house?
- How long before this engine needs repair?
All of this data is labeled, however the output is not discrete because there are a number of possible outcomes.
Anomaly detection algorithm uses pattern data sets to understand the common patterns and compares it with the abnormal patterns to predict an outcome.
Let’s take this example of a Credit card fraud
- We Train the algorithm in the model of good valid transactions
- Anything that goes beyond the validated transaction pattern, and it would raise an alarm against fraud.
- Can pass transaction down to human for investigation
In case of Network Intrusion,
- We train the model on network login activity
- Anomalous activity indicates threat
- Can initiate alerts and lockdown procedure
In case of recommendation Engines
- While shopping on popular shopping sites like Amazon etc, there is a suggestion engine that suggests you products related to what you intend to buy.
- Model looks at user ratings of books
- Viewing a book triggers implicit rating
- Recommend user new books
Based on the common properties, it suggest you a book. This is an unsupervised algorithm.
When the algorithm combines different datas with the same property under a single cluster, based on the relevance is known as clustering and it’s unsupervised as no labeling is required.
- Telephone tower location
- Recognizing pattern topics
- Summarizing news
- Market segmentation
- Clustering Genes
Some ML methodologies
- Linear Regression
- Logistic Regression
- SVM: Support Vector Machines
- ANN: Artificial Neural Networks
- Anomaly Detection
- Nearest Neighbor
- Principal Component Analysis (PCA)
Note: CHOOSING AN ALGORITHM
We can choose an algorithm based on evaluation of different models of data by looking at the relative success rates. Also, it’s wise to remember that some algorithms work better with some kinds of data.
Recommended Reading: Chapter 2: Linear Algebra For Machine Learning
Next: Chapter 4: Introduction to Supervised learning
To start reading from a topic of your choice, you can go back to the Table of Contents here
This course evolves with your active feedback. Do let us know your feedback in the comments section below.
Looking for jobs in Artificial Intelligence? Check here