Learning - University of Haifa

Download Report

Transcript Learning - University of Haifa

Learning
Achieving AI via Learning: an old
dream; recent results
L. Manevitz All rights reserved
How does a baby gain
intelligence (as measured by
Turing Test)?
• Some things are “programmed in”
(smiling, crying, feeling).
• Language, problem solving however
seem to be learned.
• How is this done? possible?.
An Old Idea: Design a “Baby”
with LEARNING capabilities
and let it achieve AI by itself
• Several Different Giant Projects around
the world in this direction
• CYC Project of Doug Lenat
• CYBORG Project of Rodney Brooks.
CYC Project
• Basic Idea; develop “common sense” by
cataloging huge number of basic facts
and “scripts” so that information
available in “intelligent” fashion
immediately with graceful degradation.
• Learning involves acquiring new facts
and scripts.
Cyborg Project
• True learning from “ground zero”. Idea
that intelligence integrally bound in
learning and in the physical structure of
the artifact. Thus making “human like”
robot; where learning is by interplay with
other humans.
Underlying Learning Ideas
• These projects use a variety of learning
techniques. Today we will briefly
describe a few of them.
Some Learning Techniques
• Concept Learning By Examples
• Learning By Building Identification Tree (ID3)
• Parameter Learning (reinforcement learning)
• Parameter Learning (Neural Networks and
Perceptrons)
Concept Learning (Using
Teacher)
• Suppose we are in the world of blocks.
• Suppose we have a huge object oriented
data base using inheritance of different
types which tells us information about
different kinds of blocks (e.g. default
information; weight calculation, and so
on).
• Suppose we would like to learn a new
“concept”; say that of an “arch”.
• A teacher can then give examples of both
arches; and non-arches and by this way
guide the “student”, I.e. the program to
add to its data base the new concept of
arch.
• This requires various heuristics.
Basic Algorithm
• Start Initial Concept with First Positive
Example
• For each subsequent example
– If “non-example” use SPECIALIZE
– If positive example use GENERALIZE
NOTE: Order of examples determined by
TEACHER
Specialize
• Match Negative Example to Concept Model
• Find single, “most important” difference
between example and concept
– If not identifiable, ignore example
– If example has link lacking in model use “forbid link”
heuristic
– If model has link lacking in example use “require
link” heuristic
Arch Example
Support
Support
Left of
Generalize
• Match Positive Example to Concept Model
• For each difference :
– If link points to different classes in example and model
• If classes part of classification tree, use “climb-tree”
heuristic
• If classes form exhaustive set, use “drop-link”
• Otherwise, use “enlarge set” heuristic
– If link missing in example, use “drop-link” heuristic
– If different numerical values use “close-interval” heuristic
Some Heuristics (following
Winston’s presentation)
• Require Link
• Forbid Link
• Climb Tree
• Enlarge Set
• Drop Link
• Close Interval
Arch Learning
Show evolution of model
• Follow Winston development 352 - 355