Title: REVISITING CLASSIFIER TWO-SAMPLE TESTS

Abstract: The goal of two-sample tests is to assess whether two samples, S P ∼ P n and S Q ∼ Q m , are drawn from the same distribution. Perhaps intriguingly, one relatively unexplored method to build two-sample tests is the use of binary classifiers. In particular, construct a dataset by pairing the n examples in S P with a positive label, and by pairing the m examples in S Q with a negative label. If the null hypothesis "P = Q" is true, then the classification accuracy of a binary classifier on a held-out subset of this dataset should remain near chance-level. As we will show, such Classifier Two-Sample Tests (C2ST) learn a suitable representation of the data on the fly, return test statistics in interpretable units, have a simple null distribution, and their predictive uncertainty allow to interpret where P and Q differ. The goal of this paper is to establish the properties, performance, and uses of C2ST. First, we analyze their main theoretical properties. Second, we compare their performance against a variety of state-of-the-art alternatives. Third, we propose their use to evaluate the sample quality of generative models with intractable likelihoods, such as Generative Adversarial Networks (GANs). Fourth, we showcase the novel application of GANs together with C2ST for causal discovery.

1. INTRODUCTION:

One of the most fundamental problems in statistics is to assess whether two samples, S P ∼ P n and S Q ∼ Q m , are drawn from the same probability distribution. To this end, two-sample tests (Lehmann & Romano, 2006) summarize the differences between the two samples into a real-valued test statistic, and then use the value of such statistic to accept1 or reject the null hypothesis "P = Q". The development of powerful two-sample tests is instrumental in a myriad of applications, including the evaluation and comparison of generative models. Over the last century, statisticians have nurtured a wide variety of two-sample tests. However, most of these tests are only applicable to one-dimensional examples, require the prescription of a fixed representation of the data, return test statistics in units that are difficult to interpret, or do not explain how the two samples under comparison differ.

Intriguingly, there exists a relatively unexplored strategy to build two-sample tests that overcome the aforementioned issues: training a binary classifier to distinguish between the examples in S P and the examples in S Q . Intuitively, if P = Q, the test accuracy of such binary classifier should remain near chance-level. Otherwise, if P = Q and the binary classifier is able to unveil some of the distributional differences between S P and S Q , its test accuracy should depart from chance-level. As we will show, such Classifier Two-Sample Tests (C2ST) learn a suitable representation of the data on the fly, return test statistics in interpretable units, have simple asymptotic distributions, and their learned features and predictive uncertainty provide interpretation on how P and Q differ. In such a way, this work brings together the communities of statistical testing and representation learning.

The goal of this paper is to establish the theoretical properties and evaluate the practical uses of C2ST. To this end, our contributions are:

• We review the basics of two-sample tests in Section 2, as well as their common applications to measure statistical dependence and evaluate generative models.

• We analyze the attractive properties of C2ST (Section 3) including an analysis of their exact asymptotic distributions, testing power, and interpretability.

• We evaluate C2ST on a wide variety of synthetic and real data (Section 4), and compare their performance against multiple state-of-the-art alternatives. Furthermore, we provide examples to illustrate how C2ST can interpret the differences between pairs of samples.

• In Section 5, we propose the use of classifier two-sample tests to evaluate the sample quality of generative models with intractable likelihoods, such as Generative Adversarial Networks (Goodfellow et al., 2014) , also known as GANs.

• As a novel application of the synergy between C2ST and GANs, Section 6 proposes the use of these methods for causal discovery.

2. TWO-SAMPLE TESTING:

The goal of two-sample tests is to assess whether two samples, denoted by S P ∼ P n and S Q ∼ Q m , are drawn from the same distribution (Lehmann & Romano, 2006) . More specifically, two-sample tests either accept or reject the null hypothesis, often denoted by H 0 , which stands for "P = Q".

When rejecting H 0 , we say that the two-sample test favors the alternative hypothesis, often denoted by H 1 , which stands for "P = Q". To accept or reject H 0 , two-sample tests summarize the differences between the two samples (sets of identically and independently distributed examples):

EQUATION

into a statistic t ∈ R. Without loss of generality, we assume that the two-sample test returns a small statistic when the null hypothesis "P = Q" is true, and a large statistic otherwise. Then, for a sufficiently small statistic, the two-sample test will accept H 0 . Conversely, for a sufficiently large statistic, the two-sample test will reject H 0 in favour of H 1 .

More formally, the statistician performs a two-sample test in four steps. First, decide a significance level α ∈ [0, 1], which is an input to the two-sample test. Second, compute the two-sample test statistic t. Third, compute the p-value p = P (T ≥ t|H 0 ), the probability of the two-sample test returning a statistic as large as t when H 0 is true. Fourth, reject H 0 if p < α, and accept it otherwise.

Inevitably, two-sample tests can fail in two different ways. First, to make a type-I error is to reject the null hypothesis when it is true (a "false positive"). By the definition of p-value, the probability of making a type-I error is upper-bounded by the significance level α. Second, to make a type-II error is to accept the null hypothesis when it is false (a "false negative"). We denote the probability of making a type-II error by β, and refer to the quantity π = 1β as the power of a test. Usually, the statistician uses domain-specific knowledge to evaluate the consequences of a type-I error, and thus prescribe an appropriate significance level α. Within the prescribed significance level α, the statistician prefers the two-sample test with maximum power π.

Among others, two-sample tests serve two other uses. First, two-sample tests can measure statistical dependence (Gretton et al., 2012a) . In particular, testing the independence null hypothesis "the random variables X and Y are independent" is testing the two-sample null hypothesis "P (X, Y ) = P (X)P (Y )". In practice, the two-sample test would compare the sample

S = {(x i , y i )} n i=1 ∼ P (X, Y ) n to a sample S σ = {(x i , y σ(i) )} n i=1 ∼ (P (X)P (Y )) n

, where σ is a random permutation of the set of indices {1, . . . , n}. This approach is consistent when considering all possible random permutations. However, since independence testing is a subset of two-sample testing, specialized independence tests may exhibit higher power for this task (Gretton et al., 2005) .

Second, two-sample tests can evaluate the sample quality of generative models with intractable likelihoods, but tractable sampling procedures. Intuitively, a generative model produces good samples Ŝ = {x i } n i=1 if these are indistinguishable from the real data S = {x i } n i=1 that they model. Thus, the two-sample test statistic between Ŝ and S measures the fidelity of the samples Ŝ produced by the generative model. The use of two-sample tests to evaluate the sample quality of generative models include the pioneering work of Box (1980) , the use of Maximum Mean Discrepancy (MMD) criterion (Bengio et al., 2013; Dziugaite et al., 2015; Lloyd & Ghahramani, 2015; Bounliphone et al., 2015; Sutherland et al., 2016) , and the connections to density-ratio estimation (Kanamori et al., 2010; Wornowizki & Fried, 2016; Menon & Ong, 2016; Mohamed & Lakshminarayanan, 2016) .

Over the last century, statisticians have nurtured a wide variety of two-sample tests. Classical two-sample tests include the t-test (Student, 1908) , which tests for the difference in means of two samples; the Wilcoxon-Mann-Whitney test (Wilcoxon, 1945; Mann & Whitney, 1947) , which tests for the difference in rank means of two samples; and the Kolmogorov-Smirnov tests (Kolmogorov, 1933; Smirnov, 1939) and their variants (Kuiper, 1962) , which test for the difference in the empirical cumulative distributions of two samples. However, these classical tests are only efficient when applied to one-dimensional data. Recently, the use of kernel methods (Smola & Schölkopf, 1998) enabled the development of two-sample tests applicable to multidimensional data. Examples of these tests include the MMD test (Gretton et al., 2012a) , which looks for differences in the empirical kernel mean embeddings of two samples, and the Mean Embedding test or ME (Chwialkowski et al., 2015; Jitkrittum et al., 2016) , which looks for differences in the empirical kernel mean embeddings of two samples at optimized locations. However, kernel two-sample tests require the prescription of a manually-engineered representation of the data under study, and return values in units that are difficult to interpret. Finally, only the ME test provides a mechanism to interpret how P and Q differ.

Next, we discuss a simple but relatively unexplored strategy to build two-sample tests that overcome these issues: the use of binary classifiers.

3. CLASSIFIER TWO-SAMPLE TESTS (C2ST):

Without loss of generality, we assume access to the two samples S P and S Q defined in (1), where x i , y j ∈ X , for all i = 1, . . . , n and j = 1, . . . , m, and m = n. To test whether the null hypothesis H 0 : P = Q is true, we proceed in five steps. First, construct the dataset

D = {(x i , 0)} n i=1 ∪ {(y i , 1)} n i=1 =: {(z i , l i )} 2n i=1 .

Second, shuffle D at random, and split it into the disjoint training and testing subsets D tr and D te , where D = D tr ∪ D te and n te := |D te |. Third, train a binary classifier f : X → [0, 1] on D tr ; in the following, we assume that f (z i ) is an estimate of the conditional probability distribution p(l i = 1|z i ). Fourth, return the classification accuracy on D te :

t = 1 n te (zi,li)∈Dte I I f (z i ) > 1 2 = l i (2)

as our C2ST statistic, where I is the indicator function. The intuition here is that if P = Q, the test accuracy (2) should remain near chance-level. In opposition, if P = Q and the binary classifier unveils distributional differences between the two samples, the test classification accuracy (2) should be greater than chance-level. Fifth, to accept or reject the null hypothesis, compute a p-value using the null distribution of the C2ST, as discussed next.

