# Designing Audio Equalization Filters by Deep Neural Networks
## 5 Experiments
\[\overline{\sigma}=\frac{1}{\mathcal{M}}\sum_{m=1}^{\mathcal{M}}\sigma_{m}, \tag{17}\]  
where \(\sigma_{m}\) is the standard deviation of \(m\)-th microphone:  
\[\sigma_{m}=\sqrt{\frac{1}{\omega_{h}-\omega_{l}+1}\sum_{\omega=\omega_{l}}^{ \omega_{h}}(10\cdot log_{10}|F_{m}(\omega)|-D)^{2}} \tag{18}\]  
\[D=\frac{1}{\omega_{h}-\omega_{l}+1}\sum_{\omega=\omega_{l}}^{\omega_{h}}(10 \cdot log_{10}|F_{m}(\omega)|). \tag{19}\]  
\(F_{m}\) is the sum of the frequency responses on the \(m\)-th microphone without equalization filters or with equalization filters, following Reference [35]. Since the Giulia impulse responses have been originally sampled at 28.8 kHz, we set the upper frequency bound \(\omega_{h}\) to 14.4 kHz. The lower frequency bound \(\omega_{l}\) is set to 20 Hz to avoid unnecessary equalization below the human hearing range. We desire the FIR filters to have linear phase, that is, be symmetric. Following the frequency deconvolution approach, we impose an odd number of taps for all methods. Preliminary experiments were conducted to determine the values for the training hyperparameters. During these experiments we observed that a sufficiently high number of iterations allows the networks to converge to very low errors. The learning rate was set to \(1\cdot 10^{-3}\) for all the proposed approaches. \(w\) was set to 100.0 and the batch size is set to 1. The Adam optimizer [36] was used, with _decay_ equal to \(3\cdot 10^{-8}\) for all architectures. The number of iterations of the SD was set to 250,000, as in Reference [21]. A similar number of iterations, 200,000, was set for the proposed methods. This leaves enough time for convergence and allows direct comparison to the evolutionary algorithms in Reference [21], where the number of iterations times the agents gives approximately 200,000. Four convolutional layers configurations were generated randomly. These were applied to the convolutional networks used in the CNN and AE architectures. The first convolutional layer has kernels of size \(M\times 1\) while the second, if present, has kernels of size \(1\times S\). The fully connected layers following the convolutional ones have been varied in their number (1, 2) and size. Four MLP architectures were derived from the convolutional ones by retaining the size of the fully connected layers. Three additional configurations have been added to achieve a number of trainable parameters similar to those of the CNN, as reported in Table 1. \begin{table}
\begin{tabular}{c c c c|c c c} \hline \multicolumn{2}{c}{**CNN**} & \multicolumn{2}{c}{**MLP**} \\ \hline
**Configuration** & **Number of Kernels** & **Number of Units** & **Trainable Parameters** & **Configuration** & **Number of Units** & **Trainable Parameters** \\ \hline Conv \#1 & [48, 24] & [10] & 7,481,943 & MLP \#1 & [10] & 6,798,935 \\ Conv \#2 & [10, 5] & [100, 10] & 3,826,153 & MLP \#2 & [100, 10] & 67,280,035 \\ Conv \#3 & [100, 25] & [100, 100] & 12,483,433 & MLP \#3 & [100, 100] & 67,934,875 \\ Conv \#4 & [10] & [1000] & 3,825,863 & MLP \#4 & [1000] & 679,183,175 \\  & & & & & \\  & & & & & \\  & & & & & \\  & & & & & \\ \end{tabular}
\end{table} 
Table 1: The CNN and MLP configurations used in the experiments. The number of parameters are referred to filters of 1024-th order.