反向传播和训练设置为假人

时间:2016-02-21 22:00:53

标签: neural-network xor backpropagation perceptron

我在研究神经网络的最初阶段,但是我的稀缺技能或缺乏智力不允许我从流行文章中理解如何正确地准备用于反向传播训练方法(或其局限性)的训练集。例如,我想训练最简单的两层感知器以通过反向传播来解决XOR(例如,修改来自第一层的4个突触和来自第二层的4个突触的随机初始权重)。简单XOR函数有两个输入,一个输出:{0,0} => 0,{0,1} => 1,{1,0} => 1,{1,1} => 0。但神经网络理论告诉"反向传播需要为每个输入值提供已知的所需输出,以便计算损失函数梯度"。这是否意味着如果在训练设定的输入量不严格等于输出量并且无法避免这种限制,则不能应用反向传播?或者这意味着,如果我想使用反向传播来解决诸如XOR之类的分类任务(即输入数量大于输出数量),理论上说它总是需要以类似方式重制训练集( input =>所需输出):{0,0} => {0,0},{0,1} => {1,1},{1,0} => {1,1}, {1,1} => {0,0}? 感谢您提前提供任何帮助!

1 个答案:

答案 0 :(得分:1)

  

这是否意味着如果训练集的输入量不严格等于输出量,则无法应用反向传播

如果你的意思是输出是分类任务中的“类”,我不这么认为,

  

反向传播需要为每个输入值提供已知的所需输出,以便计算损失函数梯度

我认为这意味着每个输入都应该有一个输出,而不是一个不同的输出。

在现实生活中的问题,如手写数字分类(MNIST),大约有50.000个数据训练(输入),但只有10个数字