Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Evolvable Hardware and the Embryonics Approach Matthew Ziegler CS 851 – Bio-Inspired Computing Overview • POE Model – The three axes of evolvable hardware • Embryonics – Overview and hierarchy – Implementation approaches – Example applications • Evaluation and Conclusion 2 POE Model • Bio-inspired hardware can be partitioned along three axes – Phylogeny: temporal evolution (GAs) – Ontogeny: cellular division – Epigenesis: learning (ANNs) 3 Phylogenetic Axis (Evolving) Phylogeny • All genetic operations carried out in hardware – Open-ended evolution (survivability) online • 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 offline 4 Ontogenetic Axis (Growing) • Ontogeny involves growth, replication, regeneration • Replication – exact duplicate, no genetic operators (ontogenetic) • Reproduction – genetic operators involved (phylogenetic) 5 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 6 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) 7 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 8 Embryonics Hierarchy • Population – group of organisms • Organism – group of cells • Cell – small processor and memory • Molecule – FPGA element 9 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 10 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) 11 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 12 Cellular Fault Tolerance • Faulty molecules replaced be spares • Polymerase Genome determines the number of spare columns No faults 1 fault / col • Example – Can tolerant one faulty molecule per column – Two faulty molecules results in a KILL 2 faults / column 13 Cellular Replication Cell contains entire Operative Genome, but only one gene is expressed X-Y coordinates determine gene expression 14 Organism • Group of cells forms an Organism X-Y coordinates determine gene expression 15 Organism Fault Tolerance • A Faulty cell causes all cells in the column to be marked with a KILL • Faulty column replaced by spare column 16 Population from Organism Replication • Organism replicates in X-Y directions • Organisms are required to be identical (apparently) 17 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 18 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 19 Simple Example - StopWatch • Simple organism with 4 cells – Countmod10 – counts tens minutes or seconds – Countmod6 – counts 6 tens minutes or seconds 20 Other Simple Examples • Random number generator based of Wolfram’s CA • Specialized Turing machine for parenthesis checking 21 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 22 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 23 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 24 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? 25 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 26 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” 27 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 28