# Research on Side-Channel Analysis Based on Deep Learning with Different Sample Data
## 5 Experiment and Model Evaluation
### Experiment C: Experiments with Sample Data of Different Scales  
In Experiment C, five data sets of different sizes were used, and each data set was randomly divided into training and test sets on a 9:1 scale. Four in-depth learning models are used to perform side-channel analysis experiments on the demo board. The final experimental results of each model classification are as follows and analyzed in detail. Figures 19 and 20 show the performance of MLP for different size data and MLP loss values under different scales of data, respectively. \begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline
**Model** & **Train\_Acc** & **Train\_Loss** & **Test\_Acc** & **Test\_Loss** & **Time (s)** & **Param\#** & **Rank** \\ \hline MLP & 0.4944 & 1.4880 & 0.5084 & 1.4599 & 390.6 & 250,336 & 2 \\ CNN & 0.5745 & 1.2589 & 0.5496 & 1.3214 & 488.0 & 269,484 & 2 \\ RNN & 0.5128 & 1.4618 & 0.4550 & 1.6926 & 2192.0 & 84,616 & 2 \\ LSTM & 0.5666 & 1.2700 & 0.5680 & 1.2813 & 628.0 & 106,996 & 2 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Specific parameters and experimental results of each model. Figure 18: The rank of the the four models. For the MLP model, in the training of the first 50 epochs, with the increase in the number of iterations, the model converges rapidly under the number of 40k and 30k data. At the 100 th epoch, the accuracy of the model under the amount of 40k, 30k, 20k, and 10k data increases to 0.2028, 0.2082, 0.0626, and 0.0585 respectively, and the loss value decreases to 2.5285, 2.5969, 3.4728 and 3.5789, respectively. After the 100 th epoch, the training accuracy of the MLP model changes significantly under each scale data. With the increase in iteration time, the training accuracy and loss value curve of the MLP model under different scale data gradually converge smoothly and tend to be stable. Between 350 and 400 epochs, the average training accuracy of the MLP under 5k, 10k, 20k, 30k, and 40k data volume are 0.1358, 0.2606, 0.2884, 0.4164, and 0.4023, respectively, the training loss values are 3.0848, 2.2648, 2.1439, 1.7370, and 1.7705, respectively, the test accuracy rates are 0.1480, 0.2470, 0.3055, 0.4350, and 0.4145, respectively, and the test loss values are 2.9956, 2.3530, 2.1393, 1.6421, and 1.7597, respectively. There is no fitting phenomenon in MLP under 10k data volume. The rank value under this data volume is 3, and the rank value under other data volumes is 2. For the MLP model, in the training of the first 50 epochs, with the increase in the number of iterations, the model converges quickly under the data volume of 40k and 30k, and at the 100 th epochs, the model is under the data volume of 40k, 30k, 20k, and 10k. The accuracies rose to 0.2028, 0.2082, 0.0626, and 0.0585, respectively, and the loss values dropped to 2.5285, 2.5969, 3.4728, and 3.5789, respectively. After the 100 th epoch, the training accuracy of the MLP model under various scales of data has changed significantly. With the increase in the number of iterations, the training accuracy and loss curve of the MLP model under different scales of data gradually converge smoothly and tend to be stable. Between the 350 th and 400 th epochs, the average training accuracy of the MLP under 5k, 10k, 20k, 30k, and 40k data volumes is 0.1358, 0.2606, 0.2884, 0.4164, 0.4023, the training loss values are 3.0848, 2.2648, 2.1439, 1.7370, 1.7705, the test accuracy rates are 0.1480, 0.2470, 0.3055, 0.4350, 0.4145, respectively, the test loss values are 2.9956, 2.3530, 2.1393, 1.6421, 1.7597, and there is no overfitting phenomenon in MLP only under  
Figure 19: The performance of MLP for different size data. Figure 20: MLP loss values under different scales of data. 10k data volume. The rank value of the data volume is 3, and the rank value of the rest of the data volume is 2. The specific parameters and experimental results of the MLP model are shown in Table 4 below. Figures 21 and 22 show the performance of CNN for different size data and CNN loss values under different scales of data, respectively.