3.1. NULL AND ALTERNATIVE DISTRIBUTIONS:

Each term

I [I(f (z i ) > 1/2) = l i ] appearing in (2) is an independent Bernoulli(p i ) random variable,

where p i is the probability of classifying correctly the example z i in D te .

First, under the null hypothesis H 0 : P = Q, the samples S P ∼ P n and S Q ∼ Q m follow the same distribution, leading to an impossible binary classification problem. In that case, n te t follows a Binomial(n te , p = 1 2 ) distribution. Therefore, for large n te , we can use the central limit theorem to approximate the null distribution of (2) by N ( 1 2 , 1 4nte ). Second, under the alternative hypothesis H 1 : P = Q, the statistic n te t follows a Poisson Binomial distribution, since the constituent Bernoulli random variables may not be identically distributed. In the following, we will approximate such Poisson Binomial distribution by the Binomial(n, p) distribution, where p = 1 n n i=1 p i (Ehm, 1991) . Therefore, we can use the central limit theorem to approximate the alternative distribution of (2) by N (p, p(1-p) nte ).

3.2. TESTING POWER:

To analyze the power (probability of correctly rejecting false null hypothesis) of C2ST, we assume that the our classifier has an expected (unknown) accuracy of H 0 : t = 1 2 under the null hypothesis "P = Q", and an expected accuracy of H 1 : t = 1 2 + under the alternative hypothesis "P = Q", where ∈ (0, 1 2 ) is the effect size distinguishing P from Q. Let Φ be the Normal cdf, n te the number of samples available for testing, and α the significance level. Then, Theorem 1. Given the conditions described in the previous paragraph, the approximate power of the statistic

(2) is Φ √ nte-Φ -1 (1-α)/2 √ 1 4 -2 .

See Appendix B for a proof. The power bound in Theorem 1 has an optimal order of magnitude for multi-dimensional problems (Bai & Saranadasa, 1996; Gretton et al., 2012a; Reddi et al., 2015) . These are problems with fixed d and n → ∞, where the power bounds do not depend on d.

Remark 1. We leave for future work the study of quadratic-time C2ST with optimal power in highdimensional problems (Ramdas et al., 2015) . These are problems where the ratio n/d → c ∈ [0, 1], and the power bounds depend on d. One possible line of research in this direction is to investigate the power and asymptotic distributions of quadratic-time C2ST statistics

1 nte(nte-1) i =j I[I(f (z i , z j ) > 1 2 ) = l i ],

where the classifier f (z, z ) predicts if the examples (z, z ) come from the same sample. Theorem 1 also illustrates that maximizing the power of a C2ST is a trade-off between two competing objectives: choosing a classifier that maximizes the test accuracy and maximizing the size of the test set n te . This relates to the well known bias-variance trade-off in machine learning. Indeed, simple classifiers will miss more nonlinear patterns in the data (leading to smaller test accuracy), but call for less training data (leading to larger test set sizes). On the other hand, flexible classifiers will miss less nonlinear patterns in the data (leading to higher test accuracy), but call for more training data (leading to smaller test sizes). Formally, the relationship between the test accuracy, sample size, and the flexibility of a classifier depends on capacity measures such as the VC-Dimension (Vapnik, 1998) . Note that there is no restriction to perform model selection (such as cross-validation) on D tr .

Remark 2. We have focused on test statistics (2) built on top of the zero-one loss 0-1 (y, y ) = I[y = y ] ∈ {0, 1}. These statistics give rise to Bernoulli random variables, which can exhibit high variance. However, our arguments are readily extended to real-valued binary classification losses. Then, the variance of such real-valued losses would describe the norm of the decision function of the classifier two-sample test, appear in the power expression from Theorem 1, and serve as a hyper-parameter to maximize power as in (Gretton et al., 2012b , Section 3).2 

3.3. INTERPRETABILITY:

There are three ways to interpret the result of a C2ST. First, recall that the classifier predictions f (z i ) are estimates of the conditional probabilities p(l i = 1|z i ) for each of the samples z i in the test set. Inspecting these probabilities together with the true labels l i determines which examples were correctly or wrongly labeled by the classifier, with the least or the most confidence. Therefore, the values f (z i ) explain where the two distributions differ. Second, C2ST inherit the interpretability of their classifiers to explain which features are most important to distinguish distributions, in the same way as the ME test (Jitkrittum et al., 2016) . Examples of interpretable features include the filters of the first layer of a neural network, the feature importance of random forests, the weights of a generalized linear model, and so on. Third, C2ST return statistics t in interpretable units: these relate to the percentage of samples correctly distinguishable between the two distributions. These interpretable numbers can complement the use of p-values.

3.4. PRIOR USES:

