  We propose a class of kernel-based two-sample tests, which aim to determine
whether two sets of samples are drawn from the same distribution. Our tests are
constructed from kernels parameterized by deep neural nets, trained to maximize
test power. These tests adapt to variations in distribution smoothness and
shape over space, and are especially suited to high dimensions and complex
data. By contrast, the simpler kernels used in prior kernel testing work are
spatially homogeneous, and adaptive only in lengthscale. We explain how this
scheme includes popular classifier-based two-sample tests as a special case,
but improves on them in general. We provide the first proof of consistency for
the proposed adaptation method, which applies both to kernels on deep features
and to simpler radial basis kernels or multiple kernel learning. In
experiments, we establish the superior performance of our deep kernels in
hypothesis testing on benchmark and real-world data. The code of our
deep-kernel-based two sample tests is available at
https://github.com/fengliu90/DK-for-TST.
