首页 文章
  • 7 votes
     answers
     views

    TensorFlow中的引导反向传播

    我想在TensorFlow中实现在Paper中引入"Guided back-propagation"的技术,并在recipe中进行了描述 . 计算上意味着当我计算例如输入wrt的梯度时 . NN的输出,我将 modify the gradients computed at every RELU unit . 具体地说,这些单元上的反向传播信号必须在零上设置阈值,以使该技术起...
  • 2 votes
     answers
     views

    如何计算多个图像的丢失,然后反向传播平均损失并更新网络权重

    我正在做一个批量大小为1的任务,即每个批次只包含1个图像 . 所以我必须进行手动配料:当累计损失的数量达到一个数字时,平均损失然后做反向传播 . 我原来的代码是: real_batchsize = 200 for epoch in range(1, 5): net.train() total_loss = Variable(torch.zeros(1).cuda(), requ...
  • 0 votes
     answers
     views

    Tensorflow:通过保存的中间值在断开的子图之间反向传播

    你好Stackoverflow社区! 我想知道一个简单的想法,以减少关于训练前馈神经网络的特定问题的内存需求(与我的另一个问题有关:OOM computing gradients for deep neural net.) . 假设我有一个用张量流定义的图,实现了多感知器和损失函数的计算 . 在初始化变量等之后,我通过将输入馈送到该图中来计算前向传递,从而获得一些输出值 . 我将输出值存储在列表中...
  • 1 votes
     answers
     views

    Python 3.6中的反向传播

    我试图实现一个使用backpropagation进行训练的神经网络 . 正如 Headers 所说,我在Python 3.6中做到了,并试图让它学习XOR功能 . 当我运行代码并测试网络时,输出大约为0.5,无论输入是什么,所以显然在训练过程中出现了错误 . 输出似乎受学习速率常数和动量常数的影响,但我尝试了大量不同的组合和值,我认为合理,但没有成功 . 如果有人能帮助我找出问题所在,我将非常感激...
  • 0 votes
     answers
     views

    反向传播使输出平均值达到0.5

    我有一个我在python中工作的神经网络模型 . 然而,反向传播似乎不起作用,而且我已经摆弄了一段时间 . 通过一系列培训,即使有足够的数据,输出也将平均为0.5 . 这是反向传播的代码和数据,只是一个简单的AND门输出:数据: data = [[[1, 1], 1], [[1, 0], 0], [[0, 1], 0], [[0, 0], 0]] bac...
  • 0 votes
     answers
     views

    无法找到就地操作:梯度计算所需的变量之一已通过就地操作进行了修改

    我试图计算网络jacobian的损失(即执行双反向),我得到以下错误:RuntimeError:梯度计算所需的变量之一已被inplace操作修改 我在代码中找不到inplace操作,所以我不知道要修复哪一行 . *错误发生在最后一行:loss3.backward() inputs_reg = Variable(data, requires_grad=True) output...
  • 2 votes
     answers
     views

    在反向传播中的梯度检查

    我正在尝试为具有2个单位输入层,2个单位隐藏层和1个单位输出层的简单前馈神经网络实现梯度检查 . 我所做的是以下内容: 在所有层之间获取网络权重的每个权重w,并使用w EPSILON然后使用w-EPSILON执行前向传播 . 使用两个前馈传播的结果计算数值梯度 . 我不明白的是如何进行反向传播 . 通常,我将网络的输出与目标数据(在分类的情况下)进行比较,然后反向传播整个网络的误差导数...
  • 2 votes
     answers
     views

    我在神经网络中实现反向传播很困难

    我有一个简单的前馈神经网络 2 input neurons (和1个偏置神经元), 4 hidden neurons (和1个偏置神经元)和 one output neuron . 前馈机制似乎工作正常,但我无法完全理解如何实现反向传播算法 . 有3个类: Neural::Net ;构建网络,提供输入值(目前没有反向传播) Neural::Neuron ;具有神经元的特征(指数,输出,重...
  • 8 votes
     answers
     views

    LSTM RNN反向传播

    有人能否清楚解释LSTM RNN的反向传播?这是我正在使用的类型结构 . 我的问题不在于什么是反向传播,我理解它是一种计算用于调整神经网络权重的假设和输出误差的逆序方法 . 我的问题是LSTM反向传播与常规神经网络的不同之处 . 我不确定如何找到每个门的初始误差 . 您是否使用每个门的第一个误差(由假设减去输出计算)?或者你通过一些计算调整每个门的误差?我不确定细胞状态如何在LSTM的反向支持中...
  • 3 votes
     answers
     views

    神经网络,梯度下降只能找到输出的平均值?

    这个问题比代码更具概念性,因此用JS编写的这个问题应该无关紧要 . 所以我正在尝试创建一个神经网络,我正在通过尝试训练它来做一个简单的任务来测试它 - 一个OR门(或者,实际上,只是任何逻辑门) . 为了简单起见,我没有使用任何批次使用Gradient Descent(批处理对于此任务来说似乎是不必要的,而且我所拥有的代码越少,调试就越容易) . 但是,经过多次迭代后,输出总是收敛到输出的平均值 ...
  • 1 votes
     answers
     views

    计算神经网络反向传播中的误差

    这是一个非常简单的问题,因为我对这些概念不熟悉 . 我有一个4-4-1神经网络,我运行16x4二进制数据来预测16x1列输出 . 我利用随机权重和偏差来生成粗略预测的输出向量 . 然后我计算出一个16x1的误差矢量(实际输出) . 当回传播时,我正在尝试更新我的权重 . 但是,如果我的错误是16x1错误列表,如何更新权重的单个值?也就是说,我该如何实现: weight = weight learn...
  • 0 votes
     answers
     views

    用于S形激活和softmax输出的反向传播

    我正在尝试构建一个用于多类分类的L层神经网络,其中输出层中的softmax激活和其他层中的sigmoid激活 . 用于培训的功能如下所示: def L_layer_model(X, Y, layers_dims, learning_rate=0.01, num_iterations=5000, print_cost=True): """ Implements a L...
  • 26 votes
     answers
     views

    RELU的神经网络反向传播

    我正在尝试用RELU实现神经网络 . 输入层 - > 1隐藏层 - > relu - >输出层 - > softmax层 以上是我的神经网络的架构 . 我很担心这个relu的反向传播 . 对于RELU的导数,如果x <= 0,则输出为0.如果x> 0,则输出为1.因此,当您计算梯度时,这是否意味着如果x <= 0,我会消除梯度 . 有人可以一步一步地解释...
  • 0 votes
     answers
     views

    多层感知器反向传播

    我试图找出一个问题,询问为什么如果在输入和输出之间添加不必要的附加层,MLP网络中的训练时间会急剧增加 . (这不是硬件问题) 我想这与反向传播过程有关 . 我知道重量更新只适用于导致错误的神经元..是否只是有更多的神经元,所以有更多的重量更新需要更长的时间?我不明白为什么会导致“戏剧性”增加 . 任何帮助,将不胜感激 .
  • 40 votes
     answers
     views

    理解神经网络反向传播

    更新:更好地解决问题 . 我试图以XOR神经网络为例来理解反向传播算法 . 对于这种情况,存在2个输入神经元1偏差,隐藏层1偏置中的2个神经元和1个输出神经元 . A B A XOR B 1 1 -1 1 -1 1 -1 1 1 -1 -1 -1 我正在使用stochastic backpropagation . 在阅读了一点之后我发现输出单元...
  • 16 votes
     answers
     views

    对神经网络中反向传播算法的理解

    我无法理解反向传播算法 . 我阅读了很多并搜索了很多,但我无法理解为什么我的神经网络不起作用 . 我想确认我正在以正确的方式做所有事情 . 这是我的神经网络,当它初始化时,当第一行输入[1,1]和输出[0]被设置时(你可以看到,我正在尝试做XOR神经网络): 我有3层:输入,隐藏和输出 . 第一层(输入)和隐藏层包含2个神经元,其中每个神经元有2个突触 . 最后一层(输出)也包含一个神经元,也有...
  • 1 votes
     answers
     views

    使用反向传播的自动编码器

    我正在尝试使用this资源实现自动编码器,该资源实现了反向传播算法 . 我在那里使用了相同的前馈算法但是它给了我一个很大的错误 . 在Autoencoders中,sigmoid函数应用于隐藏进行编码,再次应用于输出进行解码 . def feedForwardPropagation(network, row, output=False): currentInput = row if not outp...
  • 0 votes
     answers
     views

    我的Backpropagation算法实现有什么问题?

    我试图实现一个无隐藏层神经网络来破解MNIST数据集 . 我使用sigmoid作为激活函数和交叉熵作为损失函数 . 为简单起见,我的网络没有隐藏层,只有输入和输出 . X = trainImage label = trainLabel w1 = np.random.normal(np.zeros([28 * 28, 10])) b1 = np.random.normal(np.zeros([10...
  • 4 votes
     answers
     views

    弹性反向传播神经网络 - 关于梯度的问题

    首先,我想说我是神经网络的新手,我不太了解它;) 我已经完成了第一个反向传播神经网络的C#实现 . 我已经使用XOR对它进行了测试,它看起来很有效 . 现在我想改变我的实现以使用弹性反向传播(Rprop - http://en.wikipedia.org/wiki/Rprop) . 定义说:“Rprop仅考虑所有模式(不是幅度)的偏导数的符号,并且独立地对每个”权重“起作用 . 有人能告诉我所...
  • 4 votes
     answers
     views

    神经网络不适合XOR

    我创建了一个Octave脚本,用于使用反向传播训练具有1个隐藏层的神经网络,但它似乎不适合XOR函数 . x 输入4x2矩阵 [0 0; 0 1; 1 0; 1 1] y 输出4x1矩阵 [0; 1; 1; 0] theta 隐藏/输出图层权重 z 加权总和 a 激活函数应用于加权和 m 样本数量( 4 此处) 我的权重初始化如下 epsilon_init = 0.12...
  • 0 votes
     answers
     views

    神经网络反向传播和偏差

    我很难构建好的神经网络教学算法,因为有一些manu nuanses . 首先要做的事情是:我的目标是教授nn xor函数我使用sigmoid作为激活函数和简单的梯度下降 . 前馈很容易,但backprop在某种程度上令人困惑 - 大多数算法描述的常见步骤是:1 . 计算输出层的误差 . 2.将此错误传播到关于权重的隐藏层3.更新突触上的权重 所以我的问题:1 . 偏见是否也应该更新,如果是,如何...
  • 0 votes
     answers
     views

    反向传播错误:概念性还是编程?

    我编写了以下反向传播算法来模拟两个输入标识函数 clc % clear nh = 3; % neurons in hidden layer ni = 2; % neurons in input layer eta = .001; % the learning rate traningSize =100; for x=1:t...
  • 1 votes
     answers
     views

    反向传播 - 误差导数

    我正在学习用于训练神经网络的反向传播算法 . 这有点意义,但仍然有一部分我没有得到 . 据我所知,误差导数是根据网络中的所有权重计算的 . 这导致误差梯度,其维数是网中权重的数量 . 然后,通过该梯度的负值改变权重,乘以学习率 . 这似乎是正确的,但为什么梯度没有标准化? delta矢量长度与梯度矢量长度成正比的原理是什么?
  • 1 votes
     answers
     views

    多层神经网络的反向传播

    我正在尝试创建自己的神经网络,允许python中无限的神经元层 . 它使用numpy数组对象来模拟神经元,权重,输入和输出 . 我已经弄清楚如何处理前向传播,但我很难找到一个处理可以处理多个隐藏层的反向传播的公式 . def train(self, training_set_inputs, training_set_outputs, number_of_training_iterations): ...
  • 2 votes
     answers
     views

    使用ReLu函数反向传播

    我正在学习神经网络中的激活函数 . 简单线性函数的问题如下: A = cx,相对于x的导数是c . 这意味着梯度与X无关 . 它是一个恒定的梯度,下降将是一个恒定的梯度 . 如果预测中存在错误,则反向传播所做的更改是不变的,并且不依赖于输入增量(x)的变化! ReLu函数的导数也是常数 . 我的问题是“当它的导数是一个常数并且不依赖于输入的变化时,我们怎么能用ReLu函数反向传播?”
  • 6 votes
     answers
     views

    第2部分弹性反向传播神经网络

    这是this post的后续问题 . 对于给定的神经元,我的体重 . 在这个web page工作,它处理弹性传播 . 对于前馈神经网络,我们必须1)在通过神经网络向前移动时,触发神经元,2)从输出层神经元,计算总误差 . 然后3)向后移动,通过神经元中的每个重量传播该错误,然后4)再次前进,更新每个神经元中的权重 . 确切地说,这些是我不理解的事情 . A) 对于每个神经元,如何计算误差的偏导数(...
  • 1 votes
     answers
     views

    反向传播:何时更新权重?

    你能帮我一个神经网络吗? 如果我有一个任意数据集: +---+---------+---------+--------------+--------------+--------------+--------------+ | i | Input 1 | Input 2 | Exp.Output 1 | Exp.Output 2 | Act.output 1 | Act.output 2 | +-...
  • 1 votes
     answers
     views

    LSTM的反向传播时间(BPTT)

    我目前正在尝试了解TensorFlow中LSTM的BPTT . 我得到参数“num_steps”用于RNN推出的范围和反向传播的错误 . 我有一个关于它如何工作的一般问题 . 供参考重复公式 . 我指的是:Formulas LSTM(https://arxiv.org/abs/1506.00019) Question: 哪些路径反向传播了许多步骤?恒定误差轮播由公式5创建,并且反向传播的推导(s(...
  • 0 votes
     answers
     views

    在LSTM中截断反向传播,梯度值出错

    Hochreiter在他1997年的开创性LSTM论文中提出了反向传播版本 . 当计算某个网络权重的梯度时,他会以只保留前一时间步骤中的单元状态的导数的方式截断导数(附录1) . 鉴于这种近似,他证明了恒定误差仅在后续的单元状态之间传播(附录2) . 从我的观点来看,当忽略来自单元格外部的渐变贡献时会发生错误 . 因此网络权重更新时出错 . 在文章中没有估计错误 . 为什么Hochreiter会手...
  • 2 votes
     answers
     views

    具有离散输出的反向传播神经网络

    我正在使用三层反向传播网络的xor示例 . 当输出层具有S形激活时,(1,0)的输入可能为所需的1输出提供0.99,而(1,1)的输入可能为期望的0输出提供0.01 . 但是如果希望输出是离散的,无论是0还是1,我只需将阈值设置在0.5之间?这个门槛是否需要像任何其他重量一样训练?

热门问题