张量流是否通过pdf传播梯度

2024-03-27

可以说,分布函数定义如下:

dist = tf.contrib.distributions.Normal(mu, sigma)

并从分布中抽取样本

val = dist.pdf(x)

并且该值在模型中用于预测变量

X_hat = f(val)
loss = tf.norm(X_pred-X_hat, ord=2)

如果我想优化变量 mu 和 sigma 以减少预测误差,我可以执行以下操作吗?

train = tf.train.AdamOptimizer(1e-03).minimize(loss, var_list=[mu, sigma])

我有兴趣知道梯度例程是否通过正态分布传播,或者我应该期待一些问题,因为我正在定义分布的参数上获取梯度


tl;dr:是的,梯度反向传播可以正常工作tf.distributions.Normal.

dist.pdf(x)不从分布中抽取样本,而是返回概率密度函数x。这可能不是您想要的。

要获得随机样本,您真正想要的是调用dist.sample()。对于许多随机分布,随机样本对参数的依赖性是重要的,并且不一定是可反向传播的。

然而,正如 @Richard_wth 指出的那样,特别是对于正态分布,可以通过重新参数化来获得对位置和尺度参数的简单依赖(mu and sigma).

事实上,在实施 https://github.com/tensorflow/tensorflow/blob/b7e38a5f2a310599e9d4cab2bd95a43dd18018d6/tensorflow/python/ops/distributions/normal.py#L186 of tf.contrib.distributions.Normal(最近迁移到tf.distributions.Normal),这正是如何sample已实施:

def _sample_n(self, n, seed=None):
  ...
  sampled = random_ops.random_normal(shape=shape, mean=0., stddev=1., ...)
  return sampled * self.scale + self.loc

因此,如果您提供尺度和位置参数作为张量,则反向传播将在这些张量上正确工作。

请注意,这种反向传播本质上是随机的:它将根据正常高斯变量的随机抽取而变化。然而,从长远来看(通过许多训练示例),这可能会如您所期望的那样工作。

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

张量流是否通过pdf传播梯度 的相关文章

