\(F_a\)  and \(F_z\)  are MLPs with 2 hidden layers with \((10, 20)\)  hidden units, where each layer is followed by a Leaky-Relu (slope \(0.2\) ) and Dropout (probability \(0.5\) ). The input dimension is data-dependent and the output embedding dimension is 20. Decoder \(G\)  has the reverse architecture.
MLP's \(M_a\) , \(M_y\)  and \(d\)  have similar architecture with an output to which a sigmoid activation is applied. Input \(x\)  is pre-processed and normalized
as in CTGAN [1]}, where discrete values are represented as one-hot vectors and continuous columns are normalized by a distribution representation and scale to \([0,1]\) . We use Adam optimizer with parameters \(\beta _1 = 0.5\)  and \(\beta _2 = 0.999\) . We start with a learning rate of \(0.001\)  and multiply it by 0.1 every 30 epochs, with a batch size of 64 and run for 100 epochs.
For every iteration of \(F_z, M_y\)  and \(G\) , we train \(d\)  for 20 iterations.
Data splits were made as in the dataset description (if test and train were available), or by a random split into train/test sets. All random sampling experiments run in 5 folds.
