Assume I have a directed latent-variable model where $y\in \mathbb{R} \to x$ and $z \in \mathbb{R}^k \to x$. Something like the following:
y z
| |
v
x
Can I compute the KL-divergence between an approximate posterior $Q(z,y|x)$ and true $P(z,y|x)$ as follows?
$$ KL(Q(z,y|x)||P(z,y|x)) = \mathbb{E}_{y\sim Q}\big[ \mathbb{E}_{z\sim Q}\big[log Q(z,y|x) - log P(z,y|x) \big] \big] = \mathbb{E}_{y\sim Q}\big[ \mathbb{E}_{z\sim Q}\big[log Q(z,y|x) - log P(x|z,y) -log P(y) - log P(z) + log P(x)\big] \big] \\ $$
Here, I used the relation $$ p(z,y|x) = \frac{p(x,y,z)}{p(x)} = \frac{p(x|z,y)p(z)p(y)}{p(x)} $$
Afterwards, with $p(y)=p(y|x)p(x)$, $$ KL(Q(z,y|x)||P(z,y|x)) = \mathbb{E}_{y\sim Q}\big[ \mathbb{E}_{z\sim Q}\big[log Q(z,y|x) - log P(x|z,y) -log P(y|x) - log P(z)\big] \big] \\ $$
Now, because of independence $Q(y,z|x)=Q(y|x)Q(z|x)$, so $$KL(Q(z,y|x)||P(z,y|x)) = \mathbb{E}_{y\sim Q}\big[\mathbb{E}_{z\sim Q}\big[log Q(z|x) - log P(x|z,y) -log P(z)\big]\big] + \mathbb{E}_{y\sim Q}\big[ log Q(y|x) - log P(y|x) \big] \\ $$
Finally, removing probabilities from expectations if they don't depend on the conditioning variable, $$ KL(Q(z,y|x)||P(z,y|x)) = \mathbb{E}_{y\sim Q}\big[\mathbb{E}_{z\sim Q}\big[- log P(x|z,y) \big]\big] + \mathbb{E}_{y\sim Q}\big[ log Q(y|x) - log P(y|x) \big] + \mathbb{E}_{z\sim Q}\big[ log Q(z|x) -log P(z) \big] \\ $$ Can I finally conclude that $$ KL(Q(z,y|x)||P(z,y|x)) = - \mathbb{E}_{y\sim Q}\big[\mathbb{E}_{z\sim Q}\big[log P(x|z,y) \big]\big] + KL \big( log Q(y|x) || log P(y|x) \big) + KL\big( log Q(z|x) || log P(z) \big) \text{?} $$