SlideShare a Scribd company logo
1 of 19
Download to read offline
Noisy optimization with
Nevergrad
O. Teytaud
Outline
1. Population-based methods
2. Bandits
3. Bandits with progressive widening
4. Evolution strategies with bandits
5. Evolution strategies with population control
6. Collaborative coevolution
7. Progressive collaborative coevolution
8. Others
Black-box optimization
We have a budget b and an objective function on some domain.
For i in {1,2,3,...,b}:
- X = optimization-method.ask()
- Y = objective-function(X)
- optimization-method.tell(X, Y)
X* = optimization-method.recommend
Ask, Tell and Recommend define our optimization-method.
Noisy-optimization: the objective function is corrupted by noisy.
Regret = E (objective-function(X*) ) - inf_x E ( objective-function(x)) ⇐ we want a small
regret.
Population-based methods for black-box optimization
There are plenty of population-based methods! (PSO, DE, ES…)
Just an example: EMNA (Evolution of Multivariate Normal Algorithm
While budget not elapsed:
- Generate lambda points with the current probability distribution
- Select the mu best (e.g. mu = min(d, lambda / 4)
- Fit a Gaussian distribution on the mu best points
Outline
1. Population-based methods
2. Bandits
3. Bandits with progressive widening
4. Evolution strategies with bandits
5. Evolution strategies with population control
6. Collaborative coevolution
7. Progressive collaborative coevolution
8. Others
Bandits
Randomly draw M points in the domain.
For each i in {1,2,3,..., budget}:
- For each of the M points, compute the average of losses when you evaluated
that point.
- Also evaluate a confidence interval:
mean +- std x sqrt( log(i) / number-of-evaluations).
- Evaluate point with best optimistic bound mean - std x sqrt( log(i) / num-evals)
Outline
1. Population-based methods
2. Bandits
3. Bandits with progressive widening
4. Evolution strategies with bandits
5. Evolution strategies with population control
6. Collaborative coevolution
7. Progressive collaborative coevolution
8. Others
Bandits with progressive widening
Randomly draw M points in the domain.
For each i in {1,2,3,..., budget}:
- For each of the M points, compute the average of losses when you evaluated
that point.
- Also evaluate a confidence interval:
mean +- std x sqrt( log(i) / number-of-evaluations).
- Evaluate point with best optimistic bound mean - std x sqrt( log(i) / num-evals)
- If M3
< i, add one more random point.
Outline
1. Population-based methods
2. Bandits
3. Bandits with progressive widening
4. Evolution strategies with bandits
5. Evolution strategies with population control
6. Collaborative coevolution
7. Progressive collaborative coevolution
8. Others
Bandits combined with evolution strategies
Randomly draw M points in the domain.
For each i in {1,2,3,..., budget}:
- For each of the M points, compute the average of losses when you evaluated
that point.
- Also evaluate a confidence interval:
mean +- std x sqrt( log(i) / number-of-evaluations).
- Evaluate point with best optimistic bound mean - std x sqrt( log(i) / num-evals)
- If M3
< i, add one more point:
- Choose the pessimistically best point
- Mutate it as you would do it with an evolution strategy or differential evolution or whatever.
Outline
1. Population-based methods
2. Bandits
3. Bandits with progressive widening
4. Evolution strategies with bandits
5. Evolution strategies with population control
6. Collaborative coevolution
7. Progressive collaborative coevolution
8. Others
Evolution strategies and population control
Adapting the population-size lambda
Outline
1. Population-based methods
2. Bandits
3. Bandits with progressive widening
4. Evolution strategies with bandits
5. Evolution strategies with population control
6. Collaborative coevolution
7. Progressive collaborative coevolution
8. Others
Collaborative coevolution (13 groups…)
1. Split the variables into 13 groups.
2. One optimization algorithm per group.
3. Each optimization algorithm proposes (“ask”) an instantiation of its variables
4. Concatenate those instantiations
5. Evaluate the obtained individual by the objective function
6. Feed the (same) fitness value to all algorithms
Outline
1. Population-based methods
2. Bandits
3. Bandits with progressive widening
4. Evolution strategies with bandits
5. Evolution strategies with population control
6. Collaborative coevolution
7. Progressive collaborative coevolution
8. Others
Collaborative coevolution: progressive version
1. Split the variables into 13 groups.
2. One optimization algorithm per group.
3. Each optimization algorithm proposes (“ask”) an instantiation of its variables
BUT optimization algorithm #i returns just middle if (i / 13 <
sqrt(2num-ask/budget)
4. Concatenate those instantiations
5. Evaluate the obtained individual by the objective function
6. Feed the (same) fitness value to all algorithms
Outline
1. Population-based methods
2. Bandits
3. Bandits with progressive widening
4. Evolution strategies with bandits
5. Evolution strategies with population control
6. Collaborative coevolution
7. Progressive collaborative coevolution
8. Others
Others
SPSA
Fabian’s method
Known best rates:
- Regret scales as 1/n if sufficiently smooth.
- Known: you should sample also far from the optimum or you will be slow.
Running noisy optimization tests with Nevergrad
pip install nevergrad
or (better):
git clone git@github.com:facebookresearch/nevergrad.git .
python -m nevergrad.benchmark noise --seed=12 --repetitions=10
--num_workers=40 --plot ⇐ on a 40 cores machine.
You can replace “noise” (artificial benchmark) by “ng_gym” (OpenAI Gym
benchmark) or “sequential_fastgames” or “yanoisybbob” or “yahdnoisybbob”.
You might also love “nevergrad4sf” used for optimizing the weights of
StockFish (and StockFish is very cool!)

More Related Content

What's hot

optimal subsampling
optimal subsamplingoptimal subsampling
optimal subsampling
Tian Tian
 
Machine Learning Tutorial Part - 2 | Machine Learning Tutorial For Beginners ...
Machine Learning Tutorial Part - 2 | Machine Learning Tutorial For Beginners ...Machine Learning Tutorial Part - 2 | Machine Learning Tutorial For Beginners ...
Machine Learning Tutorial Part - 2 | Machine Learning Tutorial For Beginners ...
Simplilearn
 
Dm week01 linreg.handout
Dm week01 linreg.handoutDm week01 linreg.handout
Dm week01 linreg.handout
okeee
 
Optimization Shuffled Frog Leaping Algorithm
Optimization Shuffled Frog Leaping AlgorithmOptimization Shuffled Frog Leaping Algorithm
Optimization Shuffled Frog Leaping Algorithm
Uday Wankar
 

What's hot (13)

A GENETIC-FROG LEAPING ALGORITHM FOR TEXT DOCUMENT CLUSTERING
A GENETIC-FROG LEAPING ALGORITHM FOR TEXT DOCUMENT CLUSTERINGA GENETIC-FROG LEAPING ALGORITHM FOR TEXT DOCUMENT CLUSTERING
A GENETIC-FROG LEAPING ALGORITHM FOR TEXT DOCUMENT CLUSTERING
 
Data Science in #mHealth
Data Science in #mHealthData Science in #mHealth
Data Science in #mHealth
 
optimal subsampling
optimal subsamplingoptimal subsampling
optimal subsampling
 
Dealing with imbalanced data in RTB
Dealing with imbalanced data in RTBDealing with imbalanced data in RTB
Dealing with imbalanced data in RTB
 
Machine Learning Tutorial Part - 2 | Machine Learning Tutorial For Beginners ...
Machine Learning Tutorial Part - 2 | Machine Learning Tutorial For Beginners ...Machine Learning Tutorial Part - 2 | Machine Learning Tutorial For Beginners ...
Machine Learning Tutorial Part - 2 | Machine Learning Tutorial For Beginners ...
 
TWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTIC
TWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTICTWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTIC
TWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTIC
 
Machine learning with ADA Boost
Machine learning with ADA BoostMachine learning with ADA Boost
Machine learning with ADA Boost
 
08 distributed optimization
08 distributed optimization08 distributed optimization
08 distributed optimization
 
Dm week01 linreg.handout
Dm week01 linreg.handoutDm week01 linreg.handout
Dm week01 linreg.handout
 
Leveraging Bagging for Evolving Data Streams
Leveraging Bagging for Evolving Data StreamsLeveraging Bagging for Evolving Data Streams
Leveraging Bagging for Evolving Data Streams
 
Optimization Shuffled Frog Leaping Algorithm
Optimization Shuffled Frog Leaping AlgorithmOptimization Shuffled Frog Leaping Algorithm
Optimization Shuffled Frog Leaping Algorithm
 
Cuckoo Search Algorithm: An Introduction
Cuckoo Search Algorithm: An IntroductionCuckoo Search Algorithm: An Introduction
Cuckoo Search Algorithm: An Introduction
 
Artificial Bee Colony algorithm
Artificial Bee Colony algorithmArtificial Bee Colony algorithm
Artificial Bee Colony algorithm
 

Similar to Noisy optimization with nevergrad

Lecture7 cross validation
Lecture7 cross validationLecture7 cross validation
Lecture7 cross validation
Stéphane Canu
 
CSE545_Porject
CSE545_PorjectCSE545_Porject
CSE545_Porject
han li
 
Assignment oprations research luv
Assignment oprations research luvAssignment oprations research luv
Assignment oprations research luv
Ashok Sharma
 
Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...
Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...
Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...
Shubhashis Shil
 
2013-1 Machine Learning Lecture 06 - Artur Ferreira - A Survey on Boosting…
2013-1 Machine Learning Lecture 06 - Artur Ferreira - A Survey on Boosting…2013-1 Machine Learning Lecture 06 - Artur Ferreira - A Survey on Boosting…
2013-1 Machine Learning Lecture 06 - Artur Ferreira - A Survey on Boosting…
Dongseo University
 
Dominance-Based Pareto-Surrogate for Multi-Objective Optimization
Dominance-Based Pareto-Surrogate for Multi-Objective OptimizationDominance-Based Pareto-Surrogate for Multi-Objective Optimization
Dominance-Based Pareto-Surrogate for Multi-Objective Optimization
Ilya Loshchilov
 
Data Science Interview Questions | Data Science Interview Questions And Answe...
Data Science Interview Questions | Data Science Interview Questions And Answe...Data Science Interview Questions | Data Science Interview Questions And Answe...
Data Science Interview Questions | Data Science Interview Questions And Answe...
Simplilearn
 

Similar to Noisy optimization with nevergrad (20)

Lecture7 cross validation
Lecture7 cross validationLecture7 cross validation
Lecture7 cross validation
 
CSE545_Porject
CSE545_PorjectCSE545_Porject
CSE545_Porject
 
Ke yi small summaries for big data
Ke yi small summaries for big dataKe yi small summaries for big data
Ke yi small summaries for big data
 
Binary Class and Multi Class Strategies for Machine Learning
Binary Class and Multi Class Strategies for Machine LearningBinary Class and Multi Class Strategies for Machine Learning
Binary Class and Multi Class Strategies for Machine Learning
 
Assignment oprations research luv
Assignment oprations research luvAssignment oprations research luv
Assignment oprations research luv
 
Essentials of machine learning algorithms
Essentials of machine learning algorithmsEssentials of machine learning algorithms
Essentials of machine learning algorithms
 
INTRODUCTION TO BOOSTING.ppt
INTRODUCTION TO BOOSTING.pptINTRODUCTION TO BOOSTING.ppt
INTRODUCTION TO BOOSTING.ppt
 
1. intro. to or &amp; lp
1. intro. to or &amp; lp1. intro. to or &amp; lp
1. intro. to or &amp; lp
 
A Mathematical Programming Approach for Selection of Variables in Cluster Ana...
A Mathematical Programming Approach for Selection of Variables in Cluster Ana...A Mathematical Programming Approach for Selection of Variables in Cluster Ana...
A Mathematical Programming Approach for Selection of Variables in Cluster Ana...
 
Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...
Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...
Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...
 
Supervised Learning.pdf
Supervised Learning.pdfSupervised Learning.pdf
Supervised Learning.pdf
 
Building and deploying analytics
Building and deploying analyticsBuilding and deploying analytics
Building and deploying analytics
 
2013-1 Machine Learning Lecture 06 - Artur Ferreira - A Survey on Boosting…
2013-1 Machine Learning Lecture 06 - Artur Ferreira - A Survey on Boosting…2013-1 Machine Learning Lecture 06 - Artur Ferreira - A Survey on Boosting…
2013-1 Machine Learning Lecture 06 - Artur Ferreira - A Survey on Boosting…
 
Enhanced abc algo for tsp
Enhanced abc algo for tspEnhanced abc algo for tsp
Enhanced abc algo for tsp
 
Greedy with Task Scheduling Algorithm.ppt
Greedy with Task Scheduling Algorithm.pptGreedy with Task Scheduling Algorithm.ppt
Greedy with Task Scheduling Algorithm.ppt
 
Greedy with Task Scheduling Algorithm.ppt
Greedy with Task Scheduling Algorithm.pptGreedy with Task Scheduling Algorithm.ppt
Greedy with Task Scheduling Algorithm.ppt
 
Multi objective predictive control a solution using metaheuristics
Multi objective predictive control  a solution using metaheuristicsMulti objective predictive control  a solution using metaheuristics
Multi objective predictive control a solution using metaheuristics
 
Dominance-Based Pareto-Surrogate for Multi-Objective Optimization
Dominance-Based Pareto-Surrogate for Multi-Objective OptimizationDominance-Based Pareto-Surrogate for Multi-Objective Optimization
Dominance-Based Pareto-Surrogate for Multi-Objective Optimization
 
Data Science Interview Questions | Data Science Interview Questions And Answe...
Data Science Interview Questions | Data Science Interview Questions And Answe...Data Science Interview Questions | Data Science Interview Questions And Answe...
Data Science Interview Questions | Data Science Interview Questions And Answe...
 
An Empirical Investigation Of The Arbitrage Pricing Theory
An Empirical Investigation Of The Arbitrage Pricing TheoryAn Empirical Investigation Of The Arbitrage Pricing Theory
An Empirical Investigation Of The Arbitrage Pricing Theory
 

Recently uploaded

Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 

Noisy optimization with nevergrad

  • 2. Outline 1. Population-based methods 2. Bandits 3. Bandits with progressive widening 4. Evolution strategies with bandits 5. Evolution strategies with population control 6. Collaborative coevolution 7. Progressive collaborative coevolution 8. Others
  • 3. Black-box optimization We have a budget b and an objective function on some domain. For i in {1,2,3,...,b}: - X = optimization-method.ask() - Y = objective-function(X) - optimization-method.tell(X, Y) X* = optimization-method.recommend Ask, Tell and Recommend define our optimization-method. Noisy-optimization: the objective function is corrupted by noisy. Regret = E (objective-function(X*) ) - inf_x E ( objective-function(x)) ⇐ we want a small regret.
  • 4. Population-based methods for black-box optimization There are plenty of population-based methods! (PSO, DE, ES…) Just an example: EMNA (Evolution of Multivariate Normal Algorithm While budget not elapsed: - Generate lambda points with the current probability distribution - Select the mu best (e.g. mu = min(d, lambda / 4) - Fit a Gaussian distribution on the mu best points
  • 5. Outline 1. Population-based methods 2. Bandits 3. Bandits with progressive widening 4. Evolution strategies with bandits 5. Evolution strategies with population control 6. Collaborative coevolution 7. Progressive collaborative coevolution 8. Others
  • 6. Bandits Randomly draw M points in the domain. For each i in {1,2,3,..., budget}: - For each of the M points, compute the average of losses when you evaluated that point. - Also evaluate a confidence interval: mean +- std x sqrt( log(i) / number-of-evaluations). - Evaluate point with best optimistic bound mean - std x sqrt( log(i) / num-evals)
  • 7. Outline 1. Population-based methods 2. Bandits 3. Bandits with progressive widening 4. Evolution strategies with bandits 5. Evolution strategies with population control 6. Collaborative coevolution 7. Progressive collaborative coevolution 8. Others
  • 8. Bandits with progressive widening Randomly draw M points in the domain. For each i in {1,2,3,..., budget}: - For each of the M points, compute the average of losses when you evaluated that point. - Also evaluate a confidence interval: mean +- std x sqrt( log(i) / number-of-evaluations). - Evaluate point with best optimistic bound mean - std x sqrt( log(i) / num-evals) - If M3 < i, add one more random point.
  • 9. Outline 1. Population-based methods 2. Bandits 3. Bandits with progressive widening 4. Evolution strategies with bandits 5. Evolution strategies with population control 6. Collaborative coevolution 7. Progressive collaborative coevolution 8. Others
  • 10. Bandits combined with evolution strategies Randomly draw M points in the domain. For each i in {1,2,3,..., budget}: - For each of the M points, compute the average of losses when you evaluated that point. - Also evaluate a confidence interval: mean +- std x sqrt( log(i) / number-of-evaluations). - Evaluate point with best optimistic bound mean - std x sqrt( log(i) / num-evals) - If M3 < i, add one more point: - Choose the pessimistically best point - Mutate it as you would do it with an evolution strategy or differential evolution or whatever.
  • 11. Outline 1. Population-based methods 2. Bandits 3. Bandits with progressive widening 4. Evolution strategies with bandits 5. Evolution strategies with population control 6. Collaborative coevolution 7. Progressive collaborative coevolution 8. Others
  • 12. Evolution strategies and population control Adapting the population-size lambda
  • 13. Outline 1. Population-based methods 2. Bandits 3. Bandits with progressive widening 4. Evolution strategies with bandits 5. Evolution strategies with population control 6. Collaborative coevolution 7. Progressive collaborative coevolution 8. Others
  • 14. Collaborative coevolution (13 groups…) 1. Split the variables into 13 groups. 2. One optimization algorithm per group. 3. Each optimization algorithm proposes (“ask”) an instantiation of its variables 4. Concatenate those instantiations 5. Evaluate the obtained individual by the objective function 6. Feed the (same) fitness value to all algorithms
  • 15. Outline 1. Population-based methods 2. Bandits 3. Bandits with progressive widening 4. Evolution strategies with bandits 5. Evolution strategies with population control 6. Collaborative coevolution 7. Progressive collaborative coevolution 8. Others
  • 16. Collaborative coevolution: progressive version 1. Split the variables into 13 groups. 2. One optimization algorithm per group. 3. Each optimization algorithm proposes (“ask”) an instantiation of its variables BUT optimization algorithm #i returns just middle if (i / 13 < sqrt(2num-ask/budget) 4. Concatenate those instantiations 5. Evaluate the obtained individual by the objective function 6. Feed the (same) fitness value to all algorithms
  • 17. Outline 1. Population-based methods 2. Bandits 3. Bandits with progressive widening 4. Evolution strategies with bandits 5. Evolution strategies with population control 6. Collaborative coevolution 7. Progressive collaborative coevolution 8. Others
  • 18. Others SPSA Fabian’s method Known best rates: - Regret scales as 1/n if sufficiently smooth. - Known: you should sample also far from the optimum or you will be slow.
  • 19. Running noisy optimization tests with Nevergrad pip install nevergrad or (better): git clone git@github.com:facebookresearch/nevergrad.git . python -m nevergrad.benchmark noise --seed=12 --repetitions=10 --num_workers=40 --plot ⇐ on a 40 cores machine. You can replace “noise” (artificial benchmark) by “ng_gym” (OpenAI Gym benchmark) or “sequential_fastgames” or “yanoisybbob” or “yahdnoisybbob”. You might also love “nevergrad4sf” used for optimizing the weights of StockFish (and StockFish is very cool!)