# Accelerating Image Classification using Feature Map Similarity in Convolutional Neural Networks
## 4 Experimental Results and Analysis
### Classification Time
The classification time required by the cache is the computation time from the first convolution layer to the return of the resultant class by the cache located in each layer. For example, in AlexNet, the classification time when using cache in conv3 includes the computation time of conv1 and conv2 layers. The hit rate and precision are indicated by red solid and brown dashed-dotted lines, respectively. The hit rate includes true and false positives. All measured classification times were the average of the values obtained by repeating 100 times. In AlexNet, caching at any layer could end the classification faster than the CNN. This means that the fully connected layer located behind the conv5 layer requires a large amount of computation. However, with our proposed cache, the classification time can be reduced because the classification result is obtained immediately after passing through the convolution layer without going through another layer such as the fully connected layer. However, the hit rate lowers from the conv3 layer. Nevertheless, as the precision increases inversely with the hit rate, it is advantageous to use the cache from conv3 onwards. In GoogLeNet, ODROID, and LattePanda, the classification time with the cache increased over the CNN classification time in the inception4e and inception4d layer. Therefore, the cache in GoogLeNet should be used in layers ahead of this layer. The hit rate gradually lowers toward the final layer; however, the precision increases rapidly. Hence, the best layer to place the cache can be selected based on a tradeoff with the classification time. In VGG-16 and VGG-19, the classification time using the cache in all layers is less than that using the CNN. This allows the cache to be used even on the higher-precision final layers. Both the ResNet-50 and ResNet-101 classification times using the cache exceeded the CNN's classification time in the final layer. Thus, like GoogLeNet, the cache should be used in layers ahead of that layer. As a result, the effect of classification time reduction depends on the precision. On an average, when the precision was approximately 0.7, 0.8, and 0.9, it took about 74.5, 85.0, and 93.9%, respectively, of the time to classify a single image as compared to when the cache was not used. This represents approximately 1.37, 1.18, and 1.06 times acceleration performance, respectively. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Models** & **Processor** & **Memory** & **Storage** & **Power** \\ \hline ODROID-XU4 & \
\begin{tabular}{c} Samsung Exynos5 Octa ARM Cortex-A15 \\ Quad 2 GHz and Cortex-A7 Quad 1.3 GHz \\ Intel Cherry Trail Z8350 Quad 1.8 GHz \\ \end{tabular} & 2-GB DDR3 & 32 GB MicroSD & 5V/4A \\ LattePanda 4G/64 GB &
\begin{tabular}{c} Intel Cherry Trail Z8350 Quad 1.8 GHz \\ \end{tabular} & 4-GB DDR3 & 64 GB eMMC & 5V/2A \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Specifications for devices used in experiment. Figure 7: Comparison of classification times required by the CNN and cache according to layer.