arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2201.10369cs.CV
收藏

深度神经网络的Winograd卷积:有效的点选择

Winograd Convolution for Deep Neural Networks: Efficient Point Selection

School of Computer Science and Statistics(计算机科学与统计学学院);Lero, Trinity College Dublin(都柏林圣三一学院Lero(爱尔兰国家软件与计算机科学研究所))

Syed Asad Alam, Andrew Anderson, Barbara Barabasz, David Gregg

摘要:

卷积神经网络(CNN)极大地提高了目标识别、图像分割和交互式语音系统等任务的准确性。CNN需要大量的计算资源,因为计算密集的卷积层。Winograd卷积等快速卷积算法可以大大降低这些层的计算成本,但代价是数值属性较差,因此计算中的更大节省会以指数方式增加浮点错误。每个Winograd卷积算法的定义特征是一组实值点,其中多项式被采样。点的选择会影响算法的数值精度,但小卷积的最佳点集仍然未知。现有的工作只考虑小整数和简单分数作为候选点。在这项工作中,我们提出了一种新的方法来选择点的形式{-1/c,-c,c,1/c }使用的实值数c的全范围。我们表明,这种形式的团体导致取消的Winograd变换矩阵,减少数值误差。我们发现,经验上的c的不同值的误差形成了一个粗略的曲线,在整个范围内的实数值,有助于本地化的c值,减少错误,可以实现较低的错误与非明显的实值评估点,而不是整数或简单的分数。我们研究了一系列小卷积的大小,并实现了1D和2D卷积的误差减少2%到59%左右。此外,当我们选择我们提出的点的子集时,我们识别模式,这将总是导致较低的误差。最后,我们实现了一个完整的Winograd卷积层,并使用它在真实数据集上运行深度卷积神经网络,并表明我们提出的点减少了22%到63%的误差。

英文摘要:

Convolutional neural networks (CNNs) have dramatically improved the accuracy of tasks such as object recognition, image segmentation and interactive speech systems. CNNs require large amounts of computing resources because ofcomputationally intensive convolution layers. Fast convolution algorithms such as Winograd convolution can greatly reduce the computational cost of these layers at a cost of poor numeric properties, such that greater savings in computation exponentially increase floating point errors. A defining feature of each Winograd convolution algorithm is a set of real-value points where polynomials are sampled. The choice of points impacts the numeric accuracy of the algorithm, but the optimal set of points for small convolutions remains unknown. Existing work considers only small integers and simple fractions as candidate points. In this work, we propose a novel approach to point selection using points of the form {-1/c , -c, c, 1/c } using the full range of real-valued numbers for c. We show that groups of this form cause cancellations in the Winograd transform matrices that reduce numeric error. We find empirically that the error for different values of c forms a rough curve across the range of real-value numbers helping to localize the values of c that reduce error and that lower errors can be achieved with non-obvious real-valued evaluation points instead of integers or simple fractions. We study a range of sizes for small convolutions and achieve reduction in error ranging from 2% to around 59% for both 1D and 2D convolution. Furthermore, we identify patterns in cases when we select a subset of our proposed points which will always lead to a lower error. Finally we implement a complete Winograd convolution layer and use it to run deep convolution neural networks on real datasets and show that our proposed points reduce error, ranging from 22% to 63%.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