Some other definitions of Strong and Weak AI may depend on the scope of work undertaken by the AI. Let's take a standard calculator - it can operate on any set of numbers, integers, real numbers, floating point numbers (fractions and decimals) etc. But it cannot add 2 words, it is not programmed to identify word addition as concatenation or any other operation. It is a weak AI calculator. A strong AI calculator should have no problem in adding 2 words, adding and subtracting colors, patterns, or any 2 universal objects.
What are AI Agents?
Agents of AI are anything that can perceive their environment via sensors and interact with the environment via effectors or actuators. They can be viewed as programs or devices that take an input via input devices and provide a corresponding output via output devices. For instance, a human agent would receive input via his sensory organs, and give output using arms, legs and other body movements. A robotic device agent would receive input via thermal sensors, camera, motion sensors etc., while providing output via terminals, display panels, actuators.
An AI agent can be completely described using the following terminology:
Environment: Surroundings of an agent in which we are testing or examining the agent.
- Sensor: An aid or tool to help the agent receive external parameters, such as a camera / eyes that gives visual representation of the environment.
- Actuator: An aid or tool that enables the agent to react to the sensory information it receives, for instance physical movements, change of direction after detecting obstacles on path.
- Performance Measure: Metrics to qualitatively and quantitatively analyse success of agent's behaviour.
- Percept: State of the environment, input to the agent.
- Percept Sequence: History of several percepts/states of environment.
- Agent Function: Mapping of percept sequence or input to actions or output of the agent.
The Concept of Rationality in AI and Rational Agents
Rationality is defined as the sense of distinguishing logically correct statements and actions. It is different from omniscience.
A rational agent is defined in terms of 4 parameters:
- Actions of the agent
- Performance Measure
- Percept Sequence
- Built-in knowledge
For each possible percept sequence, the rational agent must select an action that is expected to maximize its performance measure, based on evidence provided by its percept sequence and the built-in knowledge of the agent.
An agent is autonomous if its actions and behaviour is determined by its own experience and percept sequence (with the ability to learn and adapt).
Nature of Environments of an AI Agent
The nature of the environments of an AI agent can be described in a simple acronym form by PEAS : Performance Measure, Environment, Actuators, Sensors.
Properties of Task Environments
1. Accessible vs Inaccessible : Accessible
If the complete state of the environment (relevant to the agent) is accessible by the sensors of the agent, the environment is accessible, else it is inaccessible.
2. Deterministic vs Non-deterministic : Deterministic
If the next state of the environment can be determined by the current state of environment and the actions of the agent, then it is deterministic. If the environment is deterministic without the inclusion of action of agents, then it is strategic.
3. Episodic vs Non-episodic : Episodic
In an episodic environment, the experiences of the agent are divided into independent episodes, comprising of perception and action activities by the agent.
4. Static vs Dynamic : Static
If an environment changes its state while the agent is deliberating on a course of action, it is said to be dynamic. Static environments are easy to handle for agents as they do not have to keep looking for changes with the passage of time. If the environment doesn't change with the passage of time but the agent's performance measure does, the environment is said to be semidynamic.
5. Discrete vs Continuous : Discrete
If there are finite distinct, clearly defined percepts and actions, the environment is discrete, else continuous.
Structure of Intelligent Agents
In simple terms, an AI agent can be described as:
Agent = Architecture + Program
A program is defined as the mapping of percepts to actions.
Architecture refers to the machinery, hardware or the device with physical sensors and actuators on which the agent program will be implemented.
Different types of Agent Programs
1. Simple Reflex Agents
The immediate actions of the agent are defined by pre-defined sets of rules, which connect current percepts wit specific actions. These rules are also called as condition-action rules, productions, or if-then rules.
2. Model Based Reflex Agents
Sometimes, the actions of an agent do not depend only on the current percept, but also on history of percepts, which has to be stored in internal states. This information can be said to be a model based on which actions are taken by the agent in a manner similar to that of simple reflex agents.
3. Goal Based Agents
Specific actions are selected from a group of possible actions with the view of achieving goals. Goal based agents are more flexible but less efficient than reflex agents.
4. Utility Based Agents
It uses a model of the world, along with a utility function to map actions with best expected utility. Best expected utility is computed by averaging over all possible outcome states (weighted).
Introduction to Machine Learning
Artificial Intelligence, and most notably its sub-field Machine Learning has been rapidly changing the ecosystem of Silicon Valley these days. While the aim of machine learning is to reduce simple jobs by automating them, the subject itself has created a lot more high level jobs. There is an increase in demand for machine learning experts, data scientists and researchers. As a response to this demand, there has been increased interest in the subject of machine learning. Especially among computer science students and new graduates, the prospects of finding internships and jobs in the field of machine learning is substantial. You too are probably reading this because you don't want to miss out on the latest updates in Silicon Valley, or perhaps you wanted to know what all your friends are talking about. In this article you'll learn the basics of machine learning, that is, what you need to know before you get deep into the mechanics of building your own intelligent machines.
What is Machine Learning?
Machine Learning is a branch of Artificial Intelligence that deals with teaching machines how to solve problems on their own by learning from data. With machine learning, you would be able to train a machine to perform repetitive tasks for you, without you having to teach it (read: program it) how to do. The machine will observe some data - its environment, some previous information you shared with it, or input from outside, and will compute the best course of action it is expected to perform. Since you haven't told it how to go about performing the action, it will make mistakes, and just like a human being, it will learn from them.
How to Get Started?
You are now probably thinking, so how can I achieve such a feat with my computer? The first recommendation to you would be to learn python. Seriously. There are tons of python libraries for almost everything, just getting started with the most popular ones such as scikit-learn, numpy, scipy, tensorflow will give you a jump start in machine learning. If you want a well-structured course on machine learning, give a look to one of the most popular online courses on Coursera taught by Professor Andrew Ng - https://www.coursera.org/learn/machine-learning.
Types of Machine Learning
In machine learning, the machine that you create will automatically observe data and perform suitable actions. There are 3 major classifications of machine learning, depending on the data they receive, and how they arrive at the correct set of actions to perform.
- Supervised Learning: In supervised learning, first you give the machine labelled data, where the label corresponds to the correct answer/action. During the first round, the machine matches its own output with the correct labels to see how it performed, and then learns from its mistakes and correct labeling. It then creates a general model on how to solve such type of problems, and uses this model to solve the problem on new data.
- Unsupervised Learning: In unsupervised learning, there is no labelled data, as we ourselves might not know the correct answers. Unsupervised learning has its major application in classification problems. The machine is presented with raw data, and the machine reads the data, finds the similarities between different data points and then classifies or groups similar data points together.
- Reinforcement Learning: Reinforcement learning is based on providing the machine feedback on its performance. A correct action will bring rewards while an incorrect action will attract punishment. This helps the machine to learn the best sequence of actions to perform a given task.
|
Types of Machine Learning |
In this article we discussed artificial intelligence, intelligent agents, the definition of machine learning, how to get started and types of machine learning. This concludes our discussion for today. Next we'll discuss about the difference between deep learning and machine learning, as well as other popular terminologies, and study different types of machine learning individually with practical examples.
If you'd like to get into the field of artificial intelligence and machine learning, you should definitely buy these classic books which will help you to understand more about artificial intelligence and machine learning. We recommend every ML and AI enthusiast to buy at least 2-3 books and get started with learning the basics of AI and ML.
Here's a list of books for artificial intelligence and machine learning for beginners: