## 2 Materials and Methods
### Method  
The following equation provides the objective of a conditional GAN:  
\[\mathcal{L}_{c}GAN(G,D)=\mathbb{E}_{x,y}[\log D(x,y)]+\mathbb{E}_{x,z}[\log(1- D(x,G(x,z)))] \tag{1}\]  
where a generative model \(G\) tries to minimize \(\mathcal{L}_{c}GAN(G,D)\), and the discriminator \(D\) tries to maximize it [13]. Mixing GAN objectives and a more traditional loss have been found beneficial [28]. The task of the generator will be to fool the discriminator and produce segmentation as near as possible to the ground truth. In contrast, the job of the discriminator is unchanged [27].  
We aim to train our GAN network with two discriminators, where the generator is updated twice in an iteration according to the DSC as a loss function in first update, followed by the update with respect to the new proposed dissimilarity coefficients as a loss function. The updates of the generator according to the discriminators are illustrated in Figure 2. We use different discriminators for the discrimination of the generator's output at a different update. The process of calculating dissimilarity coefficients is summarized in Algorithm 1 and the process of updating the generator is summarized in Algorithm 2.  
Figure 2: Illustration of updating the generator twice in an iteration with a different discriminator at each time.  
During the first update process, the generator model produces a segmented output for the corresponding input. DSC is used as a loss function. As the value of DSC is always between 0 and 1, the bigger the value, the better will be the result. So, we use the negative of the DSC calculated as the loss function, and then a patchGAN discriminator penalizes at the patch level. The loss \(l^{u1}\) for the first update is the weighted sum of a DSC loss and an adversarial loss:  
\[l^{u1}=l_{DSC}+10^{-3}l_{Gen} \tag{2}\]  
where \(l_{DSC}\) is negative of DSC value, which can be calculated as:  
\[\text{DSC}=\frac{2\big{|}I\ \cap\ \hat{I}\big{|}}{\big{|}I\big{|}+\big{|}\ \hat{I} \big{|}} \tag{3}\]  
where \(I\) is the ground truth, and \(\hat{I}\) is the predicted output. The second update is to train the model about giving information and minimizing the false prediction during the first update. After updating the generator, we predict the same image through the generator and calculate the dissimilarity between the ground truth and the predicted image. We propose two types of coefficients related to dissimilarity. The dissimilarity coefficient (\(DC\)) is related to the false positive and false negative predictions. The calculation of these coefficients is given in Equations (7) and (9). The total \(DC\) loss is the sum of these two coefficients. The second update is focused on training the generator to correct and minimize the dissimilarity. The loss \(l^{u2}\) for the second update is the weighted sum of a \(DC\) loss and an adversarial loss:  
\[l^{u2}=l_{DC}+10^{-3}l_{Gen} \tag{4}\]  
For the second update, the generative loss \(l_{Gen}\) is defined based on the probabilities of the discriminator over all training data as:  
\[l_{Gen}=\sum_{n=1}^{N}-logD_{\theta_{D}}\big{(}G_{\theta_{G}}(I)\big{)} \tag{5}\]  
where, \(G_{\theta_{G}}\) and \(D_{\theta_{D}}\) are generator and discriminator networks parametrized by \(\theta_{G}\) and \(\theta_{D}\), respectively.