需要下一状态传播进行反向传播的神经网络强化学习

2024-01-21

我正在尝试构建一个包含卷积和 LSTM(使用 Torch 库)的神经网络,以通过 Q 学习或优势学习进行训练,这两者都需要在更新状态 T 的权重之前通过网络传播状态 T+1。

必须进行额外的传播会降低性能,这很糟糕,但不是too坏的;然而,问题是这里面涉及到各种状态。首先,Torch 的反向传播实现有一些效率捷径,这些捷径依赖于前向传播之后立即发生的反向传播,而额外的传播会造成混乱。我可以通过共享权重值的辅助克隆网络来解决这个问题,但我们遇到了第二个问题。

每个涉及 LSTM 的前向传播都是有状态的。当传播网络(T+1)可能改变了 LSTM 的内容时,如何更新 T+1 时的权重?我曾尝试查看 TD-Gammon 中对 TD 权重更新的讨论,但它对我来说很迟钝,而且无论如何都是前馈,而不是经常性的。

如何在 T 处更新网络的权重,而不必将网络推进到 T+1,或者如何将网络推进到 T+1,然后返回并调整权重,就好像它仍然是 T 一样?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

需要下一状态传播进行反向传播的神经网络强化学习 的相关文章

  • 如何修复:AttributeError:模块“neat”没有属性“config”

    我正在浏览使用发现的 NEAT 神经网络 API 玩 flappybird 的 AI 的指南 当我运行从 Github 下载的代码时 出现错误 Traceback most recent call last File test py lin
  • Keras LSTM 密集层多维输入

    我正在尝试创建一个 keras LSTM 来预测时间序列 我的 x train 形状像 3000 15 10 示例 时间步长 特征 y train 形状像 3000 15 1 我正在尝试构建一个多对多模型 每个序列 10 个输入特征产生 1
  • 在 Tensorflow 2.0 中的简单 LSTM 层之上添加 Attention

    我有一个由一个 LSTM 和两个 Dense 层组成的简单网络 如下所示 model tf keras Sequential model add layers LSTM 20 input shape train X shape 1 trai
  • CNTK 抱怨 LSTM 中的动态轴

    我正在尝试在 CNTK 中实现 LSTM 使用 Python 来对序列进行分类 Input 特征是固定长度的数字序列 时间序列 标签是 one hot 值的向量 Network input input variable input dim
  • 如何使用一个模型中间层的输出作为另一个模型的输入?

    我训练一个模型A并尝试使用中间层的输出name layer x 作为模型的附加输入B 我尝试像 Keras 文档一样使用中间层的输出https keras io getting started faq how can i obtain th
  • 通过 Caffe 中的层提供数据的多种路径

    我想在 Caffe 中构建一个网络 其中传入的数据最初被分割 分别通过同一组层 最后使用 eltwise 层重新组合 此后 所有部件将作为一个斑点移动 除了学习的参数之外 数据并行移动的网络部分的层配置将是相同的 有没有一种方法可以在 Ca
  • 为什么平均百分比误差(mape)非常高?

    我已获得代码掌握机器学习 https machinelearningmastery com time series prediction lstm recurrent neural networks python keras 我修改了mod
  • Caffe 多输入图像

    我正在考虑实现一个 Caffe CNN 它接受两个输入图像和一个标签 后来可能是其他数据 并且想知道是否有人知道 prototxt 文件中执行此操作的正确语法 它只是一个带有额外顶部的 IMAGE DATA 层吗 或者我应该为每个层使用单独
  • 使用 keras 澄清 Yolo v3 模型输出

    我将 yolo v3 模型与 keras 一起使用 该网络为我提供了形状如下的输出容器 1 13 13 255 1 26 26 255 1 52 52 255 所以我找到了这个link https www cyberailab com ho
  • 在 Keras 中使用有状态 LSTM 训练多变量多级数回归问题

    我有时间序列P过程 每个过程的长度各不相同 但都有 5 个变量 维度 我试图预测测试过程的估计寿命 我正在用有状态的方法来解决这个问题LSTM在喀拉斯 但我不确定我的训练过程是否正确 我将每个序列分成长度的批次30 所以每个序列都是这样的形
  • Keras IndexError:索引超出范围

    我是 Keras 新手 我尝试在数据集上执行二进制 MLP 并且不断使索引超出范围 但不知道为什么 from keras models import Sequential from keras layers core import Dens
  • Keras - Nan 总结直方图 LSTM

    我使用 Keras 编写了一个 LSTM 模型 并使用 LeakyReLU 高级激活 ADAM Optimizer with learning rate decay opt optimizers Adam lr 0 0001 beta 1
  • Keras 错误:预计会看到 1 个数组

    当我尝试在 keras 中训练 MLP 模型时出现以下错误 我使用的是 keras 版本1 2 2 检查模型输入时出错 您输入的 Numpy 数组列表 传递给您的模型的尺寸不是模型预期的尺寸 预期的 查看 1 个数组 但得到以下 12859
  • Encog:BasicNetwork:无需预先构建数据集的在线学习

    我正在尝试使用 encog 库作为强化学习问题的函数逼近器 更准确地说 我正在尝试启动并运行多层感知器 BasicNetwork 由于我的代理将根据我选择的任何 RL 算法以某种方式探索世界 因此我无法预先构建任何 BasicNeuralD
  • 如何使用 keras.backend.gradients() 获取梯度值

    我试图获得 Keras 模型的输出相对于模型输入 x 而不是权重 的导数 似乎最简单的方法是使用 keras backend 中的 梯度 它返回梯度张量 https keras io backend https keras io backe
  • 深度学习和传统的人工神经网络机器学习有什么区别? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 您能否简要解释一下两者之间的差异深度学习 https developer nvidia com deep learning和利用神经网
  • 使用 R 上的反向传播神经网络模型生成预测会为所有观察返回相同的值

    我正在尝试使用经过训练的反向传播神经网络在新数据集上使用神经网络包来生成预测 我使用了 计算 函数 但最终所有观察结果都得到相同的值 我做错了什么 the data Var1 lt runif 50 0 100 sqrt data lt d
  • 从 [tensorflow 1.00] 中的 softmax 层提取概率

    使用张量流 我有一个 LSTM 分类模型 以 softmax 作为最终节点 这是我的 softmax 层 with tf name scope Softmax as scope with tf variable scope Softmax
  • 多输出回归问题的多重损失

    所以我试图训练一个 CNN 模型来预测 4 个实值输出 回归问题 我尝试使用均方误差作为损失函数 我的问题是我是否将输出层分支为 4 个不同的输出层 其中有 4 个不同的输出层由于最后一层的权重是单独更新的 loss 4 MSE 确实可以使
  • AssertionError: d['w'] | 的值错误深度学习专业化

    我正在完成深度学习专业的第一门课程 其中第一个编程任务是从头开始构建逻辑回归模型 由于这是我第一次从头开始构建模型 而且我花了一些时间来消化高等数学 所以我有很多错误 其中 我发现了一个我完全无法修复并且无法理解的问题 这是一个断言错误 说

随机推荐