## 5 Conclusions
### Compression of Convolutional Neural Networks  
In our work, we proposed and evaluated a novel compression method for convolutional neural networks. Our method utilizes a combination of tensor decomposition methods, such as CP, SVD, and Tucker decomposition, for the low-rank representation of weight tensors of convolutional layers. In addition to a compression algorithm, we introduced an iterative compression technique that allows for avoiding abrupt destruction of the model's performance associated with high-ratio model compression. This algorithm is based on iterative fine-tuning and compression of the model with a gradual increase in the overall compression ratio: every fixed number of fine-tuning epochs, a new compression iteration is performed with lower tensor decomposition ranks. This method allows the model weights to gradually adapt to the low-rank representation, so that high compression ratios can be achieved without significant loss of model quality. We evaluated our compression method on some of the most popular models for image classification--ResNet-18 and ResNet-152. In our work, we performed compression of convolutional layers within residual blocks of ResNet models and were able to obtain three compressed versions of ResNet-18 (with compression ratios \(\times\)12.2, \(\times\)12.5, and \(\times\)14.5) and one compressed version of ResNet-152 (with compression ratio \(\times\)2.5). Test accuracy measurements on the CIFAR-10 and Tiny ImageNet datasets showed that the compressed versions of the models perform on par with the original uncompressed models. The accuracy score loss was insignificant compared to the high compression ratios achieved. For instance, accuracy changed only from 93.00% to 89.4% on CIFAR-10 for \(\times\)12.5-compressed ResNet-18. In order to investigate the method's susceptibility to inference time increases, often associated with the inefficiency of hardware for multiplying a sequence of multiple low-rank matrices, we measured inference time for compressed and uncompressed versions of the models. The results of measuring inference time for processing a single picture with \(224\times 224\) dimensions showed a relatively low increase--from 0.6 to 0.8 s for ResNet-18 and from 5.1 to 5.3 for ResNet-152. This demonstrates the applicability of our method in real-world applications and resource-constrained environments. Our results indicate that this method is competitive with other large-scale CNN compression strategies. Building on this work, the next steps include several key directions:  
Expanding the approach to incorporate the compression of fully connected layers would allow further optimization of neural networks. Applying this method to a wider range of tasks and architectures, such as object detection models, will help demonstrate its broader applicability and effectiveness beyond image classification. Addressing the observed increase in inference time for compressed models is crucial. Modern GPU architectures are optimized for processing large matrix multiplications, but the decomposition process introduces multiple smaller matrix operations. The overhead of transferring these smaller matrices into the GPU cache can become comparable to the time spent on the matrix multiplications themselves, diminishing the expected inference speed-up. To mitigate this issue, future work could focus on identifying suitable hardware accelerators tailored for efficient low-rank operations and implementing low-level optimizations to improve cache usage during matrix transfers. These enhancements have the potential to significantly boost the runtime efficiency of compressed neural networks. Exploring the application of different decomposition methods (CP, Tucker, SVD) to specific layers of a neural network and developing an automated algorithm to optimize and streamline the selection of the most appropriate decomposition method for each layer would further enhance the efficiency of the compression process.