Presentation is loading. Please wait.

Presentation is loading. Please wait.

Evolving a Sigma-Pi Network as a Network Simulator by Justin Basilico.

Similar presentations


Presentation on theme: "Evolving a Sigma-Pi Network as a Network Simulator by Justin Basilico."— Presentation transcript:

1 Evolving a Sigma-Pi Network as a Network Simulator by Justin Basilico

2 Problem description n To evolve a neural network that acts as a general network which can be “programmed” by its inputs to act as a variety of different networks. u Input: Another network and its input. u Output: The output of the given network on the input. n Use a sigma-pi network and evolve its connectivity using a genetic algorithm.

3 Problem motivation n If a network can be created to simulate other networks given as input, then perhaps we can build neural networks that act upon other neural networks. n It would be interesting to see if one network could apply backpropagation to another network.

4 Previous work n This problem remains largely unexplored. n Evolutionary techniques have been applied to networks similar to sigma-pi networks u Janson & Frenzel, Training Product Unit Neural Networks with Genetic Algorithms (1993) F Evolved product networks, which are “more powerful” than sigma-pi networks since they allow a variable exponent

5 Previous work n Papers from class that are provide some information and inspiration: u Plate, Randomly connected sigma-pi neurons can form associator networks (2000) u Belew, McInerney, & Schraudolph, Evolving Networks: Using the Genetic Algorithm with Connectionist Learning (1991) u Chalmers, The Evolution of Learning: An Experiment in Genetic Connectionism (1990)

6 Approach (Overview) n Generate a testing set of 100 random networks to simulate. n Generate initial population of chromosomes for sigma-pi network. n For each generation, decode each chromosome into a sigma-pi network and use fitness function to evaluate network’s fitness as a simulator using the testing set.

7 Approach (Overview) n First try to simulate single-layer networks: u 2 input and 1 output units u 2 input and 2 output units n Then try it on a multi-layer network: u 2 input, 2 hidden, and 2 output units

8 Approach n Input encoding u The simulation network is given the input to the simulated network along with the weight values for the network it is simulating. u Generate a fully-connected, feed- forward network with random weights along with a random input, then feed the input through the network to get the output.

9 Approach n Input encoding u Example: outputinput 1 bias w 30 w 31 w 32 w 40 w 41 w 42 w 50 input 2 w 30 w 31 w 32 w 53 w 54 Network : w 40 w 41 w 42 w 50 w 53 w 54 inputsweight layer 1weight layer 2 Input encoding : hidden 1 hidden 2 input 1 input 2

10 Approach n Target output encoding u The output that the randomly weighted network produces on its random input.

11 Approach n Chromosome encoding u Each chromosome encodes the connectivity (architecture) of the sigma-pi network. u To simplify things, allow network weights to either be 1.0, signifying there is a connection there, or 0.0 signifying that there is not. u Initialize chromosome to random string of bits.

12 Approach n Chromosome encoding: u To encode the connectivity of a layer with m units to a layer with n units, use a binary string of length: (m + 1)  n  Example: 011010 110001   bias 

13 Approach n Genetic algorithm u Selection: Chromosomes ranked by fitness, probability of selection based on rank. u Crossover: Randomly select bits in chromosome for crossover. (I might add in some sort of functional unit here.) u Mutation: Each bit in every chromosome has a mutation rate of 0.01.

14 Approach n Fitness function u Put build a sigma-pi network using the chromosome. u Test the sigma-pi network on a testing set of 100 networks. u Better chromosomes have smaller fitness value.

15 Approach n Fitness function u Attempt 1: Mean squared error. F Problem: Evolved networks just always guessed 0.5 because a sigmoid activation function was used. u Attempt 2: Number of incorrect outputs within a threshold of 0.05. F Problem: We want an optimum solution with as few weights in the network as possible. u Attempt 3: Use second function and also factor in number of 1’s in chromosome.

16 Results n So far: u Tried to train a backpropagation network to do simulation, but it did not work. u Managed to evolve sigma-pi network architectures to simulate simple, one layer networks with linear units. u Still working on simulating networks with two layers and with sigmoid units.

17 Results n Network with 2 input, 1 output units and linear activation u Population: 100 u Optimal solution after 24 generations bias   w 30 input 1 input 2 w 31 w 32

18 Results n Network with 2 input, 2 output units and linear activation u Population: 150 u Optimal solution after 121 generations (stabilizes after 486) bias   w 30 input 1 input 2 w 31 w 32 w 40 w 41 w 42  

19 Results (so far) n Network with 2 input, 2 hidden, and 1 output units and linear activation u Have not gotten it to work yet. u Sigma-pi network has 3 hidden layers (11-9-5-3-1) u Might be a problem to do with sparse connectivity of solution where input weights need to be “saved” for later layers. u Potential solution: Fix more of the network network architecture so the size of the chromosome is smaller.

20 Future work n Expand evolution parameters to allow wider variation in the evolved networks (network weights, activation functions). n Try to simulate larger networks. n Evolve a network that implements backpropagation: u Start small with just the delta-rule for output and hidden units. u Work up to a network that does full backpropagation.

21 More future work n Evolve networks that create their own learning rules. n Use a learning algorithm for training sigma-pi networks rather than evolution. n Create a sigma-pi network that simulates other sigma-pi networks.


Download ppt "Evolving a Sigma-Pi Network as a Network Simulator by Justin Basilico."

Similar presentations


Ads by Google