反向传播直到神经网络中的输入层

Posted

技术标签:

【中文标题】反向传播直到神经网络中的输入层【英文标题】:Back-propagation until the input layer in neural network 【发布时间】:2014-09-25 12:18:36 【问题描述】:

我有一个关于神经网络反向传播的问题。假设我们有一个针对某些数据的训练有素的 DNN。然后我们将损坏的数据输入 NN 并反向传播错误,直到第一个隐藏层,但直到输入层(也就是说我们计算输入神经元的增量)。错误项是否向我们显示“干净”和“损坏”向量之间的不匹配?

【问题讨论】:

首先你为什么要这么做? 这里的“干净”和“损坏”是什么意思? 刚想出同样的想法,尝试在 DNN 上使用 BP 从损坏的输入样本和已知输出中构造有效输入 【参考方案1】:

如果我正确解释了这个问题,您有两个输入向量 i1 = (a, b, ...) 和 i2 = (c, d, ...)。然后你有两个对应的输出向量 o1 = (v, w, ...) 和 o2 = (x, y, ...)。

i1 是您的有效训练数据的一部分,用于向 NN 教授模型。完成此操作后,如果将模型正确应用到 i2,您想使用 NN 检测无效 o2 和有效输出之间的 delta 吗?

如果是这种情况,请使用所有有效输入用例正常训练 NN,然后输入您的测试用例(与已知损坏的输出向量相对应的输入向量)并收集结果禁用反向传播时间>。也就是说,一旦 NN 学习到了正确的模型,就停止训练并自己简单地将“干净”的结果与损坏的结果进行比较。

注意:您也可以训练神经网络以接受一组与其他进程的输入相对应的值和一组与该进程的(可能已损坏的)输出相对应的值作为输入,并产生差异作为输出在干净的值和损坏的值之间,但是为了避免自己做减法而对数据进行额外的训练和框架可能不值得。

【讨论】:

以上是关于反向传播直到神经网络中的输入层的主要内容,如果未能解决你的问题,请参考以下文章

TensorFlow从0到1之TensorFlow实现反向传播算法(21)

深度学习:神经网络中的前向传播和反向传播算法推导

反向传播梯度求解推导

反向传播算法的算法简介

BP神经网络的神经网络

反向传播