The document discusses artificial neural networks and how they can be trained using a perceptron learning algorithm. It provides an example of training a perceptron to perform the logical AND operation. Over multiple epochs, the perceptron's weights are adjusted based on its errors to correctly output a 1 only when both the x1 and x2 inputs are 1.
12. PERCEPTRON TRAINING ALGORITHM
11
weight training
start
stop
weights converged? yes
no
set weights and threshold to
random values [-0.5, 0.5]
activate the perceptron
59. WE NEED MORE LAYERS
19
3
4
5
1
2
Input layer Hidden layer Output layer
x1
x2
Y
60. PROBLEMS WITH BACK PROPAGATION
•a training set of sufficient size is required
•topology of the network needs to be known in advance
•no recurrent connections are allowed
•activation function must be differentiable
Does not emulate the biological world
20
70. EVOLUTIONARY ALGORITHM
•represent the candidate solution as a chromosome
•chose the initial population size N, crossover probability (Pc) and mutation
probability (Pm)
•define a fitness function to measure the performance of the chromosome
•define the genetic operators for the chromosome
26
71. EVOLUTIONARY ALGORITHM
27
start
stop
generate a population
calculate fitness
termination criteria satisfied?
yes
no
new population size = N?
crossover and mutation
select pair for mating add to new population
replace population
no
yes
73. EVOLUTIONARY ALGORITHM
•represent the candidate solution as a chromosome
•define a fitness function to measure the performance of the chromosome
•define the genetic operators for the chromosome
•chose the initial population size N, crossover probability Pc and mutation
probability Pm
29
75. EVOLUTIONARY ALGORITHM
•represent the candidate solution as a chromosome
•define a fitness function to measure the performance of the
chromosome
•define the genetic operators for the chromosome
•chose the initial population size N, crossover probability Pc and mutation
probability Pm
31
77. EVOLUTIONARY ALGORITHM
•represent the candidate solution as a chromosome
•define a fitness function to measure the performance of the chromosome
•define the genetic operators for the chromosome
•chose the initial population size N, crossover probability Pc and mutation
probability Pm
33
89. EVOLUTIONARY ALGORITHM
•represent the candidate solution as a chromosome
•define a fitness function to measure the performance of the chromosome
•define the genetic operators for the chromosome
•chose the initial population size N, crossover probability Pc and
mutation probability Pm
36
97. AND LOTS MORE…
•data compression
•training NPCs in a video game
•cyber warfare
43
98. EVOLUTIONARY ALGORITHM
•represent the candidate solution as a chromosome
•define a fitness function to measure the performance of the chromosome
•define the genetic operators for the chromosome
•chose the initial population size N, crossover probability Pc and mutation
probability Pm
44
100. EVOLUTIONARY ALGORITHM
•represent the candidate solution as a chromosome
•define a fitness function to measure the performance of the
chromosome
•define the genetic operators for the chromosome
•chose the initial population size N, crossover probability Pc and mutation
probability Pm
46
102. EVOLUTIONARY ALGORITHM
•represent the candidate solution as a chromosome
•define a fitness function to measure the performance of the chromosome
•define the genetic operators for the chromosome
•chose the initial population size N, crossover probability Pc and mutation
probability Pm
48
113. EVOLUTIONARY ALGORITHM
•represent the candidate solution as a chromosome
•define a fitness function to measure the performance of the chromosome
•define the genetic operators for the chromosome
•chose the initial population size N, crossover probability Pc and
mutation probability Pm
55
115. MEMETIC ALGORITHM
57
apply to a problem
start
generate a population
local search:
Hill Climber calculate effective fitness
select fit organisms
create offspring
116. STOCHASTIC HILL CLIMBER (LOCAL SEARCH)
58
start
new fitness > old fitness?
yes
no
stopping condition reached?
stop
apply NN to a problem
backup and perturb weights restore backed-up weights
117. A LANGUAGE FOR NEUROEVOLUTION
•The system must be able to handle very large numbers of concurrent activities
•Actions must be performed at a certain point in time or within a certain time
•Systems may be distributed over several computers
•The system is used to control hardware
•The software systems are very large
59
118. A LANGUAGE FOR NEUROEVOLUTION
59
•The system exhibits complex functionality such as, feature interaction.
•The systems should be in continuous operation for many years.
•Software maintenance (reconfiguration, etc) should be performed without
stopping the system.
•There are stringent quality, and reliability requirements.
•Fault tolerance
119. A LANGUAGE FOR NEUROEVOLUTION
59
•The system exhibits complex functionality such as, feature interaction.
•The systems should be in continuous operation for many years.
•Software maintenance (reconfiguration, etc) should be performed without
stopping the system.
•There are stringent quality, and reliability requirements.
•Fault tolerance
Bjarne Dacker. Erlang - A New Programming Language. Ericsson Review,
no 2, 1993.
149. THE DEVIL IS IN THE DETAILS
•recurrent connections
•newer generations get a higher chance for mutation
•neural plasticity
•public scapes and steady state evolution
65