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

Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
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
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
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
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
dharasingh5698
 

Recently uploaded (20)

chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
(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
 
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...
 
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...
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
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
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 

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!)