是否有关于网络需要多大才能学习任意分类问题的文献,其中输入是 n 位整数,输出是 k 个类别之一?我对当前训练和初始化技术的理论界限和实践所需的大小感兴趣。
具体来说,允许神经网络查看所有可能的输入及其各自的输出,因此我不会从训练集中隐藏任何内容,因为该函数不被假定具有任何结构。
是否有关于网络需要多大才能学习任意分类问题的文献,其中输入是 n 位整数,输出是 k 个类别之一?我对当前训练和初始化技术的理论界限和实践所需的大小感兴趣。
具体来说,允许神经网络查看所有可能的输入及其各自的输出,因此我不会从训练集中隐藏任何内容,因为该函数不被假定具有任何结构。
神经网络的大小通常被视为超参数。您需要从单独的交叉验证集中对其进行估计。
对于神经网络,没有理论证明的界限(到处都有一些论文,但它们在实践中并不适用)。
您需要使用旧的“交叉验证”方法来搜索 NN 大小的最佳拟合值。
PS:有一篇来自 Yoshua Bengio 的论文,其中包含训练此类机器的所有技巧和特征。
让我们看看一些具体的任务。
输入是程序的字节码,作为整数。
让我们使用一个计算素数的程序。我很确定您可以用相当少的字节数编写这样的程序。让我们添加另一个整数,即我们想要找到的素数。输出将是素数的第二高位是 0 还是 1(即,如果素数以 0...010 或 0...011 开头)只有两个类。
或者,让输入为程序,输出程序是否停止(参见“停止问题”)。
我很确定,即使您限制了输入长度,即使是最大的神经网络也无法可靠地预测这两个示例的输出。所以不能保证只要有足够的节点就可以学习任何东西。您可能可以保证 id 具有过度拟合的能力。给定 N 个训练示例(具有一致的标签),您可以构建一个具有 x 个节点的网络,该网络可以完美地记忆训练数据(但这无法泛化,因此对训练数据过度拟合)。