AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho...

31
1 Stanford EE380, Jan 23, 2008 Copyright © 2008 Jim Torresen, University of Oslo Robotics and Intelligent Systems Adapting Adapting Systems by Systems by Evolving Evolving Hardware Hardware Computer Systems Colloquium (EE380) Computer Systems Colloquium (EE380) Wednesday, 4:15 Wednesday, 4:15- 5:30PM in Gates B01 5:30PM in Gates B01 Jim Torresen Robotics and Intelligent Systems Group Department of Informatics University of Oslo, Norway E-mail: [email protected] http://www.ifi.uio.no/~jimtoer Stanford EE380, Jan 23, 2008 Copyright © 2008 Jim Torresen, University of Oslo Robotics and Intelligent Systems University of Oslo Norway

Transcript of AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho...

Page 1: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

1

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

AdaptingAdapting Systems by Systems by EvolvingEvolving HardwareHardware

Computer Systems Colloquium (EE380) Computer Systems Colloquium (EE380) Wednesday, 4:15Wednesday, 4:15--5:30PM in Gates B015:30PM in Gates B01

Jim TorresenRobotics and Intelligent Systems Group

Department of InformaticsUniversity of Oslo, Norway

E-mail: [email protected]://www.ifi.uio.no/~jimtoer

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

University of OsloNorway

Page 2: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

2

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

BiologyApply

principlesfrom nature

ApplicationsMake everydayliving easier and

safer

Electronics

Robotics

Robotics and intelligent systems

RoboticsRobotics and and Intelligent Systems Intelligent Systems GroupGroup

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

Work presented is a collaboration with PhDWork presented is a collaboration with PhD--student student KyrreKyrre GletteGlette

Page 3: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

3

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

Work presented is a collaboration with PhDWork presented is a collaboration with PhD--student student KyrreKyrre GletteGlette

Picture from media

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

OutlineOutlineBackgroundIntroduction to evolvable hardware and reconfigurable logicEvolving hardware for signal and image classificationResultsConclusions

Page 4: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

4

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsPrinciples of Principles of the Naturethe Nature

Evolution: Biological systems develop and change during generations.

Development: By cell division a multi-cellular organism is developed.

Learning: Individuals undergo learning through their lifetime.

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsEvolutionEvolutionBiological evolution:

Lifeforms adapt to a particular environment over successive generations.Combinations of traits that are better adapted tend to increase representation in population.Mechanisms: Selection+Crossover, Mutation and Survival of the fittest.

Evolutionary Computing (EC):Mimic the biological evolution to optimize solutions to a wide variety of complex problems.In every new generation, a new set of solutions is created using bits and pieces of the fittest of the old.Several algorithms are available including Genetic Algorithms (GA) and Genetic Programming (GP)

Page 5: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

5

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsHow do we How do we evolve a circuit?evolve a circuit?

Input/Output Specification

Genetic Algorithm

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

Two main directions:Tuning/optimizing parameters of a circuit or

system (also called evolutionary circuit design).Evolving a system from scratch.

New features provided:Run-time adaptive hardware Self repairing hardware

Goal:Make better computing systems than

traditional architectures for real-world applications.

Possibilities of Possibilities of Evolvable Hardware (EHW)Evolvable Hardware (EHW)

Page 6: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

6

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

EHW Applied to RealEHW Applied to Real--World World ApplicationsApplications

AnalogAdaptive Equalizer Amplifier and Filter Design Analog Circuit Synthesis

Parameter tuningClock Timing Adjustment Analog Filter Tuning

Robot Control

Image processingImage CompressionImage Filtering Image Recognition

Classification/RecognitionSonar ClassificationGene FindingProsthetic Hand

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsEvolving a CircuitEvolving a CircuitDefine the basic building blocks:

Digital (gates or higher level functions)Analog (transistor/resistor/L/C)

Represent each building block in the chromosome by its function and its connectionsto other building blocks in the circuit.

Page 7: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

7

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsEvolvingEvolving a a CircuitCircuit

