
摘要
传统的用于序列数据的神经架构存在重要局限性。递归网络(Recurrent Networks)面临梯度爆炸和梯度消失问题,有效的记忆范围较小,并且必须按顺序进行训练。卷积网络(Convolutional Networks)无法处理未知长度的序列,其记忆范围也必须预先定义。在本研究中,我们展示了通过将卷积核在卷积神经网络(CNNs)中表示为连续函数,可以解决所有这些问题。由此产生的连续核卷积(Continuous Kernel Convolution, CKConv)使我们能够在单个操作中并行地建模任意长度的序列,而无需依赖任何形式的递归。我们证明了连续核卷积神经网络(Continuous Kernel Convolutional Networks, CKCNNs)在多个数据集上取得了最先进的结果,例如排列后的MNIST数据集,并且由于其连续性质,能够天然地处理非均匀采样的数据集和不规则采样的数据。CKCNNs以更快、更简单的方式达到了与为此设计的神经常微分方程(Neural Ordinary Differential Equations, ODEs)相当或更好的性能。
代码仓库
dwromero/ckconv
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| sequential-image-classification-on-sequential | CKCNN (1M) | Permuted Accuracy: 98.54% Unpermuted Accuracy: 99.32% |
| sequential-image-classification-on-sequential | CKCNN (100k) | Permuted Accuracy: 98% Unpermuted Accuracy: 99.31% |
| sequential-image-classification-on-sequential-1 | CKCNN (1M) | Unpermuted Accuracy: 63.74% |
| sequential-image-classification-on-sequential-1 | CKCNN (100k) | Unpermuted Accuracy: 62.25% |
| time-series-on-speech-commands | CKCNN (100k) | % Test Accuracy: 95.27 |