Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

28
Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach

Transcript of Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

Page 1: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

Matthew ZieglerCS 851 – Bio-Inspired Computing

Evolvable Hardware and the

Embryonics Approach

Page 2: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

2

Overview

• POE Model– The three axes of evolvable hardware

• Embryonics

– Overview and hierarchy

– Implementation approaches

– Example applications

• Evaluation and Conclusion

Page 3: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

3

POE Model

• Bio-inspired hardware can be partitioned along three axes

– Phylogeny: temporal evolution (GAs)

– Ontogeny: cellular division

– Epigenesis: learning (ANNs)

Page 4: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

4

Phylogenetic Axis (Evolving)

• All genetic operations carried out in hardware– Open-ended evolution (survivability)

• All genetic operations carried out in hardware– Not open-ended evolution

• Real Circuit– Some operations carried out in software

• Evolutionary circuit design– All operations carried out in software

Phylogeny

online

offline

Page 5: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

5

Ontogenetic Axis (Growing)

• Ontogeny involves growth, replication, regeneration

• Replication – exact duplicate, no genetic operators (ontogenetic)

• Reproduction – genetic operators involved (phylogenetic)

Page 6: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

6

Epigenetic Axis (Learning)

• Rote learning vs. Intelligent learning

– Intelligent learning involves generalization

• Predesigned systems can be viewed as a leaned systems with instinct

– Learned systems are faster and less resource demanding

• Artificial Neural Networks are primary example Learning Systems

• Human brain consists of both learned and learning systems

Page 7: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

7

POE Space

• PO plane – evolving hardware that exhibits replication characteristics

• PE plane – evolving hardware that can learn– Instincts arise during the course of evolution (Baldwin effect)

– Language – humans have innate ability to learn language, but do not know language at birth

• OE plane – growing, learning hardware– Growing, adaptive neural networks

based on information learned

• POE space – ANN (E), implemented via self-replicating multicellular automaton (O), whose genome is subject to evolution (P)

Page 8: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

8

Embryonics Project Goals

Multicellular organisms share the following features:

1. Multicellular Organization• Organism divided into a finite number of cells• Different types of cells realize different functions

2. Cellular Division• Cells generate one or two daughter cells• Entire genome copied in each daughter cell

3. Cellular Differentiation• Each cell has a particular function, genome expression• Cell function is determine by physical position in organism

Page 9: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

9

Embryonics Hierarchy

• Population – group of organisms

• Organism – group of cells

• Cell – small processor and memory

• Molecule – FPGA element

Page 10: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

10

Artificial Genome

• Operative Genome (OG)

– program containing all genes, position in array determines which gene is expressed

– each cell contains entire OG, i.e., instruction for all cells

• Ribosome Genome (RG)

– configuration string to assign logic functions to each molecule

• Polymerase Genome (PG)

– height and width of the cell (number of molecules), number of spare columns

Page 11: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

11

Molecule

• MUX based FPGA element

• MOLCODE defines individual molecule configuration, portion of Ribosome Genome

• Molecule-level redundancy and error detection– Only checks MUX failure, what about registers?– Could add third MUX and voter for triple-modular

redundancy (TMR)

MOLCODE +

(stored in registers)

Page 12: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

12

Cell

• Cells composed of a group of molecules

• Spare columns included to account for faulty molecules

• Ribosome Genome– configuration string to assign logic

functions to each molecule

• Polymerase Genome– height and width of the cell

(number of molecules), number of spare columns

Page 13: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

13

Cellular Fault Tolerance

• Faulty molecules replaced be spares

• Polymerase Genome determines the number of spare columns

• Example– Can tolerant one faulty

molecule per column– Two faulty molecules

results in a KILL

No faults 1 fault / col

2 faults / column

Page 14: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

14

Cellular Replication

Cell contains entire Operative Genome, but only one gene is expressed

X-Y coordinates determine gene expression

Page 15: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

15

Organism

• Group of cells forms an Organism

X-Y coordinates determine

gene expression

Page 16: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

16

Organism Fault Tolerance

