Welcome to the introductory session on Artificial intelligence and Machine Learning by CloudxLab.
In this chapter, we will learn what is Artificial Intelligence, its sub-objectives and how to achieve the AI.
Then we will understand what is Machine Learning and Deep Learning.
We will end the chapter with the use cases of AI in various industries.
The AI or Artificial Intelligence is going to be at the heart of every product or service. Today, it is powering various high-tech product in our lives.
For example, it is powering the speech recognition in the smartphone, recommending products and driving the driverless cars. Let's see some examples of AI enabled products and services.
The self-driving cars also known as an autonomous car or a driverless car) are capable of navigating without any human intervention.
Google has built a self-driving car called Waymo which has already driven 1 million kilometres. Other companies such as Apple, Uber and various car manufacturers are also testing their self-driving cars.
So, the driverless future is not too far. Thanks to AI.
With advancements in AI, the human-like or humanoids robots have become possible. One example of such a humanoid robot is Sophia. It was developed by Hong Kong-based company Hanson Robotics.
Sophia has participated in many high-profile interviews so far. And, in October 2017, it became the first robot to receive citizenship of any country.
On the other hand, NASA is using AI to discover life on other planets.
So what is AI? In simple words, AI is the intelligence exhibited by machines. For example, self-driving cars and Sophia robot discussed earlier are intelligent machines. In a more general definition, AI is an area of computer science that emphasizes the creation of intelligent machines. These intelligent machines perform tasks which require human intelligence such as
visual perception - ability to see and observe
speech recognition - the ability to recognize voice and infer its meaning
and making decisions
So how did the idea of AI originate? We have always been fascinated by the idea of creating machines which can act like a human. For example Talos in Greek mythology, Cyborg in "The Terminator" and Frankenstein in Mary Shelley’s novel.
The term "artificial intelligence" was coined by "John McCarthy" in 1956, along with Marvin Minsky, Claude Shannon, and Nathaniel Rochester in a workshop at Dartmouth College in New Hampshire.
To further elaborate the meaning of AI, John McCarthy defined sub-objectives which describe intelligent machines. These sub-objectives are knowledge representation, perception, reasoning also known as problem-solving, navigation and natural language processing. Let's understand these sub-objectives one by one
In order for a computer to accomplish intelligent tasks, we need to be able to teach computers to represent knowledge - the knowledge about the real world. This is the first sub-objective of AI. It needs to understand the meaning of objects of real life such as. What is Man? What are people? What is language?
For this purpose, programming languages such as lisp were invented but it didn't work out much because we were manually defining the meaning of objects and their behaviors.
The second sub-objective is - perception. An intelligent machine should be able to perceive the real world objects using sound, sight or touch. For example, Xbox Kinect analyzes our dance steps using the camera and infrared sensors. And then it rewards the points based on the accuracy of dance steps. Perception plays the cetral role in self driving cars too.
The third sub-objective is - reasoning. An intelligent machine should be able to reason out things. It should be able to play games and make logical inferences about a medical diagnosis or mathematical theorems.
The fourth sub-objective is to be able to navigate or planning. An intelligent machine should be able to navigate from one place to another in the real world.
Navigation is a pretty hard intelligence to build in the machines.
So, how to do go to place A from place B? How do we locate the destination? Is it a door or a wall or is an uphill or downhill? If there are multiple ways to reach the destination, how to choose the path? When do we apply brakes? Where it is safe to go and where it is not safe to go? And how exactly we will move?
These are all planning and navigation tasks. We should be able to teach the computers how to plan and navigate.
The fifth sub-objective is - Natural Language Processing. An intelligent machine should be able to understand, speak and translate languages. As of today, it has become really close to reality.
Now, the computers are able to learn the meaning of the words by reading thru the text from world wide web. We will study a technique called word-embedding which has made this possible.
If machines are able to achieve the objectives mentioned earlier, it was said that these machines will also show the generalised intelligence.
And such an intelligent machine will show human-like characteristics such as emotional intelligence, creativity, intuition and reasoning capabilities.
Generalised intelligence is nothing but a combination of the skills such as representing knowledge, reasoning, perception etc.
As we have discussed, AI defines the objectives of a intelligent machine but how do we achieve AI?
An intelligent machine consists of both hardware
and software. For example, In Self-driving cars, camera, sensors, and IoT devices are hardware which captures the data and pass it to the software. Then the software processes the captured data to build intelligence.
Let’s understand the role of software in achieving AI. Traditionally the intelligence in the machine used to be programmed using rules. For example, in a self-driving car, we can write a rule to apply brakes if the obstacle is at the distance of 100 meters. But this rule based intelligence fails when a car encounters a situation for which no rule is programmed. Also, take a long time to write rules in such complex systems.
This is why we need programs which can build intelligence on their own and do not fail like rule-based programs. Machine Learning consists of libraries and algorithms using which machines can learn on their own.
Deep Learning is the subset of Machine Learning. It consists of algorithms to solve complex problems such as image recognition, speech recognition, and natural language processing. We will discuss more about Machine Learning and Deep Learning later in the chapter.
In summary, AI is the end objective. Softwares such as Machine Learning and deep learning and Hardwares are tools to achieve AI.
That was the brief introduction of AI. Now let's understand what is Machine Learning?
The term "machine learning" was coined by "Arthur Samuel" in 1959. Machine Learning is the science and art of programming computers so they can learn from data.
Let's understand the meaning of Machine Learning with an example of a Mario game. As a kid, we have learned to play Mario by ourselves without being taught by anyone
Can a computer also learn to play Mario by itself as humans?
Tom Murphy 7 from CMU wrote a program which learns the Mario game by itself. The program first loads the Mario in the emulator and presses keys randomly to observe the impact of keystrokes on the total score. This way the program learns to press only those keys which maximize the score. Let's see the learnings of the program
On day 0, Mario behaves like an infant. The program just keeps on pressing the keys and Mario does not go anywhere and dies of old age. After a couple of weeks of self-learning, Mario is able to move but now it is badly stuck. After a few more weeks of self-learning, Mario is not facing many difficulties in moving around and crossing the hurdles. Mario has also started hitting the goombas. The interesting part is the program learned by itself that hitting goombas increases the score. After a few more weeks the program becomes expert and it exploited a bug in Mario game. What was the bug? When the Goomba starts falling on the Mario, Mario starts moving downwards. After a few more weeks, the program exploited another bug. The Mario figured out that he can avoid falling. No idea how did he do that. Let's see another sign of intelligence. When the same program was made to learn the Tetris, it kept on pausing the game when it was not able to do better in order to retain the score. In this scenario, program behaved like humans. Like our siblings used to spoil the game if they could not win. This kind of intelligence is possible only because of machine learning. If we use rule-based programming instead of machine learning then we have to write rules describing what to do when the program see a Goomba or encounter an obstacle. But with machine learning, the program learns from the environment on its own. This is the power of machine learning.
A quick question, What will you do to make this program learn any other games such as PacMan? Will, you write new rules for every game or just hook the program to the new game and let it play for a while?
The correct answer is - hook the program to the new game and let it play for a while and learn on its own.
Let’s see some Machine Learning products which we use in our daily life.
The spam filter is probably one of the first machine learning application which has improved the lives of hundreds of millions of people. A spam filter is a program which marks the incoming emails as spam or ham. If the incoming email is not a spam, it appears in the inbox, else it appears in the spam folder. This helps in keeping the inbox clean by avoiding unwanted emails.
Google uses machine learning to provide us with accurate search results. It basically improves the results based on whether people clicked on a particular result or not.
Google Assistant uses machine learning to assist us with weather information, navigate places and the latest news. It figures out the correct meaning of words based on the context and much more.
Amazon uses machine learning to recommend us products which we may like to purchase. The amazon recommendations were one of the early example whether meachine learning improved the revenue of the company.
Google Translate uses machine learning to translate text from one language to another language.
Google AutoDraw uses machine learning to match your doodles with the professional drawings.
That was the brief introduction of Machine Learning. Now let's understand what is Deep Learning?
Nature has inspired many inventions. For example, birds inspired us to fly and we invented the aeroplane
Burdock plants inspired Velcro.
In the same way, Deep Learning takes inspiration from the biological neural networks of animal brains to achieve intelligence. We will learn more about Deep Learning later in the course.
In the last few years with the ongoing researches and the use of many computers and many processors simultaneous, Deep Learning algorithms have become quite mature. Complex problems like speech recognition, image recognition and natural language processing can be solved with much higher accuracy than ever before.
As of now, Deep Learning algorithms can classify handwritten digits with more than 99.7% accuracy.
Also they can classify if a given image is of a cat or not with more than 80% accuracy.
So how do we achieve Machine Learning and Deep Learning? Let’s understand that.
We need data to apply machine learning. In the first step, we collect data. Let’s see various sources for collecting the data.
To collect data, we must have sensors and devices that can observe the surrounding and generate data and we need connectivity to transmit the generated data to the server.
On one hand the devices such as phones have become cheaper, faster and smaller. On the other hand, the connectivity is omni present.
This has led to a better collection of data.
After collecting the data, we clean it to remove errors, outliers, and noise. For example, we may have the wrong data from a faulty sensors on the robot. Or some of your customers did not specify their age during the signup process.
Cleaned data makes it easier for the machines to detect the underlying patterns in the data. Therefore, cleaning the data is one of the most important steps in the machine learning. In reality, engineers spend a significant part of their time in cleaning the data.
After that, we feed the cleaned data to the algorithms and the algorithms process it to build intelligence.
Let’s understand the different ways of processing the data.
If data is beyond 15 to 20 gigabytes and cannot be handled by one machine, we use distributed computing. In distributed computing, group of networked computers interact with each other to achieve a common goal. The data gets divided among the group of computers and each computer processes its part of the data.
In recent times, the distributed computing has made it possible to process petabytes of data and generate the intelligence or insights.
if data is small and you want faster processing then either use GPGPU - General Purpose Graphics Processing Unit
Or multiple cores of the same machine.
A GPU consists of many CPUs. That’s why it processes the data faster than a CPU.
Let’s understand when to use multi-core, GPGPU, and distributed processing.
Use distributed computing when you have huge data or Big Data. Tools like Hadoop MapReduce and Apache Spark are used for distributed processing.
If your data is small and you need faster processing then either use multi-core or GPU processing.
For mathematical and graphics intensive workload, GPU performs better. Tools like Keras, TensorFlow, and Caffe are used for GPU processing. Most of the deep learning algorithms work really fast on GPU.
Please note that distributed processing can be done both on the single core as well as multi-core. This is the reason multi-core and distributed processing have the same tools.
Today, every vertical is using AI in various ways.
Let’s see how AI is being used across various industries.
Let’s see some of the use cases of AI in healthcare
Find the best treatment plans according to the patient data
Discover new drugs based on previous data and medical intelligence
Monitor mother and fetus health to reduce mothers' worries and enable early diagnosis
Analyze drug and medical device effectiveness
Analyze chronic conditions to enable early diagnosis
Let’s see some of the use cases of AI in marketing
Retarget customers who have already expressed interest in your products or services
Leverage Natural Language Processing to monitor social media to make real-time business decisions
Optimize the channel, target audience, message, and timing of your social media posts
Personalized, individual messaging based on each customer’s real-time and historical behaviors
Drafting emails that are tailored to individual behavior
Machine vision and Natural Language Processing (NLP) are being used in context-aware marketing. It helps companies to understand the context to serve the appropriate ads. Let’s say you are reading about a particular phone model and you are shown the ad for that model on the same page.
Let’s see some of the use cases of AI in sales
Forecasting sales accurately based on the historical data.
Enable predictive sales by assigning scores to leads and prioritize sales representative actions based on lead scores and contactability.
Analyze the phone call data of sales representatives to increase the sales effectiveness.
Generate leads for your sales representatives by analyzing social networks.
Track potential leads by analyzing their browsing trends and feedbacks.
Use intelligent chatbots as the first point of contact with prospects. Later high value, responsive leads will be called by live agents, thereby increasing sales effectiveness.
Let’s see some of the use cases of AI in FinTech
Detect fraudulent and abnormal financial behavior.
Leverage Natural Language Processing and other AI techniques for financial analysis, algorithmic trading, and investment strategies.
Build robust credit lending applications.
Use AI chatbot and mobile app assistant applications to monitor personal finances.
Gather external data such as sentiment and other market-related data.
Use Natural Language Processing to scan legal and regulatory text for compliance issues
Predict the appropriate time for buying or selling of stocks in order to maximize profits.
Let’s see some of the use cases of AI in HR
Leverage AI to attract, screen, engage and hire the best talent.
Improve the process for talent acquisition, onboarding and performance analysis.
Predict which employees are likely to churn and improve their job satisfaction to retain them.
Automating most of the common tasks like using chatbots to respond to most of the common questions of employees.
Telecom companies are using AI for customer churn prevention, network performance optimization, analyzing the calls data and the network to predict network and hardware failures in towers.
AI is also being used for automating the customer services and predicting appropriate offers for targeted customers.
In e-commerce, AI is being used for cross-device personalization, creating a more efficient sales process and implementing virtual assistants. Chatbots are extensively used for customer support and improve sales. AS is also used in analyzing users’ browsing patterns and giving appropriate recommendations.
Manufacturing companies are now using autonomous robots to automate most common jobs and function without much human intervention. This has significantly increased the speed of production. Tesla’s factory heavily uses robots for production.
In sports, companies are using AI along with IoT devices and wearable products to gather data and optimize training and performance of players. It is also used to make complex decisions regarding the outcome of a match, which is otherwise hard for human umpires to observe. It is also used to maximize revenue from advertisements and stadium fees.
In the supply chain, companies are now using technologies like drone deliveries and automated vehicles. AI is used to predict approximate delivery date and time of a product. AI is also used to analyze the flow of a product in the supply chain and modify it to improve delivery time.
In the customer support industry, bots and virtual assistants are being used extensively. Bots rely on natural language processing to identify problems and to engage in automated conversations. Chatbots are increasingly used by the big companies to improve their support services.
In cybersecurity, AI is being used to analyze vast amounts of data about attacks to uncover more effective methods for responding to different attacks. Data deception technology products can automatically detect, analyze, and defend against advanced attacks by proactively detecting and tricking attackers.
In this chapter, we learned about AI and how it is used everywhere. We discussed how the idea of AI originated, sub-objectives of AI and how it is achieved.
We also learned about machine learning and deep learning and how to achieve them. In the end, we discussed use cases of AI in the various industries.
In the next chapter, we will learn the machine learning process and the key concepts in the machine learning. Hope you enjoyed the video. Stay tuned and happy learning!