Hardware Neuronale Netzwerke - Lernen durch künstliche Evolution (?)

Similar documents
Neural Network Weight Selection Using Genetic Algorithms

Evolutionary Algorithms. CS Evolutionary Algorithms 1

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

Preprocessing of Stream Data using Attribute Selection based on Survival of the Fittest

Lecture 6: Genetic Algorithm. An Introduction to Meta-Heuristics, Produced by Qiangfu Zhao (Since 2012), All rights reserved

Genetic Algorithms Variations and Implementation Issues

Information Fusion Dr. B. K. Panigrahi

Outline. Motivation. Introduction of GAs. Genetic Algorithm 9/7/2017. Motivation Genetic algorithms An illustrative example Hypothesis space search

Chapter 5 Components for Evolution of Modular Artificial Neural Networks

Speeding up Hardware Evolution: A Coprocessor for Evolutionary Algorithms

Biology in Computation: Evolving Intelligent Controllers

Improving Performance of Multi-objective Genetic for Function Approximation through island specialisation

Introduction to Evolutionary Computation

Review: Final Exam CPSC Artificial Intelligence Michael M. Richter

Supervised Learning in Neural Networks (Part 2)

Suppose you have a problem You don t know how to solve it What can you do? Can you use a computer to somehow find a solution for you?

Neuro-fuzzy, GA-Fuzzy, Neural-Fuzzy-GA: A Data Mining Technique for Optimization

Kyrre Glette INF3490 Evolvable Hardware Cartesian Genetic Programming

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

Genetic Algorithms. Kang Zheng Karl Schober

Evolving SQL Queries for Data Mining

The k-means Algorithm and Genetic Algorithm

CS5401 FS2015 Exam 1 Key

11/14/2010 Intelligent Systems and Soft Computing 1

Chapter 9: Genetic Algorithms

CHAPTER 6 HYBRID AI BASED IMAGE CLASSIFICATION TECHNIQUES

Genetic Programming for Multiclass Object Classification

Data Mining. Neural Networks

Predicting Diabetes using Neural Networks and Randomized Optimization

Applied Cloning Techniques for a Genetic Algorithm Used in Evolvable Hardware Design

A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS

Monika Maharishi Dayanand University Rohtak

GENETIC ALGORITHM with Hands-On exercise

DETERMINING MAXIMUM/MINIMUM VALUES FOR TWO- DIMENTIONAL MATHMATICLE FUNCTIONS USING RANDOM CREOSSOVER TECHNIQUES

Genetic Algorithms for Vision and Pattern Recognition

Probability Control Functions Settings in Continual Evolution Algorithm

Neural Optimization of Evolutionary Algorithm Parameters. Hiral Patel

Introduction to Optimization

Introduction to Optimization

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

Genetic Algorithms and the Evolution of Neural Networks for Language Processing

Genetic Programming. and its use for learning Concepts in Description Logics

Improving interpretability in approximative fuzzy models via multi-objective evolutionary algorithms.

Using a genetic algorithm for editing k-nearest neighbor classifiers

Genetic Algorithm for Finding Shortest Path in a Network

A Parallel Evolutionary Algorithm for Discovery of Decision Rules

Mutations for Permutations

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

CHAPTER 5 ENERGY MANAGEMENT USING FUZZY GENETIC APPROACH IN WSN

Random Search Report An objective look at random search performance for 4 problem sets

Multi-label classification using rule-based classifier systems

Artificial Intelligence Application (Genetic Algorithm)

MODELLING DOCUMENT CATEGORIES BY EVOLUTIONARY LEARNING OF TEXT CENTROIDS

Neural Networks CMSC475/675

CHAPTER 4 FEATURE SELECTION USING GENETIC ALGORITHM

A genetic algorithms approach to optimization parameter space of Geant-V prototype

Evolutionary Computation. Chao Lan

Introduction to Genetic Algorithms. Based on Chapter 10 of Marsland Chapter 9 of Mitchell

Heuristic Optimisation

International Journal of Scientific & Engineering Research, Volume 8, Issue 1, January ISSN

Advanced Search Genetic algorithm

Argha Roy* Dept. of CSE Netaji Subhash Engg. College West Bengal, India.

