This section compares the results obtained by varying the parameter \(\zeta \), evaluating the training goodness in terms of the balance between high accuracy reached and short execution time. These topics are treated in Sects. 5.1 and 5.2, respectively. Section 5.3 provides a brief comment on the preferable \(\zeta \) value, following up from the previous subsections.
For brevity, only the most important outcomes are reported hereafter. The number of epochs was increased from the default value of 100 up to 150 with the aim of finding the ending point of the transient phase. By combining these two tuning parameters ( i.e., number of epochs and \(\zeta \)), we have discovered that, with the datasets herein analysed, the meaningful revise range is \(0\le \zeta \le 0.02\).
In particular, Sect. 5.2 shows further investigations in terms of execution time gains, conducted by replicated experiments over ten runs and averaging the obtained results.
Accuracy investigation
This section shows the results obtained from the comparative analysis in terms of accuracy improvements over 150 epochs, on the three datasets.
In the Lung Cancer dataset (Fig. 2a), substantial accuracy fluctuations are present, but there is a no well-defined transient phase for \(\zeta > 0.02\). The benchmark value \(\zeta =0.3\) shows an accuracy variation of more than 10% (e.g. accuracy increasing from 82% to 97% at the 60-th epoch and an accuracy from 85% to 95% at the 140th epoch). Note that, since the first 10 epochs are within the settling phase, the significant observations concern the simulation from the 11th epoch. Due to this uncertainty and due to the absence of a transient phase, it is impossible to identify an optimal stopping condition for the algorithm. For instance, at the 60th epoch an accuracy collapse from 97% to 82% was found, followed by an accuracy of 94% at the next epoch.
For a lower revise fraction, i.e., \(\zeta \le 0.02\), an improvement in terms of both stability ( i.e., lower fluctuations) and accuracy loss emerges, as expected. In this scenario, defining an exit condition according to the accuracy trend over time is easier. Indeed, despite a higher accuracy loss, the curve stability allows the identification of a gradual accuracy growth over the epochs, with no unexpected sharp drops.
Table 3 Evaluating parameters varying the revise fraction on datasets considered in a single run with fixed seed To quantify the amount of accuracy loss, refer to Table 3, which reports both the revise fraction and the highest accuracy reached during the whole simulation, as a percentage. Moreover, mean and confidence interval bounds are provided. From Table 3, it is possible to assert that, on average, the improvement achieved by using a higher revise fraction (as the default one is) has an accuracy gain of just less than 3% (e.g. mean at \(\zeta =0\%\) vs mean at \(\zeta =30\%\)) that is a negligible improvement in most of the application domains. This depends on the tolerance level required. For example, if the goal is to achieve an accuracy of at least 90%, then a lower \(\zeta \) is sufficiently effective. The confidence interval is rather low, given that the fluctuation between the lower and the upper bounds is comprised between 0.8 and 0.9.
In the Coil20 dataset (Fig. 2b), a short transient phase with no evident improvements among the simulations with different values of \(\zeta \) emerges. Indeed, there are just small accuracy fluctuations of \(\pm 3\%\). These results do not surprise, since improvements achieved through \(\zeta \) variations also depend on the goodness of the dataset itself, both in terms of its size and in the choice of its features. Table 3 shows that accuracy is always above 98%; thus, even with \(\zeta =0\) the accuracy loss is negligible. Also the confidence interval is lower than 0.3. As the accuracy is continuously increasing over the training epochs, defining a dynamic exit condition is easier in this application domain.
Figure 2c shows the results obtained in CLL_SUB_111 dataset. It is evident that the worse and more unstable approaches among the one considered are both the default one ( i.e., \(\zeta =30\%\)) and \(\zeta =2\%\).
From Table 3, it is interesting to notice how the accuracy levels are even more stable when using a lower revise fraction ( i.e., going from a mean equal to \(62.23\%\) in \(\zeta =30\%\) up to \(67.14\%\) in \(\zeta =0\%\)). The fluctuations compared with the other two datasets are more evident, even when looking at the confidence interval; indeed, it varies from 1.06 (with \(\zeta =0\)) up to 2.18 (with \(\zeta =30\)), which is larger than the previously analysed one. Because of significant accuracy fluctuations, a possible early exit condition should be considered only with \(\zeta =0\) even at the cost of a slighter higher accuracy loss.
The results obtained so far suggest that there is no need to fine-tune \(\zeta \), because the sparsity introduced by the SET algorithm is sufficiently powerful, and only a few links need to be rewired ( i.e., \(\zeta \le 0.2\)). Apart from the goodness of the datasets themselves (as in COIL20), opting for a lower revise fraction has shown that, on the one hand, the accuracy loss is sometimes negligible. On the other hand, as it was in the CLL_SUB_111 dataset, the performances are even higher than the ones obtained through the benchmark value. This confirms the hypothesis made in Sect. 5.1 of the goodness of using a randomly sparse ANN topology.
Execution time investigation
This section shows the comparative analysis conducted among the datasets used, in terms of execution time, over replicated simulations. Ten runs have been averaged, using the default value \(\zeta =0.3\), as benchmark ( i.e., \(\zeta _{default}\)). Note that only the most significant and competitive \(\zeta \) value has been considered ( i.e., \(\zeta _0 = 0\)). Figure 3 shows the execution time (in seconds) of the same averaged simulations computed on the three datasets.
In both Lung and CLL_SUB_111 datasets, \(\zeta =0\) is faster than the benchmark value. In particular, in CLL_SUB_111, the execution time is almost 40% faster than the default one and with higher accuracy performances too, as previously asserted in Sect. 5.1. It became less competitive in COIL20. The reason is the same with the results emerged in the accuracy analysis. Indeed, the goodness of the dataset is such as to make insignificant the improvements obtained by varying the revise parameter. Furthermore, the execution time gain between \(\zeta =0\) and \(\zeta _{default}\) has been computed among the datasets over ten runs as follows:
$$\begin{aligned} Gain = 1 - \frac{\zeta _0}{\zeta _{default}} \end{aligned}$$
(2)
The execution time gain was equal to 0.1370 in Lung, \(-0.0052\) in COIL20, and 0.3664 in CLL_SUB_111. This means that, except for COIL20, there is an improvement in terms of algorithm performances. Thus, the algorithm became faster using a lower revise fraction. This is even more evident in CLL_SUB_111 as already noticed from Figure 3. On the other hand, the slow down emerged in COIL20 is almost negligible; thus, it may be concluded that for specific types of datasets, there is neither gain nor loss in choosing a lower \(\zeta \).
These results confirmed the previous hypothesis of the unnecessary fine-tune \(\zeta \) process even because, on particular datasets (e.g. COIL20), an in-depth analysis of \(\zeta \) is profitless. Thus, a relatively low revise fraction has been demonstrated to be a good practice in most of the cases.
Considerations on the \(\zeta \) tuning process
In Sects. 5.1 and 5.2, we have described the effects of \(\zeta \) in terms of accuracy loss and execution time, respectively. This section provides a brief summary of what emerged from those experiments. As largely discussed in the literature, it is unrealistic to try and find a perfect value, which works well in all possible deep learning scenarios a priori. The same consideration should be made during the revise fraction tuning. This is why those tests are not aimed at finding the optimal value, which depends on too many variables. Instead, it may be asserted that, from the experiments herein conducted, a relatively low \(\zeta \) is always a good choice. Indeed, in the datasets analysed the best results have been obtained with \(0 \le \zeta \le 0.02\). It also important to highlight that because of the high non-linearity of the problem itself, more than one \(\zeta \) value could effectively work, and the process of fine-tuning \(\zeta \) is an operation that may require more time than the training process itself. This is why this study would provide a good enough range of possible \(\zeta \) values. Thus, the tests have been conducted on very different datasets to assert that, empirically speaking, in different scenarios \(0 \le \zeta \le 0.02\) it is sufficient to offer a high accuracy with low fluctuations and, at the same time, faster execution time.