The reduction of two-sample testing to binary classification was introduced in (Friedman, 2003) , studied within the context of information theory in (Pérez-Cruz, 2009; Reid & Williamson, 2011) , discussed in (Fukumizu et al., 2009; Gretton et al., 2012a) , and analyzed (for the case of linear discriminant analysis) in (Ramdas et al., 2016) . The use of binary classifiers for two-sample testing is increasingly common in neuroscience: see (Pereira et al., 2009; Olivetti et al., 2012) and the references therein. Implicitly, binary classifiers also perform two-sample tests in algorithms that discriminate data from noise, such as unsupervised-as-supervised learning (Friedman et al., 2001) , noise contrastive estimation (Gutmann & Hyvärinen, 2012) , negative sampling (Mikolov et al., 2013) , and GANs (Goodfellow et al., 2014) . 

4. EXPERIMENTS ON TWO-SAMPLE TESTING:

We study two variants of classifier-based two-sample tests (C2ST): one based on neural networks (C2ST-NN), and one based on k-nearest neighbours (C2ST-KNN). C2ST-NN has one hidden layer of 20 ReLU neurons, and trains for 100 epochs using the Adam optimizer (Kingma & Ba, 2015) . C2ST-KNN uses k = n 1/2 tr nearest neighbours for classification. Throughout our experiments, we did not observe a significant improvement in performance when increasing the flexibility of these classifiers (e.g., increasing the number of hidden neurons or decreasing the number of nearest neighbors). When analyzing one-dimensional data, we compare the performance of C2ST-NN and C2ST-KNN against the Wilcoxon-Mann-Whitney test (Wilcoxon, 1945; Mann & Whitney, 1947) , the Kolmogorov-Smirnov test (Kolmogorov, 1933; Smirnov, 1939) , and the Kuiper test (Kuiper, 1962) . In all cases, we also compare the performance of C2ST-NN and C2ST-KNN against the linear-time estimate of the Maximum Mean Discrepancy (MMD) criterion (Gretton et al., 2012a) , the ME test (Jitkrittum et al., 2016) , and the SCF test (Jitkrittum et al., 2016) . We use a significance level α = 0.05 across all experiments and tests, unless stated otherwise. We use Gaussian approximations to compute the null distributions of C2ST-NN and C2ST-KNN. We use the implementations of the MMD, ME, and SCF tests gracefully provided by Jitkrittum et al. (2016) , the scikit-learn implementation of the Kolmogorov-Smirnov and Wilcoxon tests, and the implementation from https://github.com/aarchiba/kuiper of the Kuiper test. The implementation of our experiments is available at https://github.com/lopezpaz/classifier_tests.



Control of type-I errors:

We start by evaluating the correctness of all the considered two-sample tests by examining if the prescribed significance level α = 0.05 upper-bounds their type-I error. To do so, we draw x 1 , . . . , x n , y 1 , . . . , y n ∼ N (0, 1), and run each two-sample test on the two samples {x i } n i=1 and {y i } n i=1 . In this setup, a type-I error would be to reject the true null hypothesis. Figure 1 (a) shows that the type-I error of all tests is upper-bounded by the prescribed significance level, for all n ∈ {25, 50, 100, 500, 1000, 5000, 10000} and 100 random repetitions. Thus, all tests control their type-I error as expected, up to random variations due to finite experiments.

Gaussian versus Student:

We consider distinguishing between samples drawn from a Normal distribution and samples drawn from a Student's t-distribution with ν degrees of freedom. We shift and scale both samples to exhibit zero-mean and unit-variance. Since the Student's t distribution approaches the Normal distribution as ν increases, a two-sample test must focus on the peaks of the distributions to distinguish one from another. Figure 1(b, c ) shows the percentage of type-II errors made by all tests as we vary separately n and ν, over 100 trials (random samples). We set Independence testing on sinusoids For completeness, we showcase the use two-sample tests to measure statistical dependence. This can be done, as described in Section 2, by performing a two-sample test between the observed data {(x i , y i )} n i=1 and {(x i , y σ(i) )} n i=1 , where σ is a random permutation. Since the distributions P (X)P (Y ) and P (X, Y ) are bivariate, only the C2ST-NN, C2ST-KNN, MMD, and ME tests compete in this task. We draw (x i , y i ) according to the generative model x i ∼ N (0, 1), i ∼ N (0, γ 2 ), and y i ∼ cos(δx i ) + i . Here, x i are iid examples from the random variable X, and y i are iid examples from the random variable Y . Thus, the statistical dependence between X and Y weakens as we increase the frequency δ of the sinusoid, or increase the variance γ 2 of the additive noise. Figure 1(d, e, f ) shows the percentage of type-II errors made by C2ST-NN, C2ST-KNN, MMD, and ME as we vary separately n, δ, and γ over 100 trials. We let n = 2000, δ = 1, γ = 0.25 when fixed. Figure 1(d, e, f ) reveals that among all tests, C2ST-NN is the most efficient in terms of sample size, C2ST-KNN is the most robust with respect to high-frequency variations, and that C2ST-NN and ME are the most robust with respect to additive noise.

