# Augmentation Embedded Deep Convolutional Neural Network for Predominant Instrument Recognition
## 3 The Proposed AEDCN Methods
### AEDCN Model Details
\begin{table}
\begin{tabular}{c c} \hline \hline
**Input Size** & **Description** \\ \hline
2 \(\times\) 43 \(\times\) 128 & concatenated spectrogram \\
32 \(\times\) 45 \(\times\) 130 & 3 \(\times\) 3 convolution \\
32 \(\times\) 47 \(\times\) 132 & 3 \(\times\) 3 convolution \\
32 \(\times\) 15 \(\times\) 44 & 3 \(\times\) 3 max-pooling \\
32 \(\times\) 15 \(\times\) 44 & dropout (0.25) \\
64 \(\times\) 17 \(\times\) 46 & 3 \(\times\) 3 convolution \\
64 \(\times\) 19 \(\times\) 48 & 3 \(\times\) 3 convolution \\
64 \(\times\) 6 \(\times\) 16 & 3 \(\times\) 3 max-pooling \\
64 \(\times\) 6 \(\times\) 16 & dropout (0.25) \\
128 \(\times\) 8 \(\times\) 18 & 3 \(\times\) 3 convolution \\
128 \(\times\) 10 \(\times\) 20 & 3 \(\times\) 3 convolution \\
128 \(\times\) 3 \(\times\) 6 & 13 \(\times\) 3 max-pooling \\
128 \(\times\) 3 \(\times\) 6 & dropout (0.25) \\
256 \(\times\) 5 \(\times\) 8 & 3 \(\times\) 3 convolution \\
256 \(\times\) 7 \(\times\) 10 & 3 \(\times\) 3 convolution \\
256 \(\times\) 1 \(\times\) 1 & adaptive max-pooling \\
1024 & fully connected \\
1024 & dropout (0.50) \\
3 \& 11 & Sigmoid \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Structure of multi-task deep instrument recognition backbone neural network. By leveraging the ACEVAE, the AEDCN can generate synthetic feature samples that specifically correspond to certain designated labels. This process enables the network to augment the training data by generating additional feature samples for particular classes, consequently improving the model's capacity to recognize and classify these classes. The combination of the backbone deep neural network with the ACEVAE enables the AEDCN to leverage label augmentation and data generation techniques to enhance its performance in the instrument recognition task. Compared to other models like diffusion models and flow models, the ACEVAE utilized in AEDCN has the advantage of lower computational complexity. This means that the model can generate additional augmented data without imposing a significant increase in computational load during both training and inference. This is particularly beneficial in situations where computational resources are limited. By efficiently generating augmented data without excessive computational requirements, the ACEVAE contributes to the overall efficiency and practicality of the AEDCN model. In addition, the training process of AEDCN with ACEVAE is more stable compared to models based on Generative Adversarial Networks (GANs). GAN-based models often face challenging training dynamics between the generator and discriminator networks, which can be difficult to stabilize. On the other hand, the ACEVAE used in AEDCN offers a more stable training process, making it easier to train and optimize the model effectively. This stability ensures that the AEDCN model can be trained reliably and consistently, leading to improved performance and better overall results. To better understand the structure of the ACEVAE in AEDCN, Table 2 provides details of its architecture. In the ACEVAE, the labels and outputs of the full connected layer in the backbone are transformed into 1024 dimensional vectors by two full connected layers, and then the vectors are reshaped as a 2 \(\times\) 32 \(\times\) 32 matrix. Specifically, there are three types of variables in the ECVAE: input variables \(x\) (output of the full connected layer of backbone), output variables \(y\) (instrument labels), and latent variables \(z\) (parameterized as expectation mu and variance var). The conditional generative process of the model is given as follows: for given observation \(x\), \(z\) is drawn from the prior distribution \(p(z\,|\,x)\), and the output \(y\) is generated from the distribution \(p(y\,|\,x,z)\). The prior of the latent variables \(z\) can be modulated by the input \(x\); however, the constraint can be relaxed to make the latent variables statistically independent with the input variables: \(p(z\,|\,x)=p(z)\).