Global covariance pooling (GCP) aims at exploiting the second-order statistics of the convolutional feature. Its effectiveness has been demonstrated in boosting the classification performance of Convolutional Neural Networks (CNNs). Singular Value Decomposition (SVD) is used in GCP to compute the matrix square root. However, the approximate matrix square root calculated using Newton-Schulz iteration \cite{li2018towards} outperforms the accurate one computed via SVD \cite{li2017second}. We empirically analyze the reason behind the performance gap from the perspectives of data precision and gradient smoothness. Various remedies for computing smooth SVD gradients are investigated. Based on our observation and analyses, a hybrid training protocol is proposed for SVD-based GCP meta-layers such that competitive performances can be achieved against Newton-Schulz iteration. Moreover, we propose a new GCP meta-layer that uses SVD in the forward pass, and Pad\'e Approximants in the backward propagation to compute the gradients. The proposed meta-layer has been integrated into different CNN models and achieves state-of-the-art performances on both large-scale and fine-grained datasets.
翻译:GCP 用于计算矩阵平方根。 然而,使用 Newton-Schulz 迭代计算出的大约矩阵平方根比通过 SVD\ cite{li2018towards} 计算的准确数字要好。 我们从数据精确度和梯度平滑度的角度从数据精确度的角度对性能差距背后的原因进行了实验分析,对计算平滑的 SVD 梯度的各种补救措施进行了调查。根据我们的观察和分析,为基于 SVD 的 GCP 元层提出了混合培训协议,这样,就可以在牛顿-Schulz 梯度上实现竞争性性能。此外,我们提议一个新的GCP 元层,在前方通过 SVD 计算出来,在后方和高坡度平滑度上使用SVD,Pad\ 高级Approximants 在后方和高压级的SICISDA和高压度上,拟议在后方和低级的SISISDSBS上都实现了。