Initialize apopulationof circuits

Evaluate thecircuits

Sort circuitsbased on

their fitness

Is the best circuit

acceptable?

Make new circuitsby combining parts

from the highestranked circuits

No

Yes

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

Evolutionary Operators: Evolutionary Operators: Genetic Algorithms (GA)Genetic Algorithms (GA)

00000000000000 11111111111111

1111111000000000000001111111

Crossover

1111101000000000100001111111

Mutation

Circuit x Circuit y

Page 8: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

8

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsHillclimbingHillclimbingProblem in Problem in SearchSearch

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

FitnessFitness

A measure of how well adapted an individual is.The value determines the probability of being selected for reproduction.The way the fitness function is constructed is critical for the GA performance.

Page 9: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

9

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsComputing Computing Circuit FitnessCircuit Fitness

Decode

p oFitness= Σ Σ (match of output o for pattern p)

Execute/ Simulate

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

Fitness Computation OFFLINE Fitness Computation OFFLINE (extrinsic)(extrinsic)

GA+Fitnesscomputation

Best Circuit

Page 10: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

10

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

Fitness Computation ONLINE Fitness Computation ONLINE (intrinsic)(intrinsic)

GA Configu-ration

Fitness

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsEvolutionEvolution

GAOff-chip evolution

GAComplete HW evolution

GACPU

On-chip evolution

Our approach

Page 11: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

11

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

FPGA (FPGA (FieldField ProgrammableProgrammable Gate Gate ArrayArray))

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

ConfigurationConfiguration ofof FPGA (FPGA (FieldFieldProgrammableProgrammable Gate Gate ArrayArray))

X X X X X X X X X X X

X X X X X X X X X X X

X X X X X X X X X X X

X X X X X X X X X X X

X

X X X X X X X X X X

X X X X X X X X X X X

Primaryinputs

Primaryoutputs

UninitializedSRAM cells

(a) Unconfigured

Configurationdata stream

Primaryinputs

Primaryoutputs

SRAM cellsloaded with 0s and 1s

(b) Configured

0 0 1 1 0 1 1 0 1 0 0 1

1 0 1 1 0 1 0 0 1 0 1 1

1 1 0 1 0 0 1 0 0 0 0 1

0 1 1 0 0 1 1 0 1 0 0 0

0

0 0 1 1 0 1 1 0 0 1 1

1 0 1 1 0 0 1 1 1 1 0 1

The Design Warrior’s Guide to FPGAsDevices, Tools, and Flows. ISBN 0750676043Copyright © 2004 Mentor Graphics Corp. (www.mentor.com)

Page 12: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

12

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

FPGA for Data ProcessingFPGA for Data Processing

Processor

RAM

FPGA

Traditional system

FPGA

FPGA

RAM

Processor

FPGA based system

Configuration

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

PerformancePerformance ComparisonComparison ((NallatechNallatech))

67 GBytes/sec8.5 GBytes/secI/O / External Memory Bandwidth

13 GFLOPS0.76 GFLOPSSustained Performance

26 GFLOPS7.6 GFLOPSPeak Performance

< 10W> 100WPower Consumption

1462# Floating Point Units

7.5 TBytes per Sec122 GBytes per Sec

Internal Memory Bandwidth

180 MHz3.8 GHzClock speed

FPGA (2VP100)Microprocessor (P4)

Page 13: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

13

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

FunctionsFunctions WellWell SuitedSuited to FPGAto FPGAAccelerationAccelerationSearchingSortingSignal processingAudio/video/imagemanipulationEncryptionError correctionCoding/decodingNetwork packet processingData analysis (oil, gas, finance)

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

ProcessorProcessor versus FPGAversus FPGA

Processor

Program memory

SRAM program memoryProgram loaded at startupComplete program in internal or external memoryNo swapping to other programsProcessor technology ~1985FPGA technology 2008!

External program memory

Page 14: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

14

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

Virtual Reconfigurable Virtual Reconfigurable CircuitCircuit

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

