Parallel Thompson Sampling for Large-scale Accelerated Exploration of Chemical Space, Jos´ e Miguel Hern´ andez–Lobato Department of Engineering University of Cambridge http://jmhl.org , jmh233@cam.ac.uk Joint work with James Requeima, Edward O. Pyzer-Knapp and Alan Aspuru-Guzik. 1 / 91
Drug and material design Goal : find novel molecules that optimally fulfill various metrics. About 10 8 compounds in databases, potential ones: 10 20 − 10 60 . Challenges: • Evaluating molecular properties is slow and expensive. • Chemical space is huge. 2 / 91
Drug and material design Goal : find novel molecules that optimally fulfill various metrics. About 10 8 compounds in databases, potential ones: 10 20 − 10 60 . Challenges: • Evaluating molecular properties is slow and expensive. • Chemical space is huge. Bayesian optimization can accelerate the search. 3 / 91
Bayesian optimization aims to efficiently optimize black-box functions: x ⋆ = arg max f ( x ) x ∈X No gradients , observations may be corrupted by noise . Black-box queries are very expensive (time, economic cost, etc...). 4 / 91
Bayesian optimization aims to efficiently optimize black-box functions: x ⋆ = arg max f ( x ) x ∈X No gradients , observations may be corrupted by noise . Black-box queries are very expensive (time, economic cost, etc...). Main idea : replace expensive black-box queries with cheaper computations that will save additional queries in the long run. 5 / 91
objective 1 Get initial sample. 6 / 91
objective 1 Get initial sample. objective 7 / 91
objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 8 / 91
objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 9 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 10 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ). Acquisition Function α ( x ) 11 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ) . Acquisition Function α ( x ) 5 Collect data and update model. 12 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ). Acquisition Function α ( x ) 5 Collect data and update model. 6 Repeat! 13 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ) . Acquisition Function α ( x ) 5 Collect data and update model. 6 Repeat! 14 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ) . Acquisition Function α ( x ) 5 Collect data and update model. 6 Repeat! 15 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ) . Acquisition Function α ( x ) 5 Collect data and update model. 6 Repeat! 16 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ) . Acquisition Function α ( x ) 5 Collect data and update model. 6 Repeat! 17 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ) . Acquisition Function α ( x ) 5 Collect data and update model. 6 Repeat! 18 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ) . Acquisition Function α ( x ) 5 Collect data and update model. 6 Repeat! 19 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ) . Acquisition Function α ( x ) 5 Collect data and update model. 6 Repeat! 20 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ) . Acquisition Function α ( x ) 5 Collect data and update model. 6 Repeat! 21 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ) . Acquisition Function α ( x ) 5 Collect data and update model. 6 Repeat! 22 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ) . Acquisition Function α ( x ) 5 Collect data and update model. 6 Repeat! 23 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ) . Acquisition Function α ( x ) 5 Collect data and update model. 6 Repeat! 24 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ) . Acquisition Function α ( x ) 5 Collect data and update model. 6 Repeat! 25 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ) . Acquisition Function α ( x ) 5 Collect data and update model. 6 Repeat! 26 / 91
Objective 1 Get initial sample. 2 Fit a model to the data: p ( y | x , D ) . 3 Select data collection strategy: α ( x ) = E p ( y | x , D ) [ U ( y | x , D )] . 4 Optimize acquisition function α ( x ) . Acquisition Function α ( x ) 5 Collect data and update model. 6 Repeat! 27 / 91
Discovering new optimal molecules Library generation Performance Interesting Fragments Bonding evaluation molecules rules 1 2 2 28 / 91
Discovering new optimal molecules Library generation Performance Interesting Fragments Bonding evaluation molecules rules 1 2 2 Bayesian optimization can accelerate the search! 29 / 91
Discovering new optimal molecules Library generation Performance Interesting Fragments Bonding evaluation molecules rules 1 2 2 Bayesian optimization can accelerate the search! Challenges: 1 Massive libraries with millions of candidate molecules . 30 / 91
Discovering new optimal molecules Library generation Performance Interesting Fragments Bonding evaluation molecules rules 1 2 2 Bayesian optimization can accelerate the search! Challenges: 1 Massive libraries with millions of candidate molecules . 2 Need to collect hundreds of thousands of data points . 31 / 91
Discovering new optimal molecules Library generation Performance Interesting Fragments Bonding evaluation molecules rules 1 2 2 Bayesian optimization can accelerate the search! Challenges: 1 Massive libraries with millions of candidate molecules . 2 Need to collect hundreds of thousands of data points . 3 How to collect data in parallel efficiently? e.g. with a computer cluster . 32 / 91
Parallel Bayesian optimization Traditional Bayesian optimization is sequential ! 33 / 91
Parallel Bayesian optimization Traditional Bayesian optimization is sequential ! 34 / 91
Parallel Bayesian optimization Traditional Bayesian optimization is sequential ! Computing clusters allow us to collect a batch of data at once! 35 / 91
Parallel Bayesian optimization Traditional Bayesian optimization is sequential ! Computing clusters allow us to collect a batch of data at once! 36 / 91
Parallel Bayesian optimization Traditional Bayesian optimization is sequential ! Computing clusters allow us to collect a batch of data at once! 37 / 91
Parallel Bayesian optimization Traditional Bayesian optimization is sequential ! Computing clusters allow us to collect a batch of data at once! Parallel experiments should be highly informative but also diverse! 38 / 91
Traditional parallel BO Parallel BO can be implemented by averaging the sequential acquisition function across data { y k } K k =1 fantasized at pending evaluation locations { x k } K k =1 : α sequential ( x |D ∪ { x k , y k } K α parallel ( x |D ) = E p ( { y k } K � � k =1 ) . k =1 |{ x k } K k =1 , D ) 39 / 91
Recommend
More recommend