Distinguishing between NIPS articles:

We consider the problem of distinguishing between some of the categories of the 5903 articles published in the Neural Information Processing Systems (NIPS) conference from 1988 to 2015, as discussed in Jitkrittum et al. (2016) . We consider articles on Bayesian inference (Bayes), neuroscience (Neuro), deep learning (Deep), and statistical learning theory (Learn). Table 1 shows the type-I errors (Bayes-Bayes row) and powers (rest of rows) for the tests reported in (Jitkrittum et al., 2016) , together with C2ST-NN, at a significance level α = 0.01, when averaged over 500 trials. In these experiments, C2ST-NN achieves maximum power, while upper-bounding its type-I error by α.

Distinguishing between facial expressions Finally, we apply C2ST-NN to the problem of distinguishing between positive (happy, neutral, surprised) and negative (afraid, angry, disgusted) facial expressions from the Karolinska Directed Emotional Faces dataset, as discussed in (Jitkrittum et al., 2016) . See the fourth plot of Figure 2 , first two-rows, for one example of each of these six emotions. Table 2 shows the type-I errors (± vs ± row) and the powers (+ vsrow) for the tests reported in (Jitkrittum et al., 2016) , together with C2ST-NN, at α = 0.01, averaged over 500 trials. C2ST-NN achieves a near-optimal power, only marginally behind the perfect results of SCF-full and MMD-quad.

5. EXPERIMENTS ON GENERATIVE ADVERSARIAL NETWORK EVALUATION:

Since effective generative models will produce examples barely distinguishable from real data, twosample tests arise as a natural alternative to evaluate generative models. Particularly, our interest is to evaluate the sample quality of generative models with intractable likelihoods, such as GANs (Goodfellow et al., 2014) . GANs implement the adversarial game where d(x) depicts the probability of the example x following the data distribution P (X) versus being synthesized by the generator. This is according to a trainable discriminator function d. In the adversarial game, the generator g plays to fool the discriminator d by transforming noise vectors z ∼ P (Z) into real-looking examples g(z). On the opposite side, the discriminator plays to distinguish between real examples x and synthesized examples g(z). To approximate the solution to (3), alternate the optimization of the two losses (Goodfellow et al., 2014) given by

EQUATION

EQUATION

Under the formalization (4), the adversarial game reduces to the sequential minimization of L d (d) and L g (g), and reveals the true goal of the discriminator: to be the C2ST that best distinguishes data examples x ∼ P and synthesized examples x ∼ P , where P is the probability distribution induced by sampling z ∼ P (Z) and computing x = g(z). The formalization (4) unveils the existence of an arbitrary binary classification loss function (See Remark 2), which in turn decides the divergence minimized between the real and fake data distributions (Nowozin et al., 2016) .

Unfortunately, the evaluation of the log-likelihood of a GANs is intractable. Therefore, we will employ a two-sample test to evaluate the quality of the fake examples x = g(z). In simple terms, evaluating a GAN in this manner amounts to withhold some real data from the training process, and use it later in a two-sample test against the same amount of synthesized data. When the twosample test is a binary classifier (as discussed in Section 3), this procedure is simply training a fresh discriminator on a fresh set of data. Since we train and test this fresh discriminator on held-out examples, it may differ from the discriminator trained along the GAN. In particular, the discriminator trained along with the GAN may have over-fitted to particular artifacts produced by the generator, thus becoming a poor C2ST.

We evaluate the use of two-sample tests for model selection in GANs. To this end, we train a number of DCGANs (Radford et al., 2016) on the bedroom class of LSUN (Yu et al., 2015) and the Labeled Faces in the Wild (LFW) dataset (Huang et al., 2007) . We reused the Torch7 code of Radford et al. (2016) to train a set of DCGANs for {1, 10, 50, 100, 200} epochs, where the generator and discriminator networks are convolutional neural networks (LeCun et al., 1998) with {1, 2, 4, 8} × gf and {1, 2, 4, 8} × df filters per layer, respectively. We evaluate each DCGAN on 10, 000 held-out examples using the fastest multi-dimensional two-sample tests: MMD, C2ST-NN, and C2ST-KNN.

Our first experiments revealed an interesting result. When performing two-sample tests directly on pixels, all tests obtain near-perfect test accuracy when distinguishing between real and synthesized (fake) examples. Such near-perfect accuracy happens consistently across DCGANs, regardless of the visual quality of their examples. This is because, albeit visually appealing, the fake examples contain checkerboard-like artifacts that are sufficient for the tests to consistently differentiate between real and fake examples. Odena et al. (2016) discovered this phenomenon concurrently with us.