SystemSystem--OnOn--ChipChip EvolutionEvolution onon FieldFieldProgrammableProgrammable Gate Gate ArrayArray (FPGA)(FPGA)

Xilinx Virtex-II Pro FPGAA hard (PowerPC) or soft (MicroBlaze) processor core is usedThe processor core runs the evolutionary algorithmEvaluation of individuals is performed on the EHW module in the same chip

EHW GA

Page 15: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

15

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsPrototypingPrototyping BoardBoard: : XUP XUP VirtexVirtex--IIII ProPro

XC2VP30 Virtex-II Pro FPGA

13969 Slices, 2448 Kb BRAM2 PPC405 cores

DDR SDRAM slotCompactFlash slotVGA, AC97, PS2, RS232, ...

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsSystemSystem--OnOn--ChipChip

Local MemoryBus – Fast access to program memory

On-chipPeripheralBus – Used to connect theperipherals in the system

Page 16: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

16

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsEvolving SystemsEvolving Systems

Chromosome string representation

10010110101

Smallsystem

Small andsimple problem

100101101...10110001001

Largesystem

Large andcomplex problem

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

Dividing the applicationDividing the applicationIdea: Evolve a system gradually (divide-and-conquer the application).

Inputs Outputs x3 x2 x1 y3 y2 y1 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 1 0 Benefits:

Simpler and smaller search space for the evolution.

Partitioned training vectors

Partitioned training set

Page 17: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

17

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

EarlierEarlier ArchitectureArchitecture: : ProstheticProsthetic HandHand

Step 2 evolution

Step 1 evolution1

6

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

Classification ApplicationsClassification Applications

Face Image Recognition

Sonar Return Classification

Prosthetic Hand Sensor Signal Classification

Page 18: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

18

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsSystem System OverviewOverview

PowerPC (hard core)

or MicroBlaze(soft core)

FPGA

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsClassificationClassification ModuleModule

CategoryDetectionModule

Page 19: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

19

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsCDMCDMStanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsFunctionalFunctional UnitUnit

f Description Function0 Greater than O = 1 if I > C, else 01 Less than or equal O = 1 if I < C, else 0

Page 20: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

20

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

AT&T Database of Faces(formerly The ORL Database of faces)

Classify images of 40 different persons 10 different images of each face

ApplicationApplication to be to be presentedpresented

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsInput Input ReductionReduction

92x112 8-bit pixels resampled to 8x8 8-bit pixelsInput pattern: 512 bits

Page 21: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

21

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

Example: One FU RowExample: One FU Row

< 70 >150 <100 >170

To counter

ANDEvolution determines:• Selection of pixels• Expressions

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

FU HW FU HW ImplementationImplementation

Page 22: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

22

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsEvolutionEvolution and and FitnessFitness FunctionFunction

Pixel address (6 bit) Function (1 bit) Constant (8 bit)FU:

FU row: FU1 (15b) FU2 (15b) ... FUN(15b)

One FU row can be evolved at a timeFitness function emphasizes positive matches of the category being evolved at the moment.

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

Fitness Fitness ComputationComputation

Training Set

Category1

CategoryK

Categoryi

CDM iA correct match (1) counts A times more

than a correct match (0) for

other categories

Page 23: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

23

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsFEMFEM

Can be dupli-cated for parallel evaluation

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsCDMCDM

Flexible M

Flexible N

Page 24: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

24

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

ResultsResults: : ArchitectureArchitecture ParametersParameters

More FU rows within a CDM gives a higher chance of correct classification

Each FU row evolved with random initial values – gives different “rules”The more FU rows in a CDM, the higher the output resolution

Too few or too many FUs in a row make it more difficult to evolve a classifier

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

ResultsResults: : ClassificationClassification AccuracyAccuracy

Using 6 FUs per row and 10 rows per CDMUsing x training vectors per category and the rest (10-x) as test vectors96.25% accuracy using 9 training vectors per category

Better than previous offline EHW architectureCompetitive to Eigenfaces or Fisherfaces, SVM (Support Vector Machine) performs better

