You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have been examining the implementation of generating the weakly supervised dataset from the paper Weakly-Supervised Disentanglement Without Compromises, however I think there is a discrepancy between the function simple_dynamics in disentanglement_lib/methods/weak/train_weak_lib and what is described in Section 5 from version 3 the Arxiv paper.
The following is an excerpt from the Experimental Setup subsection from Section 5 of the paper Weakly-Supervised Disentanglement Without Compromises, split into sections that I assume should correspond to the above code:
To create data sets with weak supervision from the existing disentanglement data sets, we first sample from the discrete z according to the ground-truth generative model (1)–(2).
For k we consider the range from 1 to d − 1. This last setting corresponds to the case where all but one factor of variation are re-sampled. We study both the case where k is constant across all pairs in the data set and where k is sampled uniformly in the range [d − 1] for every training pair (k = Rnd in the following). Unless specified otherwise, we aggregate the results for all values of k.
Problem With 2?
From the above excerpt there seems to be a problem with line:
I have been examining the implementation of generating the weakly supervised dataset from the paper Weakly-Supervised Disentanglement Without Compromises, however I think there is a discrepancy between the function
simple_dynamics
indisentanglement_lib/methods/weak/train_weak_lib
and what is described in Section 5 from version 3 the Arxiv paper.Examined Function
disentanglement_lib/disentanglement_lib/methods/weak/train_weak_lib.py
Lines 41 to 57 in 86a644d
Excerpt & Corresponding Code
The following is an excerpt from the Experimental Setup subsection from Section 5 of the paper Weakly-Supervised Disentanglement Without Compromises, split into sections that I assume should correspond to the above code:
disentanglement_lib/disentanglement_lib/methods/weak/train_weak_lib.py
Lines 41 to 42 in 86a644d
disentanglement_lib/disentanglement_lib/methods/weak/train_weak_lib.py
Lines 44 to 49 in 86a644d
disentanglement_lib/disentanglement_lib/methods/weak/train_weak_lib.py
Lines 50 to 54 in 86a644d
Problem With 2?
From the above excerpt there seems to be a problem with line:
disentanglement_lib/disentanglement_lib/methods/weak/train_weak_lib.py
Lines 48 to 49 in 86a644d
In particular the expression
random_state.choice([1, k_observed])
. Instead of keepingk
fixed half of the timek
will be set to 1.I may be misunderstanding things from the excerpt, but to me this seems odd that this is happening.
Fix?
Based on this, should lines 48 and 49 not be the following?
Problem With 4?
Based on the following excerpt it seems as though factors in the sampled pairs should always differ.
disentanglement_lib/disentanglement_lib/methods/weak/train_weak_lib.py
Lines 52 to 53 in 86a644d
However, based on lines 52-53 this is not the case. There is a chance for the re-sampled factor to be the same. It is not guaranteed to be different.
This probability of being the same will only increase if the ground truth dimensionality/size of that factor is small.
Fix?
Sampling with the original value for the particular differing z removed from the range.
Untested possible code for 1 input factor:
The text was updated successfully, but these errors were encountered: