ICLR2024
Convolutional Deep Kernel Machines
Edward Milsom, Ben Anson, Laurence Aitchison
被引用 6 次
摘要
Standard infinite-width limits of neural networks sacrifice the ability for intermediate layers to learn representations from data. Recent work ("A theory of representation learning gives a deep generalisation of kernel methods", Yang et al. 2023) modified the Neural Network Gaussian Process (NNGP) limit of Bayesian neural networks so that representation learning is retained. Furthermore, they found that applying this modified limit to a deep Gaussian process gives a practical learning algorithm which they dubbed the "deep kernel machine" (DKM). However, they only considered the simplest possible setting: regression in small, fully connected networks with e.g. 10 input features. Here, we introduce convolutional deep kernel machines. This required us to develop a novel inter-domain inducing point approximation, as well as introducing and experimentally assessing a number of techniques not previously seen in DKMs, including analogues to batch normalisation, different likelihoods, and different types of top-layer. The resulting model trains in roughly 77 GPU hours, achieving around 99% test accuracy on MNIST, 72% on CIFAR-100, and 92.7% on CIFAR-10, which is SOTA for kernel methods. Published as a conference paper at ICLR 2024 Convolutional DGPs use inducing patches for scalability (van der Wilk et al., 2017; Blomqvist et al., 2018; Dutordoir et al., 2020) . However, we cannot use their scheme here, as it requires features at each layer, while we work solely with Gram matrices. Therefore we were forced to develop a new scheme. Our DKM inducing point scheme is inter-domain (Lázaro-Gredilla & Figueiras-Vidal, 2009; Hensman et al., 2017; Rudner et al., 2020) , in the sense that the inducing points do not mirror datapoints (images), but instead store information about the function in a different domain. Existing work on inter-domain inducing points does not address the DKM or convolutional settings. An alternative approach to getting a flexible kernel is to take the inputs, transform them through a NN (e.g. 10-40 layer CNN), then to use the outputs of the NN as inputs to a standard kernel. This approach is known as deep kernel learning (DKL;