SlowGuess/NeurIPS_2023_OCR huggingface dataset:
Ryan-Rhys Griffiths $^{1*}$  Leo Klarner $^{2*}$  Henry Moss $^{3*}$  Aditya Ravuri $^{3*}$  Sang Truong $^{4*}$  Samuel Stanton $^{5*}$  Gary Tom $^{6,7*}$  Bojana Rankovic $^{8,9*}$  Yuanqi Du $^{10*}$  Arian Jamasb $^{3*}$
Aryan Deshwal $^{11}$  Julius Schwartz $^{3}$  Austin Tripp $^{3}$  Gregory Kell $^{12}$  Simon Frieder $^{2}$  Anthony Bourached $^{13}$  Alex J. Chan $^{3}$  Jacob Moss $^{3}$  Chengzhi Guo $^{3}$  Johannes Durholt $^{14}$  Saudamini Chaurasia $^{15}$  Ji Won Park $^{5}$  Felix Strieth-Kalthoff $^{6}$
Alpha A. Lee $^{3}$  Bingqing Cheng $^{16}$  Alán Aspuru-Guzik $^{6,7,17}$  Philippe Schwaller $^{8,9}$  Jian Tang $^{18,19,17}$
$^{1}$ Meta  $^{2}$ University of Oxford  $^{3}$ University of Cambridge  $^{4}$ Stanford University  $^{5}$ Genentech  $^{6}$ University of Toronto  $^{7}$ Vector Institute  $^{8}$ EPFL  $^{9}$ NCCR Catalysis  $^{10}$ Cornell University  $^{11}$ Washington State University  $^{12}$ King's College London  $^{13}$ University College London  $^{14}$ Evonik Industries AG  $^{15}$ Syracuse University  $^{16}$ IST Austria  $^{17}$ CIFAR AI Research Chair  $^{18}$ MILA Quebec AI Institute  $^{19}$ HEC Montreal
* Equal contributions
{ryangriff123,leojklarner}@gmail.com
We introduce GAUCHE, an open-source library for GAUssian processes in CHEmistry. Gaussian processes have long been a cornerstone of probabilistic machine learning, affording particular advantages for uncertainty quantification and Bayesian optimisation. Extending Gaussian processes to molecular representations, however, necessitates kernels defined over structured inputs such as graphs, strings and bit vectors. By providing such kernels in a modular, robust and easy-to-use framework, we seek to enable expert chemists and materials scientists to make use of state-of-the-art black-box optimization techniques. Motivated by scenarios frequently encountered in practice, we showcase applications for GAUCHE in molecular discovery, chemical reaction optimisation and protein design.
The codebase is made available at https://github.com/leojklarner/gauche.
Early-stage scientific discovery is often characterised by the limited availability of high-quality experimental data [1, 2, 3], meaning that there is much knowledge to gain from targeted experiments. As such, machine learning methods that facilitate discovery in low data regimes, such as Bayesian optimisation (BO) [4, 5, 6, 7, 8, 9] and active learning (AL) [10, 11], have great potential to expedite the rate at which useful molecules, materials, chemical reactions and proteins can be discovered.
At present, Bayesian neural networks (BNNs) and deep ensembles are typically the method of choice to generate uncertainty estimates for molecular BO and AL loops [10, 12, 13, 14]. For small datasets, however, Gaussian processes (GPs) may often be a preferable and more appropriate choice [15, 16]. Furthermore, GPs possess particularly advantageous properties for BO; first, they admit exact as opposed to approximate Bayesian inference and second, few of their parameters need to be determined by hand. In the words of Sir David MacKay [17],
"Gaussian processes are useful tools for automated tasks where fine tuning for each problem is not possible. We do not appear to sacrifice any performance for this simplicity."
Figure 1: An overview of the applications and representations available in GAUCHE.
The iterative model refitting required in BO makes it a prime example of such an automated task. However, canonical GPs typically assume continuous input spaces of low and fixed dimensionality, hindering their application to standard molecular representations such as SMILES/SELFIES strings [18, 19, 20], topological fingerprints [21, 22, 23] and discrete graphs [24, 25].
With GAUCHE, we provide a modular, robust and easy-to-use framework to rapidly prototype GPs with  $30+$  GPU-accelerated string, fingerprint and graph kernels that operate on a range of molecular representations (see Figure 1). Furthermore, GAUCHE interfaces with the GPyTorch [26] and BoTorch [27] libraries and contains an extensive set of tutorial notebooks to make state-of-the-art probabilistic modelling and black-box optimization techniques more easily accessible to scientific experts in chemistry, materials science and beyond.
We briefly recall the fundamentals of Gaussian processes and Bayesian optimisation in Sections 2.1 and 2.2, respectively, and refer the reader to [28] and [29, 30, 31] for a more comprehensive treatment.
2.1 Gaussian Processes
Notation  $\mathbf{X} \in \mathbb{R}^{n \times d}$  is a design matrix of  $n$  training examples of dimension  $d$ . A given row  $i$  of the design matrix contains a training molecule's representation  $\mathbf{x}_i$ . A GP is specified by a mean function,  $m(\mathbf{x}) = \mathbb{E}[f(\mathbf{x})]$  and a covariance function  $k(\mathbf{x}, \mathbf{x}') = \mathbb{E}[(f(\mathbf{x}) - m(\mathbf{x}))(f(\mathbf{x}') - m(\mathbf{x}'))]$ .  $K_{\theta}(\mathbf{X}, \mathbf{X})$  is a kernel matrix, where entries are computed by the kernel function as  $[K]_{ij} = k(\mathbf{x}_i, \mathbf{x}_j)$  and  $\theta$  represents the set of kernel hyperparameters. The GP specifies the full distribution over the function  $f$  to be modelled as
$$
f (\mathbf {x}) \sim \mathcal {G P} \big (m (\mathbf {x}), k (\mathbf {x}, \mathbf {x} ^ {\prime}) \big).
$$
Training Hyperparameters for GPs comprise kernel hyperparameters,  $\theta$ , in addition to the likelihood noise,  $\sigma_y^2$ . These hyperparameters are chosen by optimising an objective function known as the negative log marginal likelihood (NLML)
$$
\log p (\mathbf {y} | \mathbf {X}, \theta) = \underbrace {- \frac {1}{2} \mathbf {y} ^ {\top} (K _ {\theta} (\mathbf {X} , \mathbf {X}) + \sigma_ {y} ^ {2} I) ^ {- 1} \mathbf {y}} _ {\mathrm {e n c o u r a g e s f i t w i t h d a t a}} \underbrace {- \frac {1}{2} \log | K _ {\theta} (\mathbf {X} , \mathbf {X}) + \sigma_ {y} ^ {2} I |} _ {\mathrm {c o n t r o l s m o d e l c a p a c i t y}} - \frac {N}{2} \log (2 \pi),
$$
where  $\sigma_y^2 I$  represents the variance of i.i.d. Gaussian noise on the observations  $\mathbf{y}$ . The NLML embodies Occam's razor for Bayesian model selection [28] in favouring models that fit the data without being overly complex.
Prediction At test locations  $\mathbf{X}_{*}$ , assuming a zero mean function obtained following the standardization of the outputs  $\mathbf{y}$ , the GP returns a predictive mean,  $\bar{\mathbf{f}}_{*} = K(\mathbf{X}_{*},\mathbf{X})[K(\mathbf{X},\mathbf{X}) + \sigma_{y}^{2}I]^{-1}\mathbf{y}$  and a predictive uncertainty  $\mathrm{cov}(\mathbf{f}_*) = K(\mathbf{X}_*,\mathbf{X}_*) - K(\mathbf{X}_*,\mathbf{X})[K(\mathbf{X},\mathbf{X}) + \sigma_y^2 I]^{-1}K(\mathbf{X},\mathbf{X}_*)$
2.2 Bayesian Optimisation
In molecular discovery campaigns, we are typically interested in solving problems of the form
$$
\mathbf {x} ^ {\star} = \underset {\mathbf {x} \in \mathcal {X}} {\arg \max} f (\mathbf {x}),
$$
where  $f(\cdot): \mathcal{X} \to \mathbb{R}$  is an expensive black-box function over a structured input domain  $\mathcal{X}$ . In our setting the structured input domain consists of a set of molecular representations (graphs, strings, bit vectors) and the expensive black-box function is an experimentally determined property of interest that we wish to optimise. Bayesian optimisation (BO) [32, 33, 34, 35, 29, 36] is a data-efficient methodology for determining  $\mathbf{x}^{\star}$ . BO operates sequentially by selecting input locations at which to query the black-box function  $f$  with the aim of identifying the optimum in as few queries as possible. Evaluations are focused on promising areas of the input space as well as areas with high uncertainty—a balancing act known as the exploration/exploitation trade-off.
The two components of a BO scheme are a probabilistic surrogate model and an acquisition function. The surrogate model is typically chosen to be a GP due to its ability to maintain calibrated uncertainty estimates through exact Bayesian inference. The uncertainty estimates of the surrogate model are then leveraged by the acquisition function to propose new input locations to query. The acquisition function is a heuristic that trades off exploration and exploitation, well-known examples of which include expected improvement (EI) [33, 35] and entropy search [37, 38, 39, 40]. After the acquisition function proposes an input location, the black-box is evaluated at that location, the surrogate model is retrained and the process is repeated until a solution is obtained.
3 Molecular Representations
We review commonly used representations for molecules (Section 3.1), chemical reactions (Section 3.2) and proteins (Section 3.3), before describing the kernels that operate on them in Section 4. An overview of the representations considered by GAUCHE is provided in Figure 1.
3.1 Molecules
Graphs A molecule can be represented as an undirected, labelled graph  $\mathcal{G} = (\mathcal{V},\mathcal{E})$  where vertices  $\mathcal{V} = \{v_{1},\dots,v_{N}\}$  represent the atoms of an  $N$ -atom molecule and edges  $\mathcal{E} \subseteq \mathcal{V} \times \mathcal{V}$  represent covalent bonds between these atoms. Additional information may be incorporated in the form of vertex and edge labels  $\mathcal{L}: \mathcal{V} \times \mathcal{E} \to \Sigma_{V} \times \Sigma_{E}$  by specifying e.g. atom types or bond orders.
Fingerprints Molecular fingerprints enumerate sets or bags of subgraphs  $\mathcal{G}' = (\mathcal{V}' \subseteq \mathcal{V}, \mathcal{E}' \subseteq \mathcal{E})$  of a certain type and then hash them into machine-readable bit or count vectors. Extended connectivity fingerprints (ECFPs) [21], for example, enumerate all circular subgraphs up to a pre-specified radius parameter by assigning initial numeric identifiers to each atom in a molecule and iteratively updating them based on the identifiers of their neighbours. Each level of iteration appends substructural features of increasing non-locality to an array, which is then hashed to a bit vector reflecting the presence or absence of those substructures in the molecule (see Figure 2). We choose a radius of 3 for all experiments in the main text and provide a more detailed ablation of the radius parameter in Appendix E.3.
Figure 2: Visualisation of the ECFP subgraph enumeration and hashing procedures.
Additionally, we make use of fragment descriptors, which are count vectors in which each component indicates the count of a particular functional group present in a molecule, as well as the concatenation of the fingerprint and fragment feature vectors, a representation termed fragprints [3], which has shown strong empirical performance. Example representations of  $\mathbf{x_{fp}}$  for fingerprints,  $\mathbf{x}_{\mathrm{fr}}$  for fragments and  $\mathbf{x_{fpr}}$  for fragprings are given as
$$
\mathbf {x} _ {\mathbf {f p}} = \left[ \begin{array}{c c c c} 1 & 0 & \dots & 1 \end{array} \right] ^ {\top} \mathbf {x} _ {\mathbf {f r}} = \left[ \begin{array}{c c c c} 3 & 0 & \dots & 2 \end{array} \right] ^ {\top} \mathbf {x} _ {\mathbf {f r p}} = \left[ \begin{array}{c c c c c c c c} 1 & 0 & \dots & 1 & 3 & 0 & \dots & 2 \end{array} \right] ^ {\top}
$$
Strings The Simplified Molecular-Input Line-Entry System (SMILES) is a text-based representation of molecules [18, 19], examples of which are given in Figure 3. Self-Referencing Embedded Strings (SELFIES) [20] is an alternative string representation to SMILES such that a bijective mapping exists between a SELFIES string and a molecule.
Figure 3: SMILES strings for structurally similar molecules. Similarity is encoded in the string through common contiguous subsequences (black). Local differences are highlighted in red.
3.2 Reaction Representations
Chemical reactions consist of (multiple) reactants and reagents that react to form one or more products. The choice of reactant/reagent typically constitutes a categorical design space. Taking as an example the high-throughput experiments by [41] on Buchwald-Hartwig reactions, the reaction design space consists of 15 aryl and heteroaryl halides, 4 Buchwald ligands, 3 bases, and 23 isoxazole additives.
Concatenated Molecular Representations If the number of reactants and reagents is constant, the molecular representations discussed in Section 3.1 may be used to represent them, and the vectors for the individual reaction components can be concatenated to construct a representation of the reaction [41, 42]. An additional and commonly used concatenated representation is the one-hot-encoding (OHE) of the reaction categories where bits specify which of the components in the different reactant and reagent categories is present. In the Buchwald-Hartwig example, the OHE would describe which of the aryl halides, Buchwald ligands, bases and additives are used in the reaction, resulting in a 44-dimensional bit vector [43].
Differential Reaction Fingerprints Inspired by the hand-engineered difference reaction fingerprints by [44] and [45] recently introduced the differential reaction fingerprint (DRFP). This reaction fingerprint is constructed by taking the symmetric difference of the sets containing the molecular substructures on both sides of the reaction arrow. Reagents are added to the reactants. The size of the reaction bit vector generated by DRFP is independent of the number of reaction components.
Data-Driven Reaction Fingerprints [46] described data-driven reaction fingerprints using Transformer models such as BERT [47] trained in a supervised or an unsupervised fashion on reaction SMILES. Those models can be fine-tuned on the task of interest to learn more specific reaction representations [48] (RXNFP). Similar to the DRFP, the size of the data-driven reaction fingerprints is independent of the number of reaction components.
3.3 Protein Representations
Proteins are large macromolecules that adopt complex 3D structures. They can be represented in string form describing the underlying amino acid sequence. Graphs at varying degrees of coarseness may also be used for structural representations that capture spatial and intramolecular relationships between structural elements, such as atoms, residues, secondary structures and chains. GAUCHE interfaces with Graphein [49], a library for pre-processing and computing graph representations of structural biological data, thereby enabling the application of graph kernel-based methods to protein structure. We provide experiments on protein fitness prediction in Appendix E.1.
4 Molecular Kernels
The choice of kernel is an important inductive bias for the properties of the function being modelled. A common choice for continuous input domains is the radial basis function kernel
$$
k _ {\mathrm {R B F}} (\mathbf {x}, \mathbf {x} ^ {\prime}) = \sigma_ {f} ^ {2} \exp \left(\frac {- | | \mathbf {x} - \mathbf {x} ^ {\prime} | | _ {2} ^ {2}}{2 \ell^ {2}}\right),
$$
where  $\sigma_f^2$  is the signal amplitude hyperparameter (vertical lengthscale) and  $\ell$  is the (horizontal) lengthscale hyperparameter. However, in order to train GPs on the molecular representations covered in Section 3, bespoke kernel functions that are able to operate non-continuous input spaces are needed.
4.1 Fingerprint Kernels
Scalar Product Kernel The simplest kernel to operate on fingerprints is the scalar product or linear kernel defined for vectors  $\mathbf{x},\mathbf{x}^{\prime}\in \mathbb{R}^{d}$  as
$$
k _ {\text {S c a l a r P r o d u c t}} \left(\mathbf {x}, \mathbf {x} ^ {\prime}\right) := \sigma_ {f} ^ {2} \cdot \left\langle \mathbf {x}, \mathbf {x} ^ {\prime} \right\rangle ,
$$
where  $\sigma_f$  is a scalar signal variance hyperparameter and  $\langle \cdot, \cdot \rangle$  is the Euclidean inner product.
Tanimoto Kernel Introduced as a general similarity metric for binary attributes [50], the Tanimoto kernel was first used in chemoinformatics in conjunction with non-GP-based kernel methods [51]. It is defined for binary vectors  $\mathbf{x},\mathbf{x}^{\prime}\in \{0,1\}^{d}$  for  $d\geq 1$  as
$$
k _ {\text {T a n i m o t o}} \left(\mathbf {x}, \mathbf {x} ^ {\prime}\right) := \sigma_ {f} ^ {2} \cdot \frac {\langle \mathbf {x} , \mathbf {x} ^ {\prime} \rangle}{\left\| \mathbf {x} \right\| ^ {2} + \left\| \mathbf {x} ^ {\prime} \right\| ^ {2} - \langle \mathbf {x} , \mathbf {x} ^ {\prime} \rangle},
$$
where  $||\cdot ||$  is the Euclidean norm.
In addition to the Tanimoto kernel, GAUCHE provides parallelisable and batch-GP-compatible implementations of 12 other bit and count vector kernels that are presented in Appendix G.
4.2 String Kernels
String kernels [52, 53] measure the similarity between strings by examining the degree to which their sub-strings differ. In GAUCHE, we implement the SMILES string kernel [54] which calculates an inner product between the occurrences of sub-strings, considering all contiguous sub-strings made from at most  $n$  characters (we set  $n = 5$  in our experiments). Therefore, for the sub-string count featurisation  $\phi : S \to \mathbb{R}^p$ , also known as a bag-of-characters representation [55], the SMILES string kernel between two strings  $S$  and  $S'$  is given by
$$
k _ {\text {S t r i n g}} (\mathcal {S}, \mathcal {S} ^ {\prime}) := \sigma_ {f} ^ {2} \cdot \langle \phi (\mathcal {S}), \phi (\mathcal {S} ^ {\prime}) \rangle .
$$
More complicated string kernels do exist in the literature, for example, GAUCHE also provides an implementation of the subset string kernel [56] which allows non-contiguous matches. However, we found that the significant added computational cost of these methods did not provide improved performance over the more simple SMILES string kernel in the context of molecular data. Note that although named the SMILES string kernel, this kernel can also be applied to any other string representation of molecules e.g. SELFFIES or protein sequences.
4.3 Graph Kernels
Graph kernels define a mapping  $\phi_{\lambda}:\mathcal{G}\to \mathcal{H}$  from a graph domain  $\mathcal{G}$  to a feature space  $\mathcal{H}$ , in which the inner product between a pair of graphs  $g,g^{\prime}\in \mathcal{G}$  serves as a similarity measure
$$
k _ {\text {G r a p h}} (g, g ^ {\prime}) := \sigma_ {f} ^ {2} \cdot \langle \phi_ {\lambda} (g), \phi_ {\lambda} (g ^ {\prime}) \rangle_ {\mathcal {H}},
$$
where  $\lambda$  denotes kernel-specific hyperparameters. Depending on how  $\phi_{\lambda}$  is defined, the kernel captures different substructural motifs and is characterised by different hyperparameters. The Weisfeiler-Lehman (WL) kernel [57], for instance, is given by the inner products of label count vectors over  $\lambda$  iterations of the Weisfeiler-Lehman algorithm [58].
To maximise the number of graph kernels available in GAUCHE we implemented the SIGP class, which enables PyTorch-based GPs to be trained on non-tensorial inputs with any kernel from the GraKel library [59] (see Appendix F for more details).
Table 1: Predictive accuracy and calibration of Gaussian process and probabilistic deep learning models across four different molecular property prediction benchmarks. RMSE (↓) and NLPD (↓) are reported as mean and standard error over 20 random 80/20 train/test splits. The best models up to statistical significance are highlighted in bold. Numerical issues were encountered with the WL kernel on the large lipophilicity dataset and the corresponding entries are left blank.
Model	Representation	Photoswitch	ESOL	FreeSolv	Lipophilicity
RMSE	NLPD	RMSE	NLPD	RMSE	NLPD	RMSE	NLPD
GAUSSIAN PROCESSES	Tanimoto	fragprints	20.9±0.7	0.22±0.03	0.71±0.01	0.33±0.01	1.31±0.06	0.28±0.02	0.67±0.01	0.71±0.01
fingerprints	23.4±0.8	0.33±0.03	1.01±0.01	0.71±0.01	1.93±0.09	0.58±0.03	0.76±0.01	0.85±0.01
fragments	26.3±0.8	0.50±0.04	0.91±0.01	0.57±0.01	1.49±0.05	0.44±0.03	0.80±0.01	0.94±0.02
Scalar Product	fragprints	22.5±0.7	0.23±0.03	0.88±0.01	0.53±0.01	1.27±0.02	0.25±0.02	0.77±0.01	0.92±0.01
fingerprints	24.8±0.8	0.33±0.03	1.17±0.01	0.84±0.01	1.93±0.07	0.64±0.03	0.84±0.01	1.03±0.01
fragments	36.6±1.0	0.80±0.03	1.15±0.01	0.82±0.01	1.63±0.03	0.54±0.02	0.97±0.01	0.88±0.10
String	SMILES	24.8±0.7	0.30±0.04	0.66±0.01	0.29±0.03	1.31±0.01	0.16±0.02	0.68±0.01	0.72±0.01
WL Kernel	graph	22.4±1.4	0.39±0.11	1.04±0.02	0.76±0.001	1.47±0.06	0.47±0.02	-	-
NEURAL NETS	FC-BNN	fragprints	20.9±0.6	1.63±0.44	0.88±0.01	1.70±0.11	1.39±0.03	1.41±0.38	0.75±0.01	3.82±0.12
fingerprints	22.4±0.7	2.22±0.56	1.08±0.02	2.59±0.40	1.93±0.07	2.65±0.72	0.81±0.01	3.74±0.10
fragments	25.8±0.7	0.69±0.09	1.03±0.01	1.93±0.28	1.48±0.02	0.89±0.12	0.87±0.01	5.52±0.23
GNN-BNN	graph	28.5±1.2	1.00±0.13	0.88±0.01	1.70±0.11	0.96±0.01	1.01±0.02	0.73±0.02	1.14±0.01
CNN Ensemble	SELFIES	26.4±1.0	4.34±0.55	0.67±0.01	2.91±0.14	1.29±0.04	2.24±0.21	0.75±0.01	2.60±0.06
CNN DKL GP	SELFIES	25.1±0.8	0.48±0.05	0.94±0.04	0.90±0.15	1.41±0.11	0.33±0.04	0.91±0.01	1.46±0.03
We evaluate GAUCHE on a range of regression, uncertainty quantification (UQ) and Bayesian optimisation (BO) tasks. The principle goal in conducting regression and UQ benchmarks is to gauge whether performance on these tasks may be used as a proxy for BO performance. BO is a powerful tool for automated scientific discovery but one would prefer to avoid model misspecification in the surrogate when deploying a scheme in the real world. We make use of the following datasets with experimentally determined labels:
- Photoswitch The labels  $y$  are the values of the  $E$  isomer  $\pi - \pi^{*}$  transition wavelength for 392 photoswitch molecules [3].
- ESOL The labels  $y$  are the logarithmic aqueous solubility values for 1128 organic small molecules [60].
- FreeSolv The labels  $y$  are the hydration free energies for 642 molecules [41].
- Lipophilicity The labels  $y$  are the octanol/water distribution coefficient (log D at pH 7.4) of 4200 compounds curated from the ChEMBL database [61, 62].
- Buchwald-Hartwig reactions The labels  $y$  are the yields for 3955 Pd-catalysed Buchwald-Hartwig C-N cross-couplings [41].
- Suzuki-Miyaura reactions The labels  $y$  are the yields for 5760 Pd-catalysed Suzuki-Miyaura C-C cross-couplings [63].
5.1 Regression and Uncertainty Quantification (UQ)
Experimental setup For the regression and uncertainty quantification experiments, all datasets were randomly split into training and test sets with a ratio of 80/20. (Note that validation sets are not required for the GP models, since hyperparameters are chosen using the marginal likelihood objective on the train set). All GP models were trained using the L-BFGS-B optimiser [64] and, if not stated otherwise, the default settings in the GPyTorch and BoTorch libraries apply.
To quantify model performance, the predictive accuracy and the calibration of the predictive uncertainty estimates of the fitted models were evaluated on the held-out test set and summarised as the root-mean-square error (RMSE) and the negative log predictive density (NLPD), respectively. The mean and standard error of these metrics over 20 different random splits are reported in Table 1.
(a) Photoswitch
(b) ESOL
Figure 4: BO performance reporting the standard error from 50 randomly initialised trials (20 for Buchwald-Hartwig). A kernel density estimate over the trials is shown on the right axis. EI fingerprints results use the Tanimoto kernel. The random search baseline is indicated in blue.
(c) Buchwald-Hartwig reactions
Alternative metrics to measure the quality of the predictive uncertainty estimates such as the mean standardised log loss (MSLL) and the quantile coverage error (QCE) are reported in Appendix A, while additional results for the reaction yield prediction datasets and scaffold splits are presented in Appendices B and C. We also benchmark the performance of GP models against a range of Bayesian neural network- (BNN) and deep ensemble-based methods that are detailed in Appendix D.
Results Summarising our results in Table 1, we find that Tanimoto-based GPs generally outperform Scalar Product ones in terms of RMSD and NLDP, while string kernel-based GPS often yield even better performance. We additionally note that the quality of the predictive uncertainty estimates roughly correlates with predictive accuracy in the case of GP-based models.