位置: IT常识 - 正文

pytorch 笔记:torch.distributions 概率分布相关(更新中)(pytorch torch)

编辑:rootadmin
pytorch 笔记:torch.distributions 概率分布相关(更新中) 1 包介绍

推荐整理分享pytorch 笔记:torch.distributions 概率分布相关(更新中)(pytorch torch),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:pytorch1.5对应的torchvision,pytorch with torch.nograd,pytorch torch,pytorch torch.load,pytorch torchscript,pytorch torch,pytorch torchvision,pytorch torchvision,内容如对您有帮助,希望把文章链接给更多的朋友!

        torch.distributions包包含可参数化的概率分布和采样函数。 这允许构建用于优化的随机计算图和随机梯度估计器。

        不可能通过随机样本直接反向传播。 但是,有两种主要方法可以创建可以反向传播的代理函数。

这些是

评分函数估计量 score function estimato似然比估计量 likelihood ratio estimatorREINFORCE路径导数估计量 pathwise derivative estimator

REINFORCE 通常被视为强化学习中策略梯度方法的基础,

路径导数估计器常见于变分自编码器的重新参数化技巧中。

        虽然评分函数只需要样本 f(x)的值,但路径导数需要导数 f'(x)。、

1.1 REINFORCE

        我们以reinforce 为例:

        当概率密度函数关于其参数可微时,我们只需要 sample() 和 log_prob() 来实现 REINFORCE:

        

        其中θ是参数,α是学习率,r是奖励,是在状态s的时候,根据策略使用动作a的概率

        (这个也就是policy gradient)

强化学习笔记:Policy-based Approach_UQI-LIUWJ的博客-CSDN博客

         在实践中,我们会从网络的输出中采样一个动作,在一个环境中应用这个动作,然后使用 log_prob 构造一个等效的损失函数。

         对于分类策略,实现 REINFORCE 的代码如下:(这只是一个示意代码,跑不起来的)

probs = policy_network(state)#在状态state的时候,各个action的概率m = Categorical(probs)#分类概率action = m.sample()#采样一个actionnext_state, reward = env.step(action)#这里为了简化考虑,一个episode只有一个actionloss = -m.log_prob(action) * reward#m.log_prob(action) 就是 logp#reward就是前面的r#这里用负号是因为强化学习是梯度上升loss.backward()  2 包所涉及的类2.1 伯努利分布

torch.distributions.bernoulli.Bernoulli( probs=None, logits=None, validate_args=None)

        创建由 probs 或 logits(但不是两者同时)参数化的伯努利分布。

        样本是二进制的(0 或 1)。 它们取值 1 的概率为 p,取值 0 的概率为 1 - p。

2.1.1 参数probs (Number,Tensor) 采样概率logits (Number,Tensor) 采样的对数几率2.1.2 函数 & 属性sample()

采样,默认采样一个值

还可以按照shape 采样

entropy()

计算熵

enumerate_support()

返回包含离散分布支持的所有值的张量。 结果将在维度 0 上枚举

mean

均值

probs, logits两个输入的参数param_shape

参数的形状

variance

方差

2.2 贝塔分布torch.distributions.beta.Beta( concentration1, concentration0, validate_args=None)

由concentration 1 (α)和concentration 0 (β)参数化的 Beta 分布。

 2.2.1 函数采样

默认是采样一个值,也可以设置采样的维数

entropy

计算熵

rsample(sample_shape)pytorch 笔记:torch.distributions 概率分布相关(更新中)(pytorch torch)

如果分布参数是批处理的,则生成一个 sample_shape 形状的重新参数化样本或 sample_shape 形状的重新参数化样本批次。

注:生成Beta分布的时候,两个参数必须至少有一个是Tensor,否则rsample效果失效

mean,variance

均值 & 方差

 2.3 Chi2 分布torch.distributions.chi2.Chi2( df, validate_args=None)

 它只有sample一个函数 

2.4 连续伯努利

参数和伯努利很类似

torch.distributions.continuous_bernoulli.ContinuousBernoulli( probs=None, logits=None, lims=(0.499, 0.501), validate_args=None)

请注意,与伯努利不同,这里的“probs”不对应于伯努利的“probs”,这里的“logits”不对应于伯努利的“logits”,但由于与伯努利的相似性,使用了相同的名称。 

2.4.1 函数sample还是采样cdf

返回以 value 计算的累积概率密度函数。

icdf

返回以 value 计算的逆累积密度/质量函数。

entropy

还是计算熵

rsample

如果分布参数是批处理的,则生成一个 sample_shape 形状的重新参数化样本或 sample_shape 形状的重新参数化样本批次。

和前面Beta分布类似,只有创建时参数为Tensor,才会有rsample效果

mean,variance均值 方差 2.5 二项分布torch.distributions.binomial.Binomial( total_count=1, probs=None, logits=None, validate_args=None)

 

         创建由 total_count 和 probs 或 logits(但不是两者)参数化的二项分布。 total_count 必须可以用 probs/logits 广播。

2.5.1 函数&参数sample

采样

 

100被广播到0,0.2,0.8,1 所以每次相当于是四个二项分布

enumerate_support

返回包含离散分布支持的所有值的张量。 结果将在维度 0 上枚举

mean,variance

均值,方差

2.6  分类分布torch.distributions.categorical.Categorical( probs=None, logits=None, validate_args=None)

 样本是来{0,...,K−1} 的整数,其中 K 是 probs.size(-1)。

2.6.1 函数sample采样entropy

enumerate_support

返回包含离散分布支持的所有值的张量。 结果将在维度 0 上枚举

2.6.2 注意:

创建分类分布时候的Tensor中元素的和可以不是1,最后归一化到1即可

import torchimport mathm=torch.distributions.Categorical(torch.Tensor([1,2,4]))m.enumerate_support()#tensor([0, 1, 2])m.probs#tensor([0.1429, 0.2857, 0.5714])3 log_probs

很多分类都有这样一个函数log_probs,我们就统一说一下

假设m是一个torch的分类,那么m.log_prob(action)相当于

probs.log()[0][action.item()].unsqueeze(0)

(对这个action的概率添加log操作) 

import torchimport mathm=torch.distributions.Categorical(torch.Tensor([1,2,4]))m.enumerate_support()#tensor([0, 1, 2])a=m.sample()a#tensor(2)m.probs#tensor([0.1429, 0.2857, 0.5714])m.probs.log()#tensor([-1.9459, -1.2528, -0.5596])m.log_prob(a)#tensor(-0.5596)m.probs.log()[a.item()]#tensor(-0.5596)
本文链接地址:https://www.jiuchutong.com/zhishi/297674.html 转载请保留说明!

上一篇:Vue的安装及使用教程【超详细图文教程】(vue的安装步骤)