Page 25: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

25

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

HW ImplementationHW Implementation

Implemented on a Xilinx Virtex-II Pro XC2VP30Evaluation module: 371 slices (2%)Parallel evaluation (8 individuals): 1393 slices (10%)

Estimated < 1 µs classification time per pattern (@100 MHz), using time multiplexing

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

8 parallel evaluationsFitness evaluation alone is 2.12 times faster in HWGA is not fully optimized for the PowerPC

GA without fitness

evaluation

Remaining fitness

comp. time

EvolutionEvolutionSpeedSpeed

Page 26: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

26

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

Original data in float values, converted to 8 bit integers60 samples, 8 bits per sample => 480 bits per input patternEach pattern is presented to all FUs

Input (Sonar)Input (Sonar)

sonar spectrum 60 8-bit samples0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0 10 20 30 40 50 600

20 40 60 80

100 120 140 160 180 200

0 10 20 30 40 50 60

metal

rock

max

. det

ecto

r

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsClassificationClassification

AccuracyAccuracy (Sonar)(Sonar)

Using 6 FUs per row, average over 10 runs104 training vectors, 104 test vectors (total)

Better than previous offline EHW architectureBetter than the original ANN implementation (90.4% avg.)SVM performs better (95.2%)

91.4%99.6%58

87.8%97.3%20

Test set (avg.)Training set (avg.)FU rows (M)

Page 27: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

27

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

Implemented on a Xilinx Virtex-II Pro XC2VP30 (XUP2VP)Classification module:

0.5 µs classification time per pattern (@118 MHz), using time multiplexingEvaluation module: 371 slices (2%)

Parallel evaluation (8 individuals): 1393 slices (10%)

HWHWImplementation (Sonar)Implementation (Sonar)

811118958

28386620

% of FPGASlicesFU rows

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsSystem System OverviewOverview

Page 28: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

28

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsEvolution Evolution

Speed (Sonar)Speed (Sonar)

Average number of generations required per row is 853 (limit 1000)98948 generations for entire system

0.54s per row63s for entire system

System is operational after 4.3s (8 rows)

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

Partialreconfigu-ration ofthe CDMs

Page 29: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

29

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsConclusionsConclusions 11

High classification speedSuitable for problems requiring high throughput

High classification accuracyComparable or better than other methods (with exception for SVM)

Incremental evolutionMakes evolution of a large system possibleEvolution time is shortThe evaluation module requires few FPGA resources

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent SystemsConclusionsConclusions 22

Run-time reconfigurable architectureAllows for online evolution in an on-chip systemSuitable for adaptation to a changing fitness function/training set

Combination of SW/HW on-chip gives benefitsEvolution time can be kept down with HW fitness evaluationThe rest of the GA can run in SW, allowing for easy modificationsA compact system (SoC)

Page 30: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

30

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

EHW ConferencesEHW ConferencesInternational Conference on Evolvable Systems (ICES). Springer LNCS.

Next conference: Prague, Czech RepublicPaper deadline: March 19, 2008

NASA/ESA Conference on Adaptive Hardware and Systems (AHS), IEEE.

Next conference: Noordwijk, The NetherlandsPaper deadline: January 31, 2008

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

The work presented has been funded by the Research Council of Norway through the project Biological Inspired Design of Systems for Complex Real-World Applications (project no 160308/V30).

Page 31: AdaptingSystems by EvolvingHardware · Title: Microsoft PowerPoint - Torresen_EE380_Jan23_ho Author: jimtoer Created Date: 1/24/2008 2:42:22 PM

31

Stanford EE380, Jan 23, 2008

Copyright © 2008 Jim Torresen, University of Oslo

Robotics and Intelligent Systems

Thank you!Thank you!Please feel free to contact me after this talk.

Several PhD positions will be available soon (one in our group).

I’m also available for discussions here at Stanford, Friday January 25.

E-mail: [email protected]://www.ifi.uio.no/~jimtoer