On a second series of experiments, we featurize all images (both real and fake) using a deep convolutional ResNet (He et al., 2015) pre-trained on ImageNet, a large dataset of natural images (Russakovsky et al., 2015) . In particular, we use the resnet-34 model from Gross & Wilber (2016) .

Reusing a model pre-trained on natural images ensures that the test will distinguish between real and fake examples based only on natural image statistics, such as Gabor filters, edge detectors, and so on. Such a strategy is similar to perceptual losses (Johnson et al., 2016) and inception scores (Salimans et al., 2016) . In short, in order to evaluate how natural the images synthesized by a DCGAN look, one must employ a "natural discriminator". Table 3 shows three GANs producing poor samples and three GANs producing good samples for the LSUN and LFW datasets, according to the MMD, C2ST-KNN, C2ST-NN tests on top of ResNet features. See Appendix A for the full list of results.

Although it is challenging to provide with an objective evaluation of our results, we believe that the rankings provided by two-sample tests could serve for efficient early stopping and model selection.

Remark 3 (How good is my GAN? Is it overfitting?). Evaluating generative models is a delicate issue (Theis et al., 2016) , but two-sample tests may offer some guidance. In particular, good (nonoverfitting) generative models should produce similar two-sample test statistics when comparing their generated samples to both the train-set and the test-set samples.3 As a general recipe, prefer generative models that achieve the same and small two-sample test statistic when comparing their generated samples to both the train-set and test-set samples.

5.1. EXPERIMENTS ON INTERPRETABILITY:

We illustrate the interpretability power of C2ST. First, the predictive uncertainty of C2ST sheds light on where the two samples under consideration agree or differ. In the first plot of Figure 2 , a C2ST-NN separates two bivariate Gaussian distributions with different means. When performing this separation, the C2ST-NN provides an explicit decision boundary that illustrates where the two distributions separate from each other. In the second plot of Figure 2 , a C2ST-NN separates a Gaussian distribution from a Student's t distribution with ν = 3, after scaling both to zero-mean and unit-variance. The plot reveals that the peaks of the distributions are their most differentiating feature. Finally, the third plot of Figure 2 Second, the features learnt by the classifier of a C2ST are also a mechanism to understand the differences between the two samples under study. The third plot of Figure 2 shows six examples from the Karolinska Directed Emotional Faces dataset, analyzed in Section 4.1. In that same figure, we arrange the weights of the first linear layer of C2ST-NN into the feature most activated at positive examples (bottom left, positive facial expressions), the feature most activated at negative examples (bottom middle, negative facial expressions), and the "discriminative feature", obtained by substracting these two features (bottom right). The discriminative feature of C2ST-NN agrees with the one found by (Jitkrittum et al., 2016) : positive and negative facial expressions are best distinguished at the eyebrows, smile lines, and lips. A similar analysis Jitkrittum et al. (2016) on the C2ST-NN features in the NIPS article classification problem (Section 4.1) reveals that the features most activated for the "statistical learning theory" category are those associated to the words inequ, tight, power, sign, hypothesi, norm, hilbert. The features most activated for the "Bayesian inference" category are those associated to the words infer, markov, graphic, conjug, carlo, automat, laplac.

6. EXPERIMENTS ON CONDITIONAL GANS FOR CAUSAL DISCOVERY:

In causal discovery, we study the causal structure underlying a set of d random variables X 1 , . . . , X d .

In particular, we assume that the random variables X 1 , . . . , X d share a causal structure described by a collection of Structural Equations, or SEs (Pearl, 2009) . More specifically, we assume that the random variable X i takes values as described by the SE X i = g i (Pa(X i , G), N i ), for all i = 1, . . . , d.

In the previous, G is a Directed Acyclic Graph (DAG) with vertices associated to each of the random variables X 1 , . . . , X d . Also in the same equation, Pa(X i , G) denotes the set of random variables which are parents of X i in the graph G, and N i is an independent noise random variable that follows the probability distribution P (N i ). Then, we say that X i → X j if X i ∈ Pa(X j ), since a change in X i will cause a change in X j , as described by the i-th SE. The goal of causal discovery is to infer the causal graph G given a sample from P (X 1 , . . . , X d ). For the sake of simplicity, we focus on the discovery of causal relations between two random variables, denoted by X and Y . That is, given the sample D = {(x i , y i )} n i=1 ∼ P n (X, Y ), our goal is to conclude whether "X causes Y ", or "Y causes X". We call this problem cause-effect discovery (Mooij et al., 2016) . In the case where X → Y , we can write the cause-effect relationship as:

x ∼ P (X), n ∼ P (N ), y ← g(x, n).

