greenelab / buddi

BuDDI model implementation
BSD 3-Clause "New" or "Revised" License
2 stars 2 forks source link

Query on Supp. Fig 5 #2

Closed amandaqiuuu closed 1 year ago

amandaqiuuu commented 1 year ago

Hi Natalie,

I've been reading your paper, and it's very intriguing and informative. However, I couldn't locate Supp. Fig 5 detailing the BuDDI implementation. Could you kindly share or direct me to it?

Thank you in advance.

Best, Amanda

nrosed commented 1 year ago

Hi Amanda, glad it's intriguing to you! I meant to say Supp. Fig. 4, it's misstated in the manuscript. Thank you for finding this error, I will edit the pre-print. Let me know if you have any other questions!

amandaqiuuu commented 1 year ago

Thanks Natalie! I noticed that your model seems to incorporate elements from both Domain Invariant Variational Autoencoders (DIVA) and β-VAEs. Specifically, you mentioned in the paper that you used the structure of DIVA, while also emphasizing the disentangled latent spaces, reminiscent of β-VAEs.

Could you please clarify if your model is indeed a fusion of these two architectures? I'm particularly interested in understanding how you've combined the domain invariance property with the disentanglement objective in your model's design.

Thank you for your time and consideration. I look forward to your response. Amanda

nrosed commented 1 year ago

Hi Amanda, the structure is similar to DIVA in that there are separate autoencoders with auxiliary loss terms to help model identify distinct sources of variation. We hope that this source of variation is only captured in one of the autoencoders and not all of them, making each autoencoder invariant to one another. We show they are roughly disentangled when we look at how well each latent space can predict the target variable of the other latent spaces (Fig 2b, also qualitatively shown in Fig 2d). We do not guarantee disentanglement, but we show that we observe it in our experiments.

We also use the β-term in our latent spaces to control the capacity of each latent space. From our methods section "BuDDI training and implementation details":

The non-slack βx terms are always set to 100 and β is set to 0.1. This parameter choice encourages the non-slack latent representations to be biased towards fully capturing the source of variability, since a larger β term creates a stronger bottleneck on the latent representation and encourages stronger disentanglement within the latent space[48].

Hopefully that answers your question, let me know if anything is unclear! I also will have a tutorial for using BuDDI soon, so it should be more user-friendly this week 🤞🏼

amandaqiuuu commented 1 year ago

Hi Natalie,

Thank you for the comprehensive clarification on Buddi's architecture. I'm genuinely excited about the potential of BuDDI and look forward to your upcoming tutorial.

I noticed you chose to compare BuDDI with CIBERSORTx and BayesPrism in estimating cell type proportions. Given that the latter aren't based on neural nets, what led to this decision?

Amanda

nrosed commented 1 year ago

Hi Amanda, I used these two methods for comparison because CIBERSORTx is widely used and BayesPrism is very accurate. I could have used other methods, but I thought these two were the most important ones (link to paper)

There are neural network based cell-type proportion estimators, SCADEN comes to mind, but I am sure there are others, if you are interested in those techniques.

nrosed commented 1 year ago

Hey @amandaqiuuu, the tutorial is up now if you wanna try it out!