下一篇:Segment Anything Model (SAM)——卷起来了,那个号称分割一切的CV大模型他来了(segment anything model模型 需要的配置)

  • 苹果13mini怎么退出id(苹果13如何退出app)

    苹果13mini怎么退出id(苹果13如何退出app)

  • 抖音分期怎么还款(抖音分期怎么还一部分)

    抖音分期怎么还款(抖音分期怎么还一部分)

  • 荣耀20pro支持无线快充吗(荣耀20pro是否支持无线充电)

    荣耀20pro支持无线快充吗(荣耀20pro是否支持无线充电)

  • 抖音第一个视频多少播放量正常(抖音第一个视频应该怎么发)

    抖音第一个视频多少播放量正常(抖音第一个视频应该怎么发)

  • 抖音复制别人的视频怎么去掉抖音号(抖音复制别人的视频怎么去掉水印)

    抖音复制别人的视频怎么去掉抖音号(抖音复制别人的视频怎么去掉水印)

  • 微信群群主怎么删除隐身的人(微信群群主怎么改群员昵称)

    微信群群主怎么删除隐身的人(微信群群主怎么改群员昵称)

  • qq群举报怎么撤回(qq群举报如何撤销)

    qq群举报怎么撤回(qq群举报如何撤销)

  • qq隐藏会话有什么用(qq隐藏会话什么意思显示消息吗)

    qq隐藏会话有什么用(qq隐藏会话什么意思显示消息吗)

  • 钉钉如何发大于5分钟的视频(钉钉如何发大于5分钟的语音)

    钉钉如何发大于5分钟的视频(钉钉如何发大于5分钟的语音)

  • 京东代付的钱退到哪里(京东代付的钱退给谁)

    京东代付的钱退到哪里(京东代付的钱退给谁)

  • 苹果智能手表能和安卓手机搭配使用吗(苹果智能手表能用几年)

    苹果智能手表能和安卓手机搭配使用吗(苹果智能手表能用几年)

  • 激活锁是什么(激活锁是什么玩意儿)

    激活锁是什么(激活锁是什么玩意儿)

  • 卖家已经发货了我要退款怎么办(卖家已经发货了可以改地址吗)

    卖家已经发货了我要退款怎么办(卖家已经发货了可以改地址吗)

  • iphone x录屏在哪里(iphonex录屏在哪儿开)

    iphone x录屏在哪里(iphonex录屏在哪儿开)

  • 手机基带坏了什么症状(手机基带坏了还能用吗)

    手机基带坏了什么症状(手机基带坏了还能用吗)

  • qq安全邮箱是多少(qq安全邮箱格式怎么写的)

    qq安全邮箱是多少(qq安全邮箱格式怎么写的)

  • 三星手机里的照片怎么转移到U盘(三星手机里的照片怎么传到苹果手机)

    三星手机里的照片怎么转移到U盘(三星手机里的照片怎么传到苹果手机)

  • 电脑视频聊天没声音如何弄(电脑视频聊天没有画面只有声音怎么回事)

    电脑视频聊天没声音如何弄(电脑视频聊天没有画面只有声音怎么回事)

  • 苹果Macbook Pro分辨率怎么调想把屏幕上的字体显示变大小(苹果macbookpro分辨率是多少)

    苹果Macbook Pro分辨率怎么调想把屏幕上的字体显示变大小(苹果macbookpro分辨率是多少)

  • 鸿蒙系统桌面布局怎么设置?鸿蒙系统桌面布局好看的方法(鸿蒙系统桌面布局图片怎么设置)

    鸿蒙系统桌面布局怎么设置?鸿蒙系统桌面布局好看的方法(鸿蒙系统桌面布局图片怎么设置)

  • 解决 WebStorm 2022.3.x 无法识别 Element UI 2.15.11 新版本中的 el-xxx 标签问题(解决科学文化领域的矛盾应坚持的方针是)

    解决 WebStorm 2022.3.x 无法识别 Element UI 2.15.11 新版本中的 el-xxx 标签问题(解决科学文化领域的矛盾应坚持的方针是)

  • 需要考虑的税务问题
  • 财税通财务软件怎么下载
  • 安全生产费用怎么入账
  • 减免的增值税如何计算
  • 资产超过5000万的企业所得税税率
  • 发票勾选比账上多
  • 对公账户汇款方式
  • 发票预付款充值卡是否报销
  • 小规模按季申报 月销售收入不超过
  • 油费补贴是否计入个税
  • 商业汇票贴现怎么做
  • 公司存款利率
  • 现金折扣是否可抵税
  • 销售货物物流公司丢件赔偿会计分录
  • 租赁费交税税率是多少
  • 小规模季度销售超过30万怎么纳税
  • 增值税专用发票的税率是多少啊
  • 税务局拍卖资产
  • 请问什么是全员安全生产责任制
  • 企业税前扣除凭证包括以下哪些方面
  • 施工现场应建立什么
  • 增值税一般项目是指什么
  • 地税定额发票还要交税吗
  • 出售单位车辆如何处理业务?
  • windowsserver2003设置用户密码
  • 购买货车预付保险怎么算
  • 单位给个人报销计入什么科目
  • 无法设置系统更新的原因
  • 克罗地亚佩列沙茨
  • linux传输数据
  • 子公司之间交易抵消
  • 小米路由器开启ssh后怎么安装插件
  • 资产减值的会计政策
  • 薏米红豆粥的做法视频
  • 笔记本电池消耗大怎么办
  • 奥维尔的瓦兹河岸
  • 出口退税的期限是多长
  • 股票印花税和佣金的关系
  • 持有至到期投资科目被取消了吗
  • 印花税减半征收优惠政策2020
  • 财务费用的核算属于什么业务
  • HTML常用的表单控件有哪些
  • 自学前端,你必做的事
  • mysql主从同步的优点
  • 番茄开发票属于蔬菜吗?
  • 员工领了备用金怎么办
  • 电子承兑没到期可以提示付款吗
  • 承典人是什么意思
  • 以前年度损益调整怎么做账
  • 闲置土地属于哪个部门
  • 暂估入库的库存商品转成本吗
  • 已付款但未收到发票怎样记账
  • 员工在工伤
  • 应付利息的主要方式
  • 员工宿舍发生事故赔偿吗
  • 自己生产的产品用于在建工程
  • 公司购买车
  • 旧设备投资的账务处理
  • 企业的研发活动阶段包括
  • 应收账款怎样记账
  • mysql单表10亿
  • win7怎么更改音频输出
  • macbookpro蓝牙找不到
  • 怎么在VMware上玩LOL
  • Win7电脑自动关机是什么原因
  • ie无法打开https
  • 系统自带邮件
  • ExtJS 2.0实用简明教程 之ExtJS版的Hello
  • unity3ds
  • node:js
  • vue中使用ajax
  • javascript基于什么的语言
  • linux命令行怎么用
  • Python 正则表达式入门(初级篇)
  • APP中javascript+css3实现下拉刷新效果
  • android数据存储实验报告
  • 北京市税务总局官网
  • 12366纳税服务热线
  • 深圳公寓出售要交什么税
  • 车辆购置税查询电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设