# Clarification on unpaired data smoothing during MultiVI \`training\_step()\`?

**URL:** <https://discourse.scverse.org/t/clarification-on-unpaired-data-smoothing-during-multivi-training-step/811>\
**Category:** scvi-tools\
**Tags:** multivi\
**Created:** [October 7, 2022, 7:53pm UTC](https://discourse.scverse.org/t/clarification-on-unpaired-data-smoothing-during-multivi-training-step/811 "2022-10-07T19:53:20Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![mkarikom](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.scverse.org/mkarikom/32/136_2.png) [@mkarikom](https://discourse.scverse.org/u/mkarikom)\
**Post date:** [October 7, 2022, 7:53pm UTC](https://discourse.scverse.org/t/clarification-on-unpaired-data-smoothing-during-multivi-training-step/811/1 "2022-10-07T19:53:20Z")

</div>

@Tal_Ashuach, thanks providing your fascinating MultiVI preprint! I just have a few questions related to the method described and the current implementation in scvi-tools.

From [the last paragraph of 4.1 in the preprint](https://www.biorxiv.org/content/10.1101/2021.08.20.457057v2.full.pdf), it looks like the sample Z\_c is a smoothing over samples from Z\_c^A and Z\_c^R. Similarly, the joint in eq. 3 of the preprint seems to be defined over independent z^R and z^A.

Can you please explain why `qz_m` and `qz_v` appear to already be mixed values returned by `MULTIVAE.mix_modalities()` which is called during `module.training_step()` → `module.inference()`?

Thanks again for creating such an awesome package!
