Deep Neural Networks require large amounts of labeled data for their training. Collecting this data at scale inevitably causes label noise.Hence,the need to develop learning algorithms that are robust to label noise. In recent years, k Nearest Neighbors (kNN) emerged as a viable solution to this problem. Despite its success, kNN is not without its problems. Mainly, it requires a huge memory footprint to store all the training samples and it needs an advanced data structure to allow for fast retrieval of the relevant examples, given a query sample. We propose a neural network, termed kNet, that learns to perform kNN. Once trained, we no longer need to store the training data, and processing a query sample is a simple matter of inference. To use kNet, we first train a preliminary network on the data set, and then train kNet on the penultimate layer of the preliminary network.We find that kNet gives a smooth approximation of kNN,and cannot handle the sharp label changes between samples that kNN can exhibit. This indicates that currently kNet is best suited to approximate kNN with a fairly large k. Experiments on two data sets show that this is the regime in which kNN works best,and can therefore be replaced by kNet.In practice, kNet consistently improve the results of all preliminary networks, in all label noise regimes, by up to 3%.
翻译:深心神经网络需要大量的标签数据来进行培训。 在比例上收集这些数据必然会引起标签噪音。 因此, 需要开发一种对标签噪音很可靠的学习算法。 近年来, 近距离邻居( kNNN) 成为了这个问题的可行解决方案。 尽管 kNet 成功, KNN 并不是没有问题。 主要是, 它需要巨大的记忆足迹来存储所有培训样本, 并且它需要一个先进的数据结构来快速检索相关示例, 有查询样本 。 我们建议建立一个神经网络, 称为 kNet, 学会执行 kNN。 一旦经过培训, 我们不再需要存储培训数据, 处理查询样本是一个简单的推论问题。 要使用 kNet, 我们首先在数据集上训练一个初步网络的初步网络, 然后在初步网络的倒数层上训练 kNet 。 我们发现 kNet 能够给 kNN 提供一个平稳的近似近, 并且无法处理 KNN 能够展示的样本之间的尖锐标签变化 。 这表示目前 kNet 最适合于 KNNN 和相当大的 KNN 的 KN 系统, 因此, kNN 只能在两个系统上不断更新 KNWeal 。 kN 。 在两个数据库中, kNB 中改进所有的标签系统, kNW 。