# Globally Conditioned Conditional FLOW (GCC-FLOW) for Sea Clutter Data Augmentation
## 2 Methods
### Architecture of GCC-FLOW  
The structure of GCC-FLOW is similar to conditional-FLOW [29] except that the global condition variable \(\alpha\) is fed into the coupling layer in the FLOW step, as shown in Figure 2. GCC-FLOW consists of a pair of FLOW networks, the condition part and the output part, which basically has two identically independent deep network structures that are used repeatedly in the multiscale frame: \(f_{\mathbf{\phi}_{a,u,m}}\) and \(g_{\mathbf{\psi}_{a,u,m}}\), parameterized by the network weights \(\mathbf{\phi}_{a,u,m}\) and \(\mathbf{\psi}_{a,u,m}\), respectively, where \(m=1,\cdots,M\) is the index for multiscale stages, \(n=1,\cdots,N\) is the index for flow steps in a multiscale stage, and \(a=c\) for the condition part and \(a=o\) for the output part. Figure 1: Autoregressive generation using GCC-FLOW. In each flow step, \(\mathbf{x}_{c}\) and \(\mathbf{x}_{o}\) are updated as follows:  
\[\overline{\mathbf{x}}_{c} =f_{\boldsymbol{\phi}_{c,x,m}}(\mathbf{x}_{c}^{\mu}) \tag{4}\] \[\overline{\mathbf{x}}_{o} =f_{\boldsymbol{\phi}_{c,x,m}}(\mathbf{x}_{o}^{\mu})\] (5) \[(\mathbf{s}_{c},\mathbf{b}_{c}) =g_{\boldsymbol{\phi}_{c,x,m}}\left(\overline{\mathbf{x}}_{c}^{up },\alpha\right)\] (6) \[(\mathbf{s}_{o},\mathbf{b}_{o}) =g_{\boldsymbol{\phi}_{c,x,m}}\left(\overline{\mathbf{x}}_{o}^{up },\overline{\mathbf{x}}_{c}^{up},\alpha\right)\] (7) \[\mathbf{x}_{c}^{n+1} =\left[\overline{\mathbf{x}}_{c}^{up},\ \mathbf{s}_{c}\odot\overline{ \mathbf{x}}_{o}^{down}+\mathbf{b}_{c}\right]\] (8) \[\mathbf{x}_{o}^{n+1} =\left[\overline{\mathbf{x}}_{o}^{up},\ \mathbf{s}_{o}\odot \overline{\mathbf{x}}_{o}^{down}+\mathbf{b}_{o}\right] \tag{9}\]  
where \(\odot\) is element-wise multiplication, and \((\overline{\mathbf{x}}_{c}^{up},\ \overline{\mathbf{x}}_{c}^{down}),( \overline{\mathbf{x}}_{o}^{up},\overline{\mathbf{x}}_{o}^{down})\) are the result of halving the channel of \(\overline{\mathbf{x}}_{c},\overline{\mathbf{x}}_{o}\), respectively. The structure of the coupling layer function \(g_{c}\) and the conditional coupling layer function \(g_{o}\) is described in Figure 3. The input tensors \(\bar{\mathbf{x}}_{c}^{up}\) and \(\bar{\mathbf{x}}_{o}^{up}\), both of size \(c\times\ell\), are converted to the \(C_{coupling}\times\ell\) tensors, denoted by \(\mathbf{y}_{c}\), \(\mathbf{y}_{o}\), and \(\mathbf{y}_{o}\), by convolution networks. The global variable \(\alpha\in[0,1]\) is multiplied by a linear weight \(\mathbf{v}_{a}\) of size \(1\times\ell\) (\(a\in\{c,o\}\)). These two tensors, \(\mathbf{v}_{o}\) and \(\mathbf{v}_{c}\), are properly scaled and added channel-wise via actnorm. For example, in the coupling layer part,  
\[\mathbf{w}_{ci}=a_{i}\mathbf{y}_{ci}+b_{i}+a_{0}\mathbf{v}_{c}\alpha+b_{0}\quad \text{for }i=1,\cdots,C_{coupling}, \tag{10}\]  
where \(\mathbf{w}_{c}\) denotes the intermediate output tensor of the size \(C_{coupling}\times\ell\), \(\mathbf{w}_{ci}\) is the \(i\)th channel vector of \(\mathbf{w}_{c}\), \(\left\{a_{i},b_{i}|i=1,\cdots,C_{coupling}\right\}\) are the actnorm parameters for \(\mathbf{v}_{c}\), and \(a_{0},b_{0}\) are the actnorm parameters for \(\mathbf{v}_{a}\). Finally, \(\mathbf{w}_{c}\) is processed through a convolution network to restore the original size \(c\) and split it in half channel-wise to produce \(\mathbf{s}_{c}\) and \(\mathbf{b}_{c}\). At each multiscale stage, the output \(\mathbf{x}_{a}^{mN}\) is split in half channel-wise, and the first half becomes the \(m\)th stage output, \(\mathbf{z}_{a}^{m}\), and the remaining half is squeezed, i.e., the length is reduced by half and the channel size is doubled, and fed into the next flow step. Note that, in this split-squeeze setting, the length of \(\mathbf{z}_{c}^{k}\) at each multiscale stage becomes \(2^{-k}L\), where \(L\) is the input length of GCC-FLOW. In the training phase, networks are trained for \(\mathbf{z}_{c}^{k}\) to be i.i.d. Gaussian, \(\mathbf{z}_{a}^{k}\sim\mathcal{N}(0,I_{L2^{-k}})\), and in the generation phase the sampled \(\mathbf{z}_{b}^{k}\) from i.i.d.