• A Faulty cell causes all cells in the column to be marked with a KILL

• Faulty column replaced by spare column

Page 17: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

17

Population from Organism Replication

• Organism replicates in X-Y directions

• Organisms are required to be identical (apparently)

Page 18: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

18

Implementation

• “Eventual Implementation”– Want flexible architecture that will eventually be

implemented in a “new kind of fine-grained FPGA”– Each element consists of a MUX and

programmable connection network ~ molecule

• First Demonstration system– essentially removes the concept of a molecule – Artificial cell implementation called MICTREE

(microinstruction tree), based on a binary decision machine

Page 19: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

19

MICTREE Implementation

• MICTREE cell sequentially executes programs using the following instruction set:

• Essentially a 4-bit wide processor• Limited to 16 x 16 array (256 cells, register sizes)• Microprogram limited to 1024 instructions (RAM size)

– microprogram space for Operative Genome

Page 20: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

20

Simple Example - StopWatch

• Simple organism with 4 cells– Countmod10 – counts tens minutes or seconds– Countmod6 – counts 6 tens minutes or seconds

Page 21: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

21

Other Simple Examples

• Random number generator based of Wolfram’s CA

• Specialized Turing machine for parenthesis checking

Page 22: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

22

Second Generation: MUXTREE Molecule

• MICTREE applications limited to 1024 instructions and 16 x16 arrays

• New molecule called MUXTREE (multiplexer tree)– Based on order binary

decision diagrams– 20-bit configuration string

Page 23: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

23

Fault Tolerance in MUXTREE

• Muxes and register duplicated, output compared for fault

• Third copy of register is a present for self-repair (TMR)

• Configuration register tested every time (shift register)

• Faults in the switch block can be detected, but not repaired

Page 24: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

24

MUXTREE Shift Binary Decision Machine

• 30 x 30 array (900) MUXTREE molecules, 2 Cells

• Program memory is a shift memory using the D-flip-flops in the MUXTREEs– Most of resources in MUXTREE wasted– Difficult to embed typical RAM in MUXTREE arrays

• Example application modulo-60 counter– Operative Genome has 36 instructions

Shift Memory

Page 25: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

25

Mapping the MUXTREE to an FPGA

• Storing the entire Operative Genome is in each cell is an

inefficient use of hardware

– Area for a living organism is less “expensive” than in hardware

• 16 MUXTREEs could be mapped to FPGA is OP is fully

specified for each cell

• New version of MUXTREE, each cell stores only its own

portion of the OG as well as all cells in a neighboring column

– reduces storage requirements from n2 + 1 to n + 1

• 25 MUXTREEs mapped to FPGA in more recent work

– example application is a frequency divider on one FPGA

• Is this reasonable?

Page 26: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

26

Looking at the Numbers…

• 900 MUXTREEs for a shift binary decision machine– programmed to act as a modulo 60 counter

• 25 MUXTREE per FPGA

• 900 / 25 = 36 FPGAs?! - way too big!

• Optimal implementation of modulo 60 counter has– 6 Registers, 6 muxes, 6 nand gates – should only occupy a small portion of one FPGA

• Frequency divider example– essentially a counter as well

• Optimal implementation would occupy small percentage of FPGA

Page 27: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

27

Neat Idea, but Too Expensive

• Embryonics approach looks to have around 10-100x area overhead– too costly for current technologies– living organisms grow/evolve into “free” area, where as all

hardware area must be allocated initially

• Speed and Power Consumption should lag behind conventional approaches as well

• + Plus Side– evolvable, reconfigurable design paradigm – multiple levels of fault-tolerance (important for future

technologies)– may be more appealing for future technologies, if “area

grows on trees”

Page 28: Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

28

Summary

• POE model is a reference for many evolvable hardware researchers– Phylogeny axis: evolving

– Ontogeny axis: growing

– Epigenesis axis: learning

• The Embryonics Approach is inspired by nature’s architecture

– molecule, cell, organism, population

• Functioning prototype systems based on Embryonics have been demonstrated

• However, the hardware overhead is quite expensive for today’s technologies