Notes from CS6660 Intelligent Agents

12 September 2001

taken by Othmar Lehmann

 

Goal of today: Introduce memory into agent designs.

 

There are 2 major approaches to the introduction of memory:

1.)      Feature vector based memory

2.)      Models/data structures based memory à Iconic models/analogical representation

 

Motivation for the use of memory:

 

Example 1.) Wall-following robot

 A feature vector of the wall-following robot would be the vector (S1,…,S8), which represents the sensor values (wall/no wall).

The robot could use previous perceptions to make predictions. For example, he could predict that a wall he noticed before will continue in the same direction.

 

Example 2)  The rear mirror

If you are driving a car and try to take over, then you look into the rear view mirror to see what is going on behind you. When you look ahead again, you make a prediction. You predict, that the car you remember to have seen in the rear view mirror will in fact stay there and will not simply vanish.

In that case, memory makes up for your limited perceptual abilities (you have no eyes on the back of your head). If you extended your perceptual abilities enough (perfect vision of everything that is going on around your car), then you would not need memory for driving a car.

This is the approach taken in ubiquitous computing, where sensors are favored over memory.

 

The usage of feature vector memory

 

Before we used memory, the architecture was:

 

[Sensing/input] à [feature-vector] à [action/output]

 

With memory, the architecture is:

 

[sensing/input] à [perceptual processing] à [feature vector] à [action/output]

               

                                               feedback                                              

 

 

Memory is a way of using time-delayed information.

 

 

Implementation as a neural network: Recurrent Neural Networks

 

 

This network is a standard 3-layer fully interconnected neural network with 4 input units, 8 hidden units and 4 output units.

 

 

 

We then add 8 additional input units which are an duplicate of the 8 hidden units (there is an 1 to 1 mapping, these additional input units have the exactly same activation values as the hidden units). But they act as standard input units, so they are also fully connected to all the hidden units.

The key idea is, that the activation of the hidden units at time t1 is fed back into the network as a regular input at time t2. So the activation at t1 is partz of the context of t2.

This raises the question: How much “memory” is good? Is it useful to still use the activation at t1 at time t9?

This depends on the environment and the task.

In general: Memory is not useful, when the agent has a good perception and the obstacles are without a pattern.

 

 

Iconic models/analogical representation

 

For the following example the assumption holds: The Robot already has a model of the world (e.g. a map).

 

The goal is for the robot to find a way from his starting point to the goal while avoiding obstacle.

Latombe introduced the notion of potential fields. The Goal attracts the robot, while obstacles repulse it.

 

X is the distance to the object.

The force of attraction to the goal is Fa = x^2 (the farer away, the stronger the attraction)

The force of repulsion from the obstacles is Fr=1/x^2 (the nearer, the stronger)

The force F that guides the robot is F=Fa+Fr.

 

The attraction to the goal creates a kind of energy “valley” towards the goal, whereas the repulsion from the obstacles creates “mountains” of energy near the obstacles.

 

This creates an energy landscape, in which the robot can navigate (travel “downhill”). The problem is, that the robot still can get stuck in local minima.

 

To use this technique, you have to know where your goal is and where the obstacles are, that means you have to have a map before you start. But even when everything is known, it is still not trivial to find a way to the goal, so this method is still valuable.

This method is more suitable for artificial environments, where all the information is known, than for natural environments.

 

The force-map is a explicit, internal datastructure we can reuse and represents the memory.

 

Question: Why don’t we build this model of the world on the fly?

Because then we have to deal with learning, which is a very hard task. Furthermore, we also would have to sense all the world on the fly to create our model.

 

 

Computer Vision

 

 

Computer Vision

Input: Visual Input (Pixels) in 2D

Output: 3D-Object

 

(This definition has no nition of motion, activity or meaning)

Language understanding

Input: sentence, text

Output: “meaning”

Medical Diagnosis

Input: Symptoms, test results

Output: illness

 

The general pattern for all this tasks is abduction.

This is one of the central dilemmas of artificial intelligence

All computation is deductive (so every program is deductive), but almost every kind of intelligence is abductive.

 

Deduction:

 

If P then Q

    P

----------------

               Q

The premisis (axioms) are true. By application of rules of inference (in this case: modus ponens), it is possible to deduce the truth of new sentences.

 

Example:

P: it is a dog

Q: it barks

 

If P then Q            [If it is a dog, then it barks]

    P                         [It is a dog]

-----------------

               Q             [It barks]

Logic does not guarantee the results to be meaningful. If the assumptions are incorrect or meaningless, the result also will be.

Deduction is truth-preserving.

 

Abduction:

Abduction was introduced by the philosopher Peirce in 1890.

 

If P then Q

               Q

------------------

     P??????

 

Is P true? Not necessarily. Example: If something barks, it doesn’t have to be a dog. There are other things that can also bark.

 

This is a common problem in artificial intelligence. You are given the effect, and you have to infer the cause.

For example, if Mario says “Hello”, this is the effect. Why does he say hello? What is his intention he tried to convey with this sound (i.e. the meaning of hello)?

 

Normal computation goes from cause to effect. Intelligence goes from effect to cause.

 

So how can you abduct?

One method is abduction through deduction.

 

Example:

It is barking, what is it?

I know 3 things that can bark.

1.)      a man

2.)      a cat talking in a foreign language

3.)      a dog

 

So I test every one of this possibilities.

Is it a man? No, Is it a cat? No. Is it a dog? Yes.

 

The problem is: This is exhaustive search, which is not feasible.

So how comes intelligence into play? We will see that next time.

 

[Short repetition: Induction=Generalizing from examples. The sun rises in the east on mo,tue,wed,thu à it rises in the east every day. Induction can be wrong.]