随机推荐

  • 获取parent.location.url - iframe - 从子级到父级

    我得到了一个在 iframe 中显示的页面 我需要从该页面 子页面 获取带有js的parent location url 两个站点位于不同的域中 我想 警报 父 位置 url 但我收到这个错误 权限被拒绝http 父域 http paren
  • 通过 ASP.NET Identity 和 Autofac OWIN 集成进行授权

    在这个问题的底部添加了更新 我有一个 Web 应用程序 它使用 MVC5 和 WebAPI2 以及 Autofac for DI 该应用程序使用 ASP NET Identity 和 oAuth 不记名令牌 尽管后者可能不是重点 这一切都运
  • C#:存储百分比,50 还是 0.50?

    当在变量中保存百分比值时 会优先将它们保存为整数还是分数 也就是说 变量应该保存 0 到 100 之间的数字还是 0 00 到 1 00 之间的数字 在任何一种情况下 保存值的变量都是十进制类型 我正在交互的数据库恰好将它们存储为 0 到
  • Ionic 项目中的 GSAP

    如何将 GSAP 库导入到 Ionic 项目中 只是使用npm 安装 gsap当我通过导入时不起作用 import TweenMax TimelineMax from gsap 我使用打字稿 谢谢 你不需要打字 我在几个项目中使用过它 所有
  • 克服 Windows 用户对象句柄限制

    我正在寻找在构建重量级 Windows 界面时处理用户对象句柄限制的高级策略 请解释您如何使用 SWT 或直接 Windows GUI API 克服或绕过此问题 我唯一不感兴趣的是优化小部件使用的策略 因为我已经广泛地这样做了 但它并没有解
  • 为什么 RefCell:borrow_mut 在短路布尔 AND (&&) 两侧使用时会导致 BorrowMutError?

    我为 leetcode 编写了这段代码同一棵树问题 https leetcode com problems same tree use std cell RefCell use std rc Rc Definition for a bina
  • 读取文本文件 - fopen 与 ifstream

    谷歌搜索文件输入我发现了两种从文件输入文本的方法 fopen 和 ifstream 下面是两个片段 我有一个文本文件 其中包含一行 其中包含一个我需要读入的整数 我应该使用 fopen 还是 ifstream 片段 1 FOPEN FILE
  • meld - gi.glib.GError:主题中不存在图标“meld-change-apply-right”。安装有什么问题吗?

    我已经成功安装了 meld 3 14 2 和所有依赖包 通过从源代码编译每个包 并且所有包都安装在 NFS 共享上 prefix meld对于融合工具 prefix meld deps对于依赖项 最后 我调用了该工具 我可以看到 GUI 但
  • 隐藏水平滚动条

    我的水平滚动条有问题 我不想让它出现 实际上它只显示在 Chrome 中 而不会显示在 Internet Explorer 中 我能做些什么 我尝试过修改 css 类中的宽度和填充 但这也会改变布局 测试中的内容是动态的 因此它可以垂直溢出
  • 将 Java 类和方法移植到 Android。 (文本布局、字体、Graphics2D 等)

    我一直在 Android 中尝试并尝试通过 Java 应用程序进行移植 以下是我遇到的一些问题 希望得到一些指导 这是一个相当大的问题 而是多个问题 然而 我并不是盲目地询问他们 因为我已经对他们进行了研究 并试图运用我的理解 我花时间提出
  • 在 SQL Server 中将 COALESCE (或类似的东西)与 GROUP BY 一起使用

    我认为我缺少一些关于如何有效使用 GROUP BY 消除冗余记录的基本知识 我不断遇到似乎需要使用 COALESCE 的地方 但据我所知 这不适用于 GROUP BY 示例 我有一个表 其中包含访问 ID 和访问帐单代码的每种组合以及其他有
  • 使用 Cobertura 和 Jacoco 运行代码覆盖率

    我在获取 Maven 插件项目 使用调用程序插件进行集成测试 的 Sonar 中的集成测试和单元测试的代码覆盖率报告时遇到了一些问题 我无法使用默认的 Jacoco 覆盖率工具进行单元测试 因为这些工具使用 Powermock 这会导致使用
  • 如何制作逆序的for循环?

    编者注 这个问题是在 Rust 1 0 发布之前提出的 引入了 范围 运算符 该问题的代码不再代表当前的风格 但下面的一些答案使用了适用于 Rust 1 0 及更高版本的代码 我当时正在玩Rust 示例网站 https rustbyexam
  • 在 DOS/Batch 中,08 小于 1,但 07 大于 1。为什么?

    在 DOS 批处理中 if 08 lss 1 echo true 与 真 相呼应 09也是如此 08和09都小于1 However if 07 lss 1 echo true 不回显任何内容 01至07不小于1 为什么 08年和09年有什么
  • WebGL 绘制图像

    我是 WebGL 新手 之前在 Java 中使用过 OpenGL 我一直在尝试编写一个简单的函数 该函数以特定的大小和旋转在特定位置绘制图像 但在网上搜索了一段时间后 我的代码仍然无法运行 目前 我已经成功绘制了图像 但是该图像距离正确的位
  • 如何监听Hyperledger Fabric中的事件(commit事件)?

    我们建立了一个结构服务器 并将一些事务放入其中 我们有一些应用程序将与结构服务器配合 这是一个情况 应用程序发送交易fabric sdk java or fabric sdk node 面料执行chaincode 结构通知应用程序结果 应用
  • python中函数的精确计时

    我正在 Windows 上用 python 编程 希望准确测量函数运行所需的时间 我编写了一个函数 time it 它接受另一个函数 运行它 并返回运行所花费的时间 def time it f args start time clock f
  • ORA-02270: 此列列表没有匹配的唯一键或主键

    我有一张表 结构是 CREATE TABLE COURSE ACCREDITED COURSE ID VARCHAR2 50 NOT NULL ENABLE ACCREDITATION BODY ID VARCHAR2 50 NOT NUL
  • 如何覆盖 Material-ui 的选项卡选择颜色?

    我正在使用 Materialui tabs 主题构建 React 16 13 0 应用程序 https material ui com api tab https material ui com api tab 我在我的组件中创建了这些样式
  • 张量流是否通过pdf传播梯度

    可以说 分布函数定义如下 dist tf contrib distributions Normal mu sigma 并从分布中抽取样本 val dist pdf x 并且该值在模型中用于预测变量 X hat f val loss tf n