Download Life After Silicon: An Oxymoron?

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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