(5)

The current state-of-the-art in the cause-effect discovery is the family of Additive Noise Models, or ANM (Mooij et al., 2016) . These methods assume that the SE (5) allow the expression y ← g(x) + n, and exploit the independence assumption between the cause random variable X and the noise random variable N to analyze the distribution of nonlinear regression residuals, in both causal directions.

Unfortunately, assuming independent additive noise is often too simplistic (for instance, the noise could be heteroskedastic or multiplicative). Because of this reason, we propose to use Conditional Generative Adversarial Networks, or CGANs (Mirza & Osindero, 2014) to address the problem of cause-effect discovery. Our motivation is the shocking resemblance between the generator of a CGAN and the SE (5): the random variable X is the conditioning variable input to the generator, the random variable N is the noise variable input to the generator, and the random variable Y is the variable synthesized by the generator. Furthermore, CGANs respect the independence between the cause X and the noise N by construction, since n ∼ P (N ) is independent from all other variables. This way, CGANs bypass the additive noise assumption naturally, and allow arbitrary interactions g(X, N ) between the cause variable X and the noise variable N . To implement our cause-effect inference algorithm in practice, recall that training a CGAN from X to Y minimizes the two following objectives in alternation: [ (d(x, y) , 1)] + E x,z [ (d(x, g(x, z) ), 0)] , L g (g) = E x,y [ (d(x, y) , 0)] + E x,z [ (d(x, g(x, z) ), 1)] .

L d (d) = E x,y

Our recipe for cause-effect is to learn two CGANs: one with a generator g y from X to Y to synthesize the dataset D X→Y = {(x i , g y (x i , z i ))} n i=1 , and one with a generator g x from Y to X to synthesize the dataset D X←Y = {(g x (y i , z i ), y i )} n i=1 . Then, we prefer the causal direction X → Y if the two-sample test statistic between the real sample D and D X→Y is smaller than the one between D and D Y →X . Thus, our method is Occam's razor at play: declare the simplest direction (in terms of conditional generative modeling) as the true causal direction.

Table 4 summarizes the performance of this procedure when applied to the 99 Tübingen cause-effect pairs dataset, version August 2016 (Mooij et al., 2016) . RCC is the Randomized Causation Coefficient of (Lopez-Paz et al., 2015) . The Ensemble-CGAN-C2ST trains 100 CGANs, and decides the causal direction by comparing the top generator obtained in each causal direction, as told by C2ST-KNN. The need to ensemble is a remainder of the unstable behaviour of generative adversarial training, but also highlights the promise of such models for causal discovery.

:

For clarity, we abuse statistical language and write "accept" to mean "fail to reject".

For a related discussion on this issue, we recommend the insightful comment by Arthur Gretton and Wittawat Jitkrittum, available at https://openreview.net/forum?id=SJkXfE5xx.

As discussed with Arthur Gretton, if the generative model memorizes the train-set samples, a sufficiently large set of generated samples would reveal such memorization to the two-sample test. This is because some unique samples would appear multiple times in the set of generated samples, but not in the test-set of samples.

Figures and Tables:

Figure 1: Results (type-I and type-II errors) of our synthetic two-sample test experiments.

displays, for the LFW and LSUN datasets, five examples classified as real with high uncertainty (first row, better looking examples), and five examples classified as fake with high certainty (second row, worse looking examples).

Figure 2: Interpretability of C2ST. The color map corresponds to the value of p(l = 1|z).

