Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730:...

Post on 17-Jan-2016

216 views 0 download

transcript

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Lecture 37 of 42

Monday, 01 December 2008

William H. Hsu

Department of Computing and Information Sciences, KSU

KSOL course page: http://snipurl.com/v9v3

Course web site: http://www.kddresearch.org/Courses/Fall-2008/CIS730

Instructor home page: http://www.cis.ksu.edu/~bhsu

Reading for Next Class:

Sections 22.1, 22.6-7, Russell & Norvig 2nd edition

Vision, Part 1 of 2Discussion: GEC Concluded

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Lecture Outline

This Week: Chapter 26, Russell and Norvig 2e

Today: Chapter 23, R&N 2e

Wednesday (Last Lecture!): Chapter 24, R&N 2e

References Robot Vision, B. K. P. Horn

Courses: http://www.palantir.swarthmore.edu/~maxwell/visionCourses.htm

UCB CS 280: http://www.cs.berkeley.edu/~efros/cs280/

The Vision Problem Early vs. late vision

Marr’s 2 ½ - D sketch

Waltz diagrams

Shape from Shading Ikeuchi-Horn method

Subproblems: edge detection, segmentation

Optical Flow

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

GP Flow Graph

Adapted from The Genetic Programming Notebook © 2002 Jaime J. Fernandezhttp://www.geneticprogramming.com

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Structural Crossover

Adapted from The Genetic Programming Notebook © 2002 Jaime J. Fernandezhttp://www.geneticprogramming.com

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Structural Mutation

Adapted from The Genetic Programming Notebook © 2002 Jaime J. Fernandezhttp://www.geneticprogramming.com

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Genetic Programming: The Next Generation

(Synopsis and Discussion) Automatically-Defined Functions (ADFs)

aka macros, anonymous inline functions, subroutines

Basic method of software reuse

Questions for Discussion

What are advantages, disadvantages of learning anonymous functions?

How are GP ADFs similar to and different from human-produced functions?

Exploiting Advantages

Reuse

Innovation

Mitigating Disadvantages

Potential lack of meaning – semantic clarity issue (and topic of debate)

Redundancy

Accelerated bloat – scalability issue

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Code Bloat [1]:Problem Definition

Definition Increase in program size not commensurate with increase in functionality

(possibly as function of problem size)

Compare: structural criteria for overfitting, overtraining

Scalability Issue Large GPs will have this problem

Discussion: When do we expect large GPs?

Machine learning: large, complex data sets

Optimization, control, decision making / DSS: complex problem

What Does It Look Like?

What Can We Do About It? ADFs

Advanced reuse techniques from software engineering: e.g., design patterns

Functional, object-oriented design; theory of types

Controlling size: parsimony (MDL-like), optimization (cf. compiler)

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Code Bloat [2]:Mitigants

Automatically Defined Functions

Types

Ensure

Compatibility of functions created

Soundness of functions themselves

Define: abstract data types (ADTs) – object-oriented programming

Behavioral subtyping – still “future work” in GP

Generics (cf. C++ templates)

Polymorphism

Advanced Reuse Techniques

Design patterns

Workflow models

Inheritance, reusable classes

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Code Bloat [3]:More Mitigants

Parsimony (cf. Minimum Description Length)

Penalize code bloat

Inverse fitness = loss + cost of code (evaluation)

May include terminals

Target Language Optimization

Rewriting of constants

Memoization

Loop unrolling

Loop-invariant code motion

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Genetic Programming 3(Synopsis and Discussion [1])

Automatic Program Synthesis by Computational Intelligence: Criteria

1. Specification: starts with what needs to be done

2. Procedural representation: tells us how to do it

3. Algorithm implementation: produces a computer program

4. Automatic determination of program size

5. Code reuse

6. Parametric reuse

7. Internal storage

8. Iteration (while / for), recursion

9. Self-organization of hierarchies

10. Automatic determination of architecture

11. Wide range of programming constructs

12. Well-defined

13. Problem independent

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Genetic Programming 3(Synopsis and Discussion [2])

16 Criteria for Automatic Program Synthesis …

14. Generalization: wide applicability

15. Scalability

16. Human-competitiveness

Current Bugbears: Generalization, Scalability

Discussion: Human Competitiveness?

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Summary of Videos

GP1: Basics of SGP

GP2: ADFs and Problem of Code Bloat

GP3: Advanced Topics

A. M. Turing’s 16 criteria

How GP does and does not (yet) meet them

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

More Food for Thoughtand Research Resources

Discussion: Future of GP

Current Applications

Conferences

GECCO: ICGA + ICEC + GP

GEC

EuroGP

Journals

Evolutionary Computation Journal (ECJ)

Genetic Programming and Evolvable Machines (GPEM)

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

More Food for Thoughtand Research Resources

Discussion: Future of GP

Current Applications

Conferences

GECCO: ICGA + ICEC + GP

GEC

EuroGP

Journals

Evolutionary Computation Journal (ECJ)

Genetic Programming and Evolvable Machines (GPEM)

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision)

Line Drawing Interpretation

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision)

Line Labeling [1]:Solid Polyhedra and Other Shapes

Waltz,others

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision)

Line Labeling [2]:Junctions

Junctions occur at tangent discontinuities

FalseT-junctions

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Adapted from slides © 1999 T. Leung, UC Berkeley (CS 280 Computer Vision)

Orientation and Texture Discrimination (Textons) [1]

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision)

Orientation and Texture Discrimination (Textons) [2]

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision)

Segmentation (Grouping) [1]:Definition

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision)

Segmentation (Grouping) [2]:Physical Factors

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision)

Edge Detection [1]:Convolutional Filters and Gaussian

Smoothing

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision)

Edge Detection [2]:Difference of Gaussian

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision)

Binocular Stereo [1]:Stereo Correspondence – Properties

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision)

Binocular Stereo [2]:Stereo Correspondence – Open Problems

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision)

Optical Flow

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Terminology

Vision Problem Early vs. late vision

Marr’s 2 ½ - D sketch

Waltz diagrams

Shape from Shading Ikeuchi-Horn method

Subproblems: edge detection, segmentation

Optical Flow

Computing & Information SciencesKansas State University

Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence

Summary Points

References Robot Vision, B. K. P. Horn

http://www.palantir.swarthmore.edu/~maxwell/visionCourses.htm

The Vision Problem Early vs. late vision

Marr’s 2 ½ - D sketch

Waltz diagrams

Shape from Shading Ikeuchi-Horn method

Subproblems: edge detection, segmentation

Optical Flow

Next Week Natural Language Processing (NLP) survey

Final review