Evolvable Hardware. 2 EWH EHW:  A bio-inspired technique for hardware design. Living beings:  DNA constitute the encoding of every living being on the.

Slides:



Advertisements
Similar presentations
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Advertisements

Implementation Approaches with FPGAs Compile-time reconfiguration (CTR) CTR is a static implementation strategy where each application consists of one.
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
Bio-Inspired Optimization. Our Journey – For the remainder of the course A brief review of classical optimization methods The basics of several stochastic.
Machine Learning Neural Networks
1 Introduction to Bio-Inspired Models During the last three decades, several efficient machine learning tools have been inspired in biology and nature:
Un Supervised Learning & Self Organizing Maps Learning From Examples
Symbolic Encoding of Neural Networks using Communicating Automata with Applications to Verification of Neural Network Based Controllers* Li Su, Howard.
Artificial Neural Networks - Introduction -
Neural Networks. Background - Neural Networks can be : Biological - Biological models Artificial - Artificial models - Desire to produce artificial systems.
Genetic Programming.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
CHAPTER 12 ADVANCED INTELLIGENT SYSTEMS © 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang.
Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design.
Presentation on Neural Networks.. Basics Of Neural Networks Neural networks refers to a connectionist model that simulates the biophysical information.
Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.
Artificial Neural Networks
Slides are based on Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems.
Artificial Neural Nets and AI Connectionism Sub symbolic reasoning.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Introduction to Neural Networks. Neural Networks in the Brain Human brain “computes” in an entirely different way from conventional digital computers.
IE 585 Introduction to Neural Networks. 2 Modeling Continuum Unarticulated Wisdom Articulated Qualitative Models Theoretic (First Principles) Models Empirical.
Genetic algorithms Prof Kang Li
NIMIA October 2001, Crema, Italy - Vincenzo Piuri, University of Milan, Italy NEURAL NETWORKS FOR SENSORS AND MEASUREMENT SYSTEMS Part II Vincenzo.
PROGRAMMABLE LOGIC DEVICES (PLD)
Machine Learning Dr. Shazzad Hosain Department of EECS North South Universtiy
1 Machine Learning The Perceptron. 2 Heuristic Search Knowledge Based Systems (KBS) Genetic Algorithms (GAs)
NEURAL NETWORKS FOR DATA MINING
Investigation of the Effect of Neutrality on the Evolution of Digital Circuits. Eoin O’Grady Final year Electronic and Computer Engineering Project.
1 5. Application Examples 5.1. Programmable compensation for analog circuits (Optimal tuning) 5.2. Programmable delays in high-speed digital circuits (Clock.
Artificial Neural Networks. The Brain How do brains work? How do human brains differ from that of other animals? Can we base models of artificial intelligence.
Genetic Algorithms Michael J. Watts
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
Hardware Implementation of a Memetic Algorithm for VLSI Circuit Layout Stephen Coe MSc Engineering Candidate Advisors: Dr. Shawki Areibi Dr. Medhat Moussa.
Optimization Problems - Optimization: In the real world, there are many problems (e.g. Traveling Salesman Problem, Playing Chess ) that have numerous possible.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
1/27 Discrete and Genetic Algorithms in Bioinformatics 許聞廉 中央研究院資訊所.
Fuzzy Genetic Algorithm
Computational Complexity Jang, HaYoung BioIntelligence Lab.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
“Politehnica” University of Timisoara Course No. 2: Static and Dynamic Configurable Systems (paper by Sanchez, Sipper, Haenni, Beuchat, Stauffer, Uribe)
2005MEE Software Engineering Lecture 11 – Optimisation Techniques.
Rinoy Pazhekattu. Introduction  Most IPs today are designed using component-based design  Each component is its own IP that can be switched out for.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
“Politehnica” University of Timisoara Course Advisor:  Lucian Prodan Evolvable Systems Web Page:   Teaching  Graduate Courses Summer.
1 Lecture 6 Neural Network Training. 2 Neural Network Training Network training is basic to establishing the functional relationship between the inputs.
Neural Networks Presented by M. Abbasi Course lecturer: Dr.Tohidkhah.
Waqas Haider Bangyal 1. Evolutionary computing algorithms are very common and used by many researchers in their research to solve the optimization problems.
1 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 24: Fri 11/18/2011 (Evolvable.
Artificial Neural Networks (ANN). Artificial Neural Networks First proposed in 1940s as an attempt to simulate the human brain’s cognitive learning processes.
Artificial Intelligence CIS 342 The College of Saint Rose David Goldschmidt, Ph.D.
A field of study that encompasses computational techniques for performing tasks that require intelligence when performed by humans. Simulation of human.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Evolvable Hardware (EHW) Topic Review S08*ENGG*6530 Antony Savich.
Where are we? What’s left? HW 7 due on Wednesday Finish learning this week. Exam #4 next Monday Final Exam is a take-home handed out next Friday in class.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
Multi-cellular paradigm The molecular level can support self- replication (and self- repair). But we also need cells that can be designed to fit the specific.
A Presentation on Adaptive Neuro-Fuzzy Inference System using Particle Swarm Optimization and it’s Application By Sumanta Kundu (En.R.No.
Reconfigurable Computing1 Reconfigurable Computing Part II.
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
Genetic Algorithm in TDR System
Instructor: Dr. Phillip Jones
Dr. Unnikrishnan P.C. Professor, EEE
Boltzmann Machine (BM) (§6.4)
CHAPTER I. of EVOLUTIONARY ROBOTICS Stefano Nolfi and Dario Floreano
Presented By: Darlene Banta
학습목표 공진화의 개념을 이해하고, sorting network에의 응용가능성을 점검한다
The Network Approach: Mind as a Web
Presentation transcript:

Evolvable Hardware

2 EWH EHW:  A bio-inspired technique for hardware design. Living beings:  DNA constitute the encoding of every living being on the Earth. −ACTG strings. Reconfigurable logic:  Bitstream determines the logic. −01 strings.

3 Living Beings vs. Circuits In DNA, the amount of guanine is equal to cytosine and the amount of adenine is equal to thymine. The A:T and C:G pairs are structurally similar.

4 POE Model The space of artificial bio-inspired systems can be partitioned along these three axes. 1.Phylogeny:  Temporal evolution of a certain genetic material in individuals and species. −Evolutionary algorithms (EA): simplified artificial counterpart of phylogeny in nature. −Mutation, Crossover, …. 2.Epigenesis:  Learning process during an individual’s lifetime. −ANNs: the system’s synaptic weights change through interactions with the environment. 3.Ontogeny:  Development of a single individual from its own genetic material (without environmental interaction). −Self-replicating and self-repairing cellular automata.

5 Epigenesis Artificial neural network (ANN):  Massively parallel distributed computing units made up of very simple basic elements.  Feature: Storing experiential knowledge making it available for future use.  Inspired from animals’ brains: −Benefit from a massively parallel cellular architecture. −A learning process allows acquiring a certain knowledge. −This knowledge is stored in the form of synaptic weights interconnecting neurons.  Able to compute nonlinear input-output functions.  Adaptable (adjustable synaptic weights and network topology can adapt to its operating environment).

6 ANN Perceptron:  Most known neuron model: η i (t) =  j w ij x j (t) +β i  η i (t): weighted sum for neuron i at time t,  x j (t): the input value coming from neuron j,  w ij : the weight value for the synapse connecting neuron j to neuron i,  β i : the bias value for the neuron i. Perceptron output: y i (t) = (1+e -ηi(t)/T ) -1  T: Slope of the sigmoid function.

7 ANN Supervised Learning Artificial neural network Supervised learning

8 ANN Unsupervised Learning Unsupervised learning:  There is no information about the task to be performed, synaptic modifications depend on correlations among input data. Applications:  Clustering,  Pattern recognition,  Reconstruction of corrupted data,  ….

9 Genetic Algorithms GA:  An iterative procedure applied to a constant-size population of individuals.  Each individual represents a possible solution. −Eventually one is chosen.  Each individual is coded by a finite string of symbols known as the genome.  Each genome gives rise to the individual’s phenotype, which constitutes the actual solution (e.g. a circuit) to the problem at hand (e.g., a robot controller).  The individual receives a score (fitness) depending on the performance exhibited during its evaluation.

10 GA Steps 1.Initialization:  Create an initial population of individuals −by defining a set of genomes in a random or heuristic manner. 2.Decoding:  Generate the phenotypes for the individuals in the current population by decoding (mapping) the genotypes. 3.Fitness evaluation:  Evaluate individuals according to some predefined quality criterion (fitness). 4.Genetic operators:  Apply genetically inspired operators to the current population. 5.Iterate:  If a predefined convergence condition has not been met, go back to step 2 to evaluate a new generation. Otherwise, deliver the best individual evaluated.

11 Genetic Operators Selection:  Individuals are selected into a mating pool for reproduction according to their fitness. −Stochastic or deterministic selection. Crossover:  Two genomes are selected to be split and swapped at a random position. Mutation:  The genome is randomly changed.

12

13 Conventional Circuit Design Circuit design:  A hard engineering task  Vulnerable to human error,  For large circuits the optimality of a solution cannot be guaranteed.  Design automation has become a challenge.  Increasing complexity of circuits  Higher abstraction levels needed. EWH: a solution

14 Evolutionary Circuit Design EHW:  From a given behavior specification of a circuit, an EA will search for a bitstream describing a circuit that satisfies it. −Most works: application of EAs to synthesis. −  Evolutionary circuit design is more descriptive than EHW.

15 Evolutionary Circuit Design Major advantage:  Designer’s job is reduced to constructing the evolutionary setup: Specifying 1.Circuit requirements, 2.Basic elements, 3.A decoding mechanism, 4.Testing scheme used to assign fitness −often the most difficult.  Automatic generation of the circuit.

16 EWH Two critical questions when setting up a system: 1.How to map a phenotype from a genotype? 2.How to compute the fitness of a circuit?

17 Coding Schems Types of genome encoding (circuit description): 1.High-level languages −e.g. description of ANN topologies at the neuron and layer level. 2.Low-level languages −Directly incorporating the bit string representing the configuration of a programmable circuit within the genome: −[Thompson97] A linear 1800-bit code generated in raster fashion cell by cell from lower left to upper right.

18 Low-Level Languages Low-level languages −Directly incorporating the bit string representing the configuration of a programmable circuit within the genome Genome encoding steps:  A set of basic logic gates must be chosen (e.g., AND, OR, and NOT)  and codified along with the interconnections between gates Problems:  Genome’s length: order of tens of thousands of bits, −  Evolution practically impossible  Many circuits are invalid. Solutions by XC6200:  MUX-based  Direct correspondence between the bit string of a cell and the actual logic circuit.  Separate configuration of each cell  Remarkedly faster

19 Fitness Calculation Fitness calculation:  Off-chip: −High-level language for genome representation. −  Have to transform the encoded system to evaluate fitness −  Only final solution is actually implemented in hardware.  On-chip: −Low-level language −  Direct configuration −  Can use real hardware during the evolutionary process.

20 EHW Classification Classes acc. to the level of bio-inspiration:

21 Extrinsic Evolution Extrinsic evolution:  All operations are carried out in software,  Solution possibly loaded into a real circuit. −Traditional evolutionary techniques for synthesis.  At different abstraction levels −Scheduling and allocation, −Logic synthesis, −Placement and routing.  Not suitable for evolving at bitstream level.

22 Intrinsic Evolution Intrinsic evolution:  A real circuit is used during the evolutionary process for output computation,  Most operations are still carried out in software.

23 Thompson Frequency Recognizer FPGA:  Xilinx XC6216  A 10x10 corner of 64x64 array was used.  No configuration can damage the device. −  EA can manipulate configuration without legality constraints or checking.  Configuration: 1800 bits.

24 Thompson Frequency Recognizer Circuit:  Discriminate between 1kHz and 10kHz tones. Aim:  Output goes to 5v when one tone appears at input.  Output goes to 0v otherwise. GA:  Population size: 50  Individuals: 1800-bit strings  Initial population: random  Next generation: −Copy the fittest individual −Crossover rate: 70% −Number of mutations per genotype: 2.7

25 Thompson Frequency Recognizer PC  runs EA Tone generator:  generates five 500ms bursts of 1kHz square wave  and five 500ms bursts of 10kHz square wave

26 Thompson Frequency Recognizer Inputs to circuit:  10 test tones shuffled randomly 500ms FPGA:  takes test tones  generate outputs

27 Thompson Frequency Recognizer 500ms Integrator:  integrates FPGA outputs over 500ms  generates i t for test tone number t (t = 1,2, …, 10) Fitness: S 1 :  set of five 1kHz tones S 10 :  set of five 10kHz tones k 1 =1/30730, k 2 =1/30527

28 Thompson Frequency Recognizer Objective:  Maximizing the difference: −average output voltage when 1kHz input is present and −average output voltage when 1kHz input is present.

29 Oscilloscope screen  for best individual in some generations Experiment time:  2-3 weeks  no human time

30 Final Circuit

31 Final Circuit

32 Intrinsic Evolution Disadvantages:  Impossibility of reproducing a solution: −The same bitstream does not behave in the same manner in two different devices.  Circuit’s high sensitivity to external conditions: −Slight temperature changes can modify its behavior.

33 Intrinsic Evolution Problem:  Large genome size. Solutions:  Variable-length chromosome GAs (VGA): −Genome does not directly represent the configuration bit string but rather codifies the possible logical operations and interconnections.  Evolution at the function level: −Basic units are not elementary logic gates (e.g., AND, OR, and NOT) but rather higher-level functions (e.g. sine-wave generator, multiplier). −Problem: No such commercial FPGA −Solution: [Murakawa96] proposed F 2 PGA (Function- based FPGA)

34 Complete Evolution Complete evolution:  All operations (selection, crossover, mutation) and fitness evaluation, are carried out intrinsically, in hardware. −Different from biological evolution: not open ended: −There is a predefined goal. Two types: 1.Centralized 2.Population-oriented

35 Complete Evolution Centralized evolution:  There is a single evolvable circuit and a single evolvable algorithm computation: −EA is executed in an on-chip processor.  Popular −because it greatly enhances the autonomy of the circuit −EHW can adapt to a changing environment during its lifetime.

36 Complete Evolution Centralized evolution:  Implementations of EAs in general purpose processors:  Disadvantage: −Lower performance  Advantages: −More user-friendly interface for implementing chromosome manipulations, fitness evaluations, and memory access. −Easier algorithm upgrades.

37 Complete Evolution Population-oriented:  There is a hardware implementation of the full population, (not only of one individual).  Usually based on cellular automata model

38 Complete Evolution CA:  a discrete dynamic system that performs computations in a distributed fashion on a spatially extended grid. cellular automaton:  An array of cells (n-dim, n=1, 2, 3) Cell:  can be in one of a finite number of possible states,  are updated synchronously in discrete timesteps according to a local, identical interaction rule  its state at the next timestep is determined by the current state of a surrounding neighborhood of cells. Transitions:  specified in the form of a rule table: −shows the cell’s next state for each possible neighborhood configuration.

39 Complete Evolution Population-oriented based on the cellular programming EA:  Genetic operators are computed in a distributed way: −Each automaton modifies its own rule based on its own and its neighbors’ fitness.  Each cell contains a genome that represents its rule table.  These genomes are initialized at random and then are subjected to evolution.

40 Example Andres Upegui, Eduardo Sanchez, “Evolving hardware with self-reconfigurable connectivity in Xilinx FPGAs,” NASA/ESA Conference on Adaptive Hardware and Systems (AHS), 2006.

41 Cellular Automata (CA) CA:  An array of identical computing cells.  A cell is defined by −a set of discrete states, −a rule for determining the transitions between states.  States are synchronously updated according to the rule, −The rule is function of the current state from the cell itself and the states of the surrounding neighbors: f i (s i, s j ) (j  neighbors of i)

42 Cellular Automata (CA) Cellular programming:  algorithm that considers a genome per cell −(instead of a genome for the whole system as typical evolving algorithms).  Initial node rules are initialized at random.  Initial states are initialized at random.  CA runs for M iterations.  Repeat it for a number of different initial states.  Fitness is assigned locally to each node.  Genetic operators (reproduction, crossover, and mutation) are applied to genomes.  Evolutionary operators act on a local manner: −By limiting to use genomes from neighbor cells.

43 Cellular Automata (CA) Cellular programming:  nf i : the number of fitter neighbors of cell I −if nf i =0 (i is fitter than its neighbors) then rule i is unchanged −if nf i =1 (i has a fitter neighbor) then i is replaced by the fittest one, followed by mutation −if nf i ≥ 2 (i has two or more fitter neighbors) then i is replaced by a crossover of the two fittest ones, followed by mutation

44 Random Boolean Networks (RBN) RBN:  A hardware architecture of a cellular system allowing a completely arbitrary connectionism. Differences with CA:  RBN neighbourhood is asymmetric: −if A state is an input to B, it does not implies that B state is an input to A.  RBN neighborhood is non-uniform: −if Ak is connected to A k+1,it doesn’t imply that A k+1 is connected with A k+2 ; (for k+2 ≤ N).

45 RBN RBN architecture proposed in this paper:  Each cell contains: −A rule implemented in LUT −A FF storing the cell state −flexible routing resources implemented in the form of multiplexers.  Cells’ state is updated by a rule −a Boolean function.

46 RBN Architecture An output from the cell  can be driven by the cell’s state or by any other input, −allowing the outputs to act as a bypass from distant cell states. −(In a typical 2-D CA, outputs would be always driven by the cell’s state). rule inputs  can be driven by any input or by the cell’s state. Fewer input rules:  If two multiplexers select the same driver, the 4-inputs rule becomes a 3-inputs rule,  if all multiplexers select the same input,  a 1-input rule.

47 RBN Architecture Points:  cell 3,1 has 4 inputs (N, S, E, and C),  cell 3,3 has just 2 (N and E),  and cell 1,3 has only 1 input (C) and is completely  isolated from the other nodes.  Driver-less net.

48 RBN Architecture Generating a random connectionism:  Randomly generating values of multiplexers’ selections, while forcing random drivers for drive-less nets.

49 Implementation Microblaze soft-processor running on a Virtex-II Hard macro for RBN cell (4 slices in a CLB)  If used synthesis tools, would take 5 CLBs

50 Implementation Self-reconfigurability in Virtex II:  ICAP (Internal Access Configuration Port) allows an on-chip processor to self-reconfigure the FPGA  One can directly modify some portions of the configuration bitstream without depending on Xilinx tools as XPART (a Xilinx internal tool) or Jbits [Upegui05]. −Even if Virtex II bitstream is not documented, LUT contents can be localized in the configuration bitstream by comparing the bitstream changes after specific design modifications.

51 Implementation Implementing routing and MUXes:  Routing configuration of Virtex II FPGA is complicated and not documented at all.  Technically, it would be possible to use FPGAs’ routing resources to multiplex functions’ inputs by activating the correct PIPs (programmable interconnection points).  However, reverse engineering PIPs configuration is very complex to be done by just comparing some bitstream differences.

52 Implementation Implementing MUXes by LUTs: LUT contents:  → sel = A1  → sel = A2  → sel = A3  → sel = A4 −Implementing larger multiplexers requires the use −of extra LUTs

53 Application: Firefly Firefly synchronization problem:  Synchronizing the firing of a set of 2-state nodes.  Nodes are initialized at a random state,  After a number of iterations each node must swap from one state to the other, synchronizing with his neighbors. firefly_simulation_short.wmv

54 Firefly Fitness computation:  MicroBlaze reads the nodes’ state.  When completed the number of iterations, we compute the phase of the majority of the nodes, and then we let the RBN execute four more iterations.  If the sequence is when the majority phase is 1 the fitness is 1, otherwise the fitness is 0.  If the sequence is when the majority phase is 0 the fitness is 1, otherwise the fitness is 0.

55 Firefly Simulations for 100 generations:  For 20 different initial states (individuals) do: −Random initialization of cell states −Let the RBN run for 34 iterations. −Compute partial fitness for each cell  For each cell, compute total fitness as the sum of partial fitness.  Update cell rule according to the cell fitness. Deliver the best result – the one with the highest average fitness. In 1000 simulations, 3% managed to fully synchronize.

56 Open-Ended Evolution Open-ended evolution:  Admits no externally imposed fitness criterion −but rather an implicit, emergent, dynamic one  The only form of evolution known to produce such devices as: −eyes, wings, and nervous systems  Only open-ended evolution can be truly considered EHW, −Still an elusive goal at present. Application:  Autonomous robots: −Machines capable of operating in unknown environments without human intervention (Space)

Evolvable Hardware Platforms

58 Evolvable Hardware Platforms Usually a cellular structure of uniform or non-uniform components:  Sometime we can evolve the components’ functionality  Sometime we can evolve the connectivity  Sometimes both. FPGAs fit well in the 3 rd category

59 Evolvable Hardware Platforms Problem:  Huge search space to explore: −  prevents EA from finding a solution. Solution:  Constrain search space by −Defining a set of logic cells (ANN, or more complex cells) −Constrain the connectionism (to a certain neighborhood).

60 Evolvable Hardware Platforms Evolvable substrate can be implemented using: 1.exploiting the flexibility provided by the FPGA’s configuration logic  configuration bitstream of the FPGA is directly generated.  better use of FPGA resources— −penalty: very low-level circuit descriptions  may have illegal configurations (in genetically evolved bitstreams) that cause short circuits; 2.building a custom chip  user can define configuration bitstreams (  prevent illegal configurations).  penalty: cannot benefit from advanced fabrication processes.  penalty: cannot benefit from advanced CAD tools.

61 Xilinx XC6200 Family MUX based connection architecture:  can download arbitrary bitstream: −no risk. Cell-level partial reconfiguration

62 References  [Hauck08] Scott Hauck, André DeHon, “Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation," Elsevier,  [Upegui05] A. Upegui and E. Sanchez, "Evolving hardware by dynamically reconfiguring Xilinx FPGAs", Evolvable Systems: From Biology to Hardware, LNCS, vol. 3637, pp , 2005.