Type-I errors (first row) and powers (second row) in distinguishing facial expressions. n = 2000 when ν varies, and let ν = 3 when n varies. The Wilcoxon-Mann-Whitney exhibits the worst performance, as expected (since the ranks mean of the Gaussian and Student's t distributions coincide) in this experiment. The best performing method is the the one-dimensional Kuiper test, followed closely by the multi-dimensional tests C2ST-NN and ME.

Table content: <table><tr><td colspan="8">Problem Bayes-Bayes 215 n te ME-full ME-grid SCF-full SCF-grid MMD-quad MMD-lin C2ST-NN .012 .018 .012 .004 .022 .008 .002</td></tr><tr><td>Bayes-Deep Bayes-Learn 138 216 Bayes-Neuro 394 Learn-Deep 149 Learn-Neuro 146</td><td>.954 .990 1.00 .956 .960</td><td>.034 .774 .300 .052 .572</td><td>.688 .836 .828 .656 .590</td><td>.180 .534 .500 .138 .360</td><td>.906 1.00 .952 .876 1.00</td><td>.262 .238 .972 .500 .538</td><td>1.00 1.00 1.00 1.00 1.00</td></tr><tr><td colspan="8">Table 1: Type-I errors (first row) and powers (rest of rows) in distinguishing NIPS papers categories.</td></tr><tr><td colspan="8">Problem n te ME-full ME-grid SCF-full SCF-grid MMD-quad MMD-lin C2ST-NN .010 .012 .014 .002 .018 .008 .002 ± vs. ± 201 + vs. -201 .998 .656 1.00 .750 1.00 .578 .997</td></tr></table>

Results on GAN evaluation. Lower test statistics are best. Full results in Appendix A.

Table content: <table/>

Results on cause-effect discovery on the Tübingen pairs experiment.

Table content: <table><tr><td>Method Accuracy</td><td>ANM-HSIC IGCI RCC CGAN-C2ST Ensemble C2ST type 67% 71% 76% 73% 82% KNN 70% 73% NN 58% 65% MMD</td></tr></table>

Peer review (iclr2017):
## Paper summary The paper reconsiders the idea of using a binary classifier to do two-sample testing. The idea is to split the sample into two disjoint training and test sets, train a classifier on the training set, and use the accuracy on the test set as the test statistic. If the accuracy is above chance level, one concludes that the two samples are from different distributions i.e., reject H0. A theoretical result on an asymptotic approximate test power is provided. One implication is that the test is consistent, assuming that the classifier is better than coin tossing. Experiments on toy problems, evaluation of GANs, and causal discovery verify the effectiveness of the test. In addition, when the classifier is a neural net, examining the first linear filter layer allows one to see features which are most activated. The result is an interpretable visual indicator of how the two samples differ. ## Review summary The paper is well written and easy to follow. The idea of using a binary classifier for a two-sample testing is not new, as made clear in the paper. The main contributions are the analysis of the asymptotic test power, the use of modern deep nets as the classifier in this context, and the empirical studies on various tasks. The empirical results are satisfactorily convincing. Although not much discussion is made on why the method works well in practice, overall contributions have a potential to start a new direction of research on model criticisms of generative models, as well as visualization of where a model fails. I vote for an acceptance. ## Major comments / questions My main concern is on Theorem 1 (asymptotic test power) and its assumptions. But, I understand that these can be fixed as discussed below. * Under H0, the distribution of the test statistic (i.e., sum of 0-1 classification results) follows Binomial(nte, 1/2) as stated. However, under H1, terms in the sum are independent but *not* identical Bernoulli random variable. This is because each term depends on a data point z_i, which can be from either P or Q. So, in the paragraph in Sec3.1: *... the random variable n_te hat{t} follows a Binomial(nte, p)...* is not correct. Essentially p depends on z_i. It should follow a Poisson binomial distribution. * In the same paragraph, for the same reason, the alternative distribution of Binomial(nte, p=p_{risk}) is probably not correct. I guess you mention it to use Moivre-Laplace to get the asymptotic normality. Anyway, I see no reason why you would need this statement as the Binomial is not required in the proof, but only its asymptotic normality. A variant of the central limit theorem (instead of the Moivre-Laplace theorem) for independent, non-identical variables would still allow you to conclude the asymptotic normality of the Poisson binomial (with some conditions). See for example http://stats.stackexchange.com/questions/5347/how-can-i-efficiently-model-the-sum-of-bernoulli-random-variables * The statement in Theorem 1 should be more precise. For instance, *Assume the assumptions on the classifier given in the previous paragraph. Then, for large n, the power of C2ST is approximate Phi(..).* The current version is *The power of C2ST is Phi(..).* * The proof of Theorem 1 should be more precise regarding which quantities are exact, which are approximate. Both the null and alternative normal distributions are approximate for finite nte, for instance. * It is unclear to me why the paper includes independence tests in the experiments. It does imply that the proposed test can be used to do an independence test. But, isn*t this also true for other two-sample tests where x,y can be stacked together? This seems ad-hoc and raises further questions regarding the consistency, what type of dependency can be detected, etc. These points are not discussed. * Comment: By using classification accuracy as a proxy, one should expect the test power, for a given sample size n, to be lower than a direct statistic like MMD. A vague analogy would be the t-test (based on the values of the data) vs. the sign test (based on only whether x_i < y_j, not the actual values). The classifier test is in some sense reminiscent of the sign test i.e., passing data points through a classifier and binarizing the output. For sufficiently large n, the test can still correctly detect the difference as shown empirically. ## Minor comments / questions * Section 2, in the paragraph on the four steps of testing, the random variable for the statistic T is undefined. * In the last paragraph of Sec.2: *kernel two-sample tests require the prescription of a manually-engineered representation of the data under study, and return values in units that are difficult to interpret.* This is too vague. Manually-engineered representation? Wouldn*t a neural net require even more of the explicitness of the representation? * In sec.3.2, it is better to also state the assumptions on the classifier in a slightly less technical way. Specifically, under H0, you assume that the classifier is not biased, and under H1 you assume that it can learn well (better than coin tossing).