## 3 Pruning Methodology
### Filter Selection Criterion  
In the proposed algorithm our main focus is to iteratively select and remove the most unimportant group of filters from convolution layers so that it will have minimal effect on the accuracy loss during inference. Therefore at first, we will need to rank the importance of filters within a layer using information from the filter itself. The filter magnitude using norm or the measure of geometric similarity among filters are two widely used criteria to rank the filter's importance. We studied several of those criteria as follows. **(a) Filter Magnitude. ** In the early days of weight pruning, i.e., unstructured pruning, researchers found that small weight values can be safely removed without hurting thenetwork performance. The same goes for filter pruning, also known as structured pruning. The filter norm values are used to calculate the overall filter magnitudes. [PERSON] et al. [24] extensively demonstrated that filters with small norm values are less important as compared to large norm filters and they can be safely removed. In this paper, we also used filter norms to estimate filter magnitudes. If we represent \(j_{th}\) filter \(\mathcal{X}_{j}\) as \(\mathbf{x}\in\mathbb{R}^{1\times M_{i}}\), its \(l_{p}\)-norm is calculated as  
\[\left\|\mathcal{X}_{j}\right\|_{p}=\sqrt[]{\sum_{m=1}^{M_{i}}|x_{m}|^{p}} \tag{1}\]  
Either \(l_{1}\)-norm or \(l_{2}\)-norm can be used to get the filter magnitude and filters with low norm values will be dropped during pruning. **(b) Filter Similarity. ** While filter magnitude using norm is a good measure for removing unimportant filters, the network still may contain unnecessary filters but with a large magnitude. [PERSON] et al. [15; 16] proposed that not only the filter magnitude but filter similarity scores can be used to rank filters for pruning. The filter that has the largest similarity score among all other filters in the layer can be safely removed because such a filter is considered redundant and the information loss due to the removal of such a filter can be easily recovered by the remaining filters in the layer. Therefore, in this paper, we also utilize the filter similarity measures in addition to norm-based magnitude criteria for removing unimportant filters. Here we studied three different filter similarity estimation methods having different properties from each other. _Euclidean Similarity._ The similarity measurement using Euclidean distance depends upon the magnitude of two vectors. The Euclidean similarity between two filter vectors \(\mathbf{x}\in\mathbb{R}^{1\times M_{i}}\) and \(\mathbf{y}\in\mathbb{R}^{1\times M_{i}}\) is calculated as  
\[D_{eucl}(\mathbf{x},\mathbf{y})=\sqrt{\sum_{m=1}^{M_{i}}|x_{m}-y_{m}|^{2}} \tag{2}\]  
_Cosine Similarity._ Cosine similarity measures the cospin of angles between two vectors that determine if two vectors are pointing in the same direction. The Cosine similarity between two filter vectors \(\mathbf{x}\in\mathbb{R}^{1\times M_{i}}\) and \(\mathbf{y}\in\mathbb{R}^{1\times M_{i}}\) is calculated as  
\[D_{cos}(\mathbf{x},\mathbf{y})=1-\frac{\sum_{m=1}^{M_{i}}(x_{m}\times y_{m})}{\sum_{m= 1}^{M_{i}}x_{m}^{2}\times\sum_{m=1}^{M_{i}}y_{m}^{2}} \tag{3}\]  
_Normalized Cross Correlation (NCC) Similarity._ Unlike cospin similarity, NCC is invariant to scale and shift. In image processing, NCC is a good measure for template matching which is robust to exposure and lighting. Therefore, in this paper, NCC is also studied to measure the similarity between filters. The NCC similarity between two filter vectors \(\mathbf{x}\in\mathbb{R}^{1\times M_{i}}\) and \(\mathbf{y}\in\mathbb{R}^{1\times M_{i}}\) is calculated as  
\[D_{ncc}(\mathbf{x},\mathbf{y})=1-\frac{1}{M_{i}}\sum_{m=1}^{M_{i}}\frac{(x_{m}-\mu_{x} )(y_{m}-\mu_{y})}{\sigma_{x}\sigma_{y}} \tag{4}\]  
where \(\mu_{x}\), \(\mu_{y}\) are the mean and \(\sigma_{x}\), \(\sigma_{y}\) are the standard deviation of vector \(\mathbf{x}\) and \(\mathbf{y}\).