# Adversarial Preference Loss

In my earlier post I talked about how the GAN training procedure can be modified slightly so it minimises $KL[Q|P]$ divergence. I have also talked about how GANs can be understood as

- in the
*D-step*, performing direct log-probability-ratio estimation from data, obtaining an estimate of $\log\frac{Q(x)}{P(x)}$ then - in the
*M-step*using these estimates to minimise a divergence

From this perspective, training a binary classifier discriminatively is only one way to obtain estimates of the log-probability ratios in question, but I mentioned there are other ways.

This post is basically just having some fun with this idea: I show a different iterative algorithm that has similar flavour. Instead of using a binary classifier, I'm going to use binary pairwise preference learning as the adversarial problem.

### Adversarial preference training

As before, we have a generator $G$ and a discriminator $D$ that try to "fight against each other". However, the discriminator now solves a different task: instead of binary classification it performs a two-alternative forced choice (2AFC) task.

#### 2AFC Discriminator

The preference network $D$ receives two inputs, $x_1$ and $x_2$, one of which is a real datapont sampled from $P$, the other one is a synthetic one generated from $Q$ (using the generator $G$). $D$ has to guess which one of its inputs is real. Let's assume that $D$ takes the following symmetric and *separable* form:

$$

D(x_1,x_2;\psi) = \Phi[s(x_1;\psi) - s(x_2;\psi)],

$$

where $\Phi$ is the logistic sigmoid, and $s$ is a trainable function (e.g. deep neural network) which I will call the preference function.

The parameters $\psi$ of $D$ are updated using the following objective:

$$

\mathcal{L}_{D}(\psi) = -\mathbb{E}_{x_1\sim P}\mathbb{E}_{x_2\sim Q} \log(D(x_1,x_2;\psi))

$$

This is similar to a standard binary classification loss, but not quite the same (if you don't understand the objective, note that the symmetry $D(x_1,x_2) = 1 - D(x_2,x_1)$ and try to derive it yourself from the binary classification loss)

#### Bayes optimal behaviour

Let's consider what happens if we fix $Q$, and optimise $D$ until convergence. At this point we can assume that $D$ approximately implements the Bayes optimal behaviour, which in this case will be the following:

$$

\Phi[s(x_1) - s(x_2)] \approx \frac{P(x_1)Q(x_2)}{P(x_1)Q(x_2) + P(x_2)Q(x_1)}

$$

Working backwards from here, we get an expression for the preference function:

\begin{align}

\Phi[s(x_1) - s(x_2)] &\approx \frac{P(x_1)Q(x_2)}{P(x_1)Q(x_2) + P(x_2)Q(x_1)} \\

s(x_1) - s(x_2) &\approx \Phi^{-1}\left[\frac{P(x_1)Q(x_2)}{P(x_1)Q(x_2) + P(x_2)Q(x_1)}\right]\\

s(x_1) - s(x_2) &\approx \log\left[\frac{\frac{P(x_1)Q(x_2)}{P(x_1)Q(x_2) + P(x_2)Q(x_1)}}{1 - \frac{P(x_1)Q(x_2)}{P(x_1)Q(x_2) + P(x_2)Q(x_1)}} \right]\\

s(x_1) - s(x_2) &\approx \log\left[\frac{P(x_1)Q(x_2)}{P(x_2)Q(x_1)} \right]\\

s(x_1) - s(x_2) &\approx \log\frac{P(x_1)}{Q(x_1)} - \log\frac{P(x_2)}{Q(x_2)},

\end{align}

Therefore, we can say that when $D$ converged, the preference function $s$ approximates the log-probability ratio between $P$ vs $Q$:

$$

s(x) \approx \log\frac{P(x)}{Q(x)}

$$

and therefore the loss for the generator becomes

$$

\mathcal{L}_{G}(\theta) \approx - \mathbb{E}_{x\sim Q_{\theta}} \log\frac{P(x)}{Q(x)} = KL[Q|P].

$$

### Is this useful?

I don't know, maybe, most likely not. But that's besides the point I'm trying to make. I just wanted to highlight the arbitrariness of using binary classification in the GAN procedure. One can imagine a whole class of generative modelling procedures based on the same underlying idea of direct probability ratio estimation, and it is unclear (to me) which one method will work best.