## 3 Implementation and Experimental Results
### Implementation of Die Pattern Classification  
In this subsection, the proposed pattern classification model trained using our own dataset is described. The standard network, as depicted in Figure 12, contains over 25 million trainable \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Image** & **Template** & \begin{tabular}{c} **Template Size** \\ **(Unit: Pixels)** \\ \end{tabular} & \
\begin{tabular}{c} **\# of Detected** \\ **Die Patterns** \\ \end{tabular} &
\begin{tabular}{c} **\# of Predicted** \\ **Regions** \\ \end{tabular} \\ \hline _img01_ & 13(a) & \(300\times 320\) & 6745 & 1718 \\ _img02_ & 13(b) & \(306\times 318\) & 6756 & 1889 \\ _img03_ & 13(c) & \(302\times 320\) & 6763 & 1882 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Numerical results of die pattern detection. Figure 14: Results of die pattern detection for three SAT images: (**a**) _img01_; (**b**) _img02_; (**c**) _img03_. Figure 13: Results of template extraction for three SAT images: (**a**) _img01_; (**b**) _img02_; (**c**) _img03_. parameters. The first half of the network is a ResNet-50 feature extractor, the input of which is a normalized pattern image with a size of \(224\times 224\) pixels and a feature vector output of \(2048\times 1\). The complete compositions of ResNet-50 are shown in Table 2. The second half is a fully-connected neural network applied to conduct four-class classification, the thorough architecture of which is tabulated in Table 3.  
During this experiment, we collected a total of 2150 samples to form our own Dataset-I, and manually identified them into four categories: (1) background, (2) alignment mark, (3) normal, and (4) abnormal. Repeated random subsampling validation [21], also known as Monte Carlo cross-validation, was adopted for evaluating accuracy during training. The Dataset-I was randomly split into training and validation sets multiple times, whereas the ratio of training data to validation data was 5:1. For each such split, the model was learned with the training set, and the accuracy was assessed using the validation set. The accuracies obtained from the splits were then averaged. Table 4 lists the data distribution of which were 1769 samples used for learning the model and 381 samples applied for validation. Some commonly used data augmentation techniques are applied in the present work, including shifting and flipping, rotation, and brightness shifts. We set the hyper-parameters as follows: rotation range of \([-5,5]\), spatial shifts of \(\left[0.2w_{\text{Pl}}^{*},\ 0.2h_{\text{Pl}}^{*}\right]\), brightness shifts of \([1,10]\), a random zoom range of \([0.8,1.2]\), dropout probability of 0.5, batch size of 8, maximum epochs of 15, optimized using Adam with commonly-used settings of \(\beta_{1}=0.9\), \(\beta_{2}=0.999\), and \(\epsilon=10^{-8}\), and the learning rate \(\eta\) of \(10^{-5}\). Figure 15 shows the per-epoch trend of training and validation accuracy. Note that we terminated the training process after eight epochs because the training and validation accuracy converged to 89.13% and 99.46%, respectively. As shown in the figure, the training accuracy is less \begin{table}
\begin{tabular}{c c c c c} \hline \hline  & \multicolumn{3}{c}{**Feature Extractor: ResNet-50 Encoder**} \\ \hline
**Layer Name** & **Kernel Size** & **Stride** & **Channels** & **Repeat Times** \\ \hline Conv 1 & 7 \(\times\) 7 & 2 & 3\(\rightarrow\)64 & 1 \\ \hline Pool 1 & 3 \(\times\) 3 & 2 & & 1 \\ \hline Resblock 1 & \(\left[\begin{array}{c}1\times 1\\ 3\times 3\\ 1\times 1\end{array}\right]\) & 1 & 64\(\rightarrow\)256 & 3 \\ \hline Resblock 2 & \(\left[\begin{array}{c}1\times 1\\ 3\times 3\\ 1\times 1\end{array}\right]\) & 1 & 256\(\rightarrow\)512 & 4 \\ \hline Resblock 3 & \(\left[\begin{array}{c}1\times 1\\ 3\times 3\\ 1\times 1\end{array}\right]\) & 1 & 512\(\rightarrow\)1024 & 6 \\ \hline Resblock 4 & \(\left[\begin{array}{c}1\times 1\\ 3\times 3\\ 1\times 1\end{array}\right]\) & 1 & 1024\(\rightarrow\)2048 & 3 \\ \hline \hline \end{tabular}
\end{table}