METAHEURISTICS Genetic Algorithm

Escaping Local Optima: Genetic Algorithm

Computational Intelligence

Genetic Fourier Descriptor for the Detection of Rotational Symmetry

Introduction to Genetic Algorithms

Machine Learning in Biology

Evolution Evolves with Autoconstruction

Evolutionary Optimization of Neural Networks for Face Detection

Evolutionary origins of modularity

COMPUTER SIMULATION OF COMPLEX SYSTEMS USING AUTOMATA NETWORKS K. Ming Leung

Optimization of Association Rule Mining through Genetic Algorithm

Multilayer Feed-forward networks

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2

Preliminary Background Tabu Search Genetic Algorithm

Combinational Circuit Design Using Genetic Algorithms

Adaptive Crossover in Genetic Algorithms Using Statistics Mechanism

COMPUTATIONAL INTELLIGENCE

CHAPTER 5. CHE BASED SoPC FOR EVOLVABLE HARDWARE

A Steady-State Genetic Algorithm for Traveling Salesman Problem with Pickup and Delivery

A Memetic Genetic Program for Knowledge Discovery

The Genetic Algorithm for finding the maxima of single-variable functions

Genetic Algorithm Based Template Optimization for a Vision System: Obstacle Detection

Comparison Study of Multiple Traveling Salesmen Problem using Genetic Algorithm

Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm

Introduction (7.1) Genetic Algorithms (GA) (7.2) Simulated Annealing (SA) (7.3) Random Search (7.4) Downhill Simplex Search (DSS) (7.

The Binary Genetic Algorithm. Universidad de los Andes-CODENSA

METAHEURISTIC. Jacques A. Ferland Department of Informatique and Recherche Opérationnelle Université de Montréal.

Toward Self-adaptive Embedded Systems: Multi-objective Hardware Evolution

Opening the Black Box Data Driven Visualizaion of Neural N

Genetic Placement: Genie Algorithm Way Sern Shong ECE556 Final Project Fall 2004

Machine Evolution. Machine Evolution. Let s look at. Machine Evolution. Machine Evolution. Machine Evolution. Machine Evolution

Search Algorithms for Regression Test Suite Minimisation

A FINGER PRINT RECOGNISER USING FUZZY EVOLUTIONARY PROGRAMMING

A Web-Based Evolutionary Algorithm Demonstration using the Traveling Salesman Problem

Evolutionary Computation Part 2

Particle swarm optimization of artificial neural networks for autonomous robots. Mahmood Rahmani

MAXIMUM LIKELIHOOD ESTIMATION USING ACCELERATED GENETIC ALGORITHMS

Design Space Exploration Using Parameterized Cores

Transcription:

SKIP - May 2004 Hardware Neuronale Netzwerke - Lernen durch künstliche Evolution (?) S. G. Hohmann, Electronic Vision(s), Kirchhoff Institut für Physik, Universität Heidelberg Hardware Neuronale Netzwerke Evolutionäre Algorithmen und ihre Grenzen Inkrementelle Trainingsstrategien Experimente und Resultate

Inspiration : Biological Neural Networks e.g. the human brain parallel distributed fault tolerant adaptive

Artificial Neural Networks (ANNs) a 1 neuron N net i = ω a j= 1 ji j a 2 ω 2i ω 1i a i a = F i ( neti ) ω 3i a 3 synaptic connection

Artificial Neural Networks (ANNs) input neurons hidden neurons output neurons necessary : find synaptic weights for desired task training : optimization of weights common : supervised learning goal : generalization

Artificial Neural Networks (ANNs) shortcut connections 2 hidden layers feedback connections no hidden layer

Hardware Realization: HAGEN Chip Photo

Hardware Realization: HAGEN Chip Photo

Hardware Realization: Network Model HAGEN chip : contains 4 network blocks network block : implements a fully connected one layer network 128 64 binary inputs binary outputs 8192 analog synapses fully connected threshold activation function : O = Θ( I ), O, I {0,1} i ω ij j (McCulloch-Pitts) j network block weight values configured with 10 bit (+ sign bit) Digital to Analog Converters on chip

Hardware Realization: Network Operation clocked network operation (50 MHz) feedback connections recurrent network or multi-layer architecture inter block connections networks distributed among blocks binary interface interconnect multiple chips for even larger networks

Hardware Realization: Training Setup neural network chip HAGEN custom-made PCI board RAM programmable logic (FPGA) digital controller low-level parts of training algorithm communication via PCI bus host computer user interaction training algorithm (C++)

Training the HAGEN chip consider binary input/output neurons device variations common gradient-based training chip-in-the-loop algorithms well proven evolutionary algorithms: require no knowledge of neuron characteristics can exploit the speed of the hardware

Evolutionary Algorithms (EAs) concept process multiple networks : population of individuals simulate natural selection (based on fitness) produce offspring by recombination (crossover) + introduce variations in form of mutation C. Darwin common : use genetic coding for individuals

Evolutionary Algorithms (EAs) critical aspects fitness function performance measure problem-dependent optimizing fitness optimizing networks? selection scheme simulate natural selection balance selection and diversity genetic coding & operators suited for problem structure promote recombination of advantageous features

Genetic Coding for HAGEN Networks keeping the architecture fixed fix network cycles enable/disable feedback connections set unused synapses to 0 optimize weights of used synapses of needed input and output neurons of involved network blocks

Genetic Coding for HAGEN Networks number [-1023,1023] codes one weight gene linear string of genes codes used synapses of one output neuron chromosome set of chromosomes codes used synapses of each used neuron genome

Genetic Operators used operators two-point crossover two random cut points intermediary genes swapped between individuals new cut points for each chromosome pair + = random uniform mutation affects single genes fixed probability replaces old gene with new random value

Evolutionary Coprocessor hardware acceleration of evolution implemented in configurable logic (FPGA) hosts population (dedicated RAM) performs all genetic manipulations fast processing of genetic material extensive instruction set * programmed from outside (software) flexibility of genetic operators fitness & selection in software * under development

Selection and Reproduction Scheme example: tournament selection processing a population of Φ individuals evaluate each network investigate its fitness fill new population : tournament selection with tournament size τ old population random best new population τ = 3 form mating pairs (random) & apply crossover with probability χ mutate each gene with probability µ

Example : Classification Problems common classification problem : allocate each of the N p instances to one of N c classes by evaluating N i input parameters per instance examples * : predict cellular localization sites of E.coli and yeast proteins classify iris plants input values normalized [0,1]: code as binary n-bit integer values N i E.coli Yeast 7 8 N p 336 1484 10 Iris 4 150 N c 8 3 * data sets obtained from the UCI KDD online archive

Simple Evolutionary Training Approach one output neuron for each class when applying input activate correct neuron & deactivate all others class 1 class 3 class 2 intuitive fitness function : score 1 point for each correct active neuron correct inactive neuron after each applied input good fitness function?

Simple Evolutionary Training Approach experiment (e.g. E.coli ): evolved networks always stay totally inactive! correct output contains more 0s than 1s! correct activation score >> correct inactivation score

Simple Evolutionary Training Approach experiment (e.g. E.coli ): evolved networks always stay totally inactive! correct output contains more 0s than 1s! correct activation score >> correct inactivation score new experiment (again E.coli ): networks always predict most common class! classes not equally distributed (most common : 41%)! need adequate weighting of classes e.g. all classes equally?

Simple Evolutionary Training Approach experiment (e.g. E.coli ): evolved networks always stay totally inactive! correct output contains more 0s than 1s! correct activation score >> correct inactivation score new experiment (again E.coli ): networks always predict most common class! classes not equally distributed (most common : 41%)! need adequate weighting of classes e.g. all classes equally? etc

Discussing The Evolutionary Approach contradiction? real-life applications complex networks = complex search space simple genetic operators, simple fitness measure, simple selection scheme: suited for hardware implementation (EvoCop) fast processing exploit speed of hardware successful training?

Discussing The Evolutionary Approach contradiction? real-life applications complex networks = complex search space simple genetic operators, simple fitness measure, simple selection scheme: suited for hardware implementation (EvoCop) fast processing exploit speed of hardware successful training?

Discussing The Evolutionary Approach contradiction? real-life applications complex networks = complex search space simple genetic operators, simple fitness measure, simple selection scheme: suited for hardware implementation (EvoCop) fast processing exploit speed of hardware successful training? one approach : divide-and-conquer

Incremental Training : Stage I one problem with N classes = N problems with one class + rest train N nets : one for each problem task : activate neurons if input belongs to respective class, remain silent otherwise train nets independently (parallel or sequentially)

Incremental Training : Stage I one problem with N classes = N problems with one class + rest train N nets : one for each problem task : activate neurons if input belongs to respective class, remain silent otherwise train nets independently (parallel or sequentially)

Incremental Training : Stage I one problem with N classes = N problems with one class + rest train N nets : one for each problem task : activate neurons if input belongs to respective class, remain silent otherwise train nets independently (parallel or sequentially)

Incremental Training : Stage I one problem with N classes = N problems with one class + rest train N nets : one for each problem task : activate neurons if input belongs to respective class, remain silent otherwise train nets independently (parallel or sequentially)

Incremental Training : Stage I Cont. all nets can use the same inputs parts of one big net response of the network : class with the highest number of activated output neurons

Incremental Training : Stage II add and train connections between the subnetworks again train each subnetwork one by one the task remains the same

Incremental Training : Stage II add and train connections between the subnetworks again train each subnetwork one by one the task remains the same

Incremental Training : Stage II add and train connections between the subnetworks again train each subnetwork one by one the task remains the same

Incremental Training : Stage II add and train connections between the subnetworks again train each subnetwork one by one the task remains the same

Incremental Training : Stage II add and train connections between the subnetworks again train each subnetwork one by one the task remains the same

Advantages of Incremental Training in each training phase smaller networks = smaller search space simple two-class problem can use simple fitness function can use simple genetic operators suited for hardware implementation (EvoCop) better performance of evolutionary algorithm

Experiments : Cross-Validation setup 10-fold cross-validation test : randomly divide data set into 10 subsets nine for training, one for test of generalization repeat 10 x with different validation subset for each subset : take best net of N (e.g. 10) average over the 10 configurations : classification accuracy A in % generalization accuracy G in % repeat experiment multiple (5) times (for estimation of variance)

Results : E.coli, Yeast and Iris train nets on HAGEN using the EvoCop 6 hidden neurons and 4 outputs per subnetwork population size 10, 2000 generations per phase tournament size 2, mutation 3%, crossover 90% E.coli Yeast Iris classification accuracy A [%] 90.5 +/- 0.4 56.8 +/- 0.3 99.5 +/- 0.1 generalization accuracy G [%] 81.9 +/- 0.9 51.8 +/- 1.3 95.6 +/- 1.3 training all at once [%] 64.7** 34.2** 93.8 +/- 2.5 typical G in literature [%] 86* 60* 96 results much better than if trained all at once results comparable to other systems * Horton, Nakai, Better prediction of protein cellular localization sites with the k nearest neighbors classifier, 1997 ** Results obtained by pure software algorithm without EvoCop. Appears in : Hohmann, Schemmel, Schuermann, Meier Predicting Protein Cellular Localization Sites with a Hardware Analog Neural Network, 2003

Iris Problem : A Trained Network upper left corner of upper left block inputs intermediate outputs 2 network cycles layer 2 layer 1

Iris Problem : A Trained Network upper left corner of upper left block inputs intermediate outputs 2 network cycles phase 1 : subnetwork 1

Iris Problem : A Trained Network upper left corner of upper left block inputs intermediate outputs 2 network cycles phase 2 : subnetwork 2

Iris Problem : A Trained Network upper left corner of upper left block inputs intermediate outputs 2 network cycles phase 3 : subnetwork 3

Iris Problem : A Trained Network upper left corner of upper left block inputs intermediate outputs 2 network cycles phase 4 : subnetwork 1

Iris Problem : A Trained Network upper left corner of upper left block inputs intermediate outputs 2 network cycles phase 5 : subnetwork 2

Iris Problem : A Trained Network upper left corner of upper left block inputs intermediate outputs 2 network cycles phase 6 : subnetwork 3

Iris Problem : A Trained Network upper left corner of upper left block inputs intermediate outputs 2 network cycles network complete

Finish : The Iris Iris Virginica The End Thanks for your attention