首页 > 其他分享 >vqvae的loss计算

vqvae的loss计算

时间:2023-11-24 17:34:25浏览次数:31  
标签:loss vqvae torch encoder codebook 计算 求导 detach

loss = torch.mean((z_q.detach()-z)**2) + self.beta * torch.mean((z_q - z.detach()) ** 2) z_q是codebook 找到的最接近z的向量. z是encoder生成的向量. L对z求导 = 2(z_q.detach()-z)*(-1)=2(z - z_q.detach())     # 这个部分对于encoder做了训练. L对z_q求导=2(z_q - z.detach())                                       #这个部分对于codebook做了训练. 所以这个detach对于变量x虽然对x不求导,但是计算其他变量时候参与计算.   很早之前,在RVQ那篇文章里说到过,VQ-VAE中是通过在codebook中选择欧式距离最近的embedding对应的index作为离散token的。即其中涉及到argmin操作,该操作是不可导的。因此重建loss的梯度是无法传递到encoder网络的。 如果我们写成 loss= torch.mean((z-z_q)**2) 那么L对z_q求导=2(z_q-z) 对z求导=2(z_q-z)*(-1)=2(z-z_q). 这里面的两个导数是算不了的.因为argmin不可导. 导数没法从z_q传到变量x上.(x是输入网络参数) 所以我们只能用上面的方法来计算.   我们上面的方法. L对z求导 = 2(z_q.detach()-z)*(-1)=2(z - z_q.detach())     # 这个部分对于encoder做了训练.  L对z_q求导=2(z_q - z.detach())                                       #这个部分对于codebook做了训练. 我们再计算z_q 对x求导.即可. z是没法对x求导的.   参考这个: https://zhuanlan.zhihu.com/p/644091516  讲的很好.

标签:loss,vqvae,torch,encoder,codebook,计算,求导,detach
From: https://www.cnblogs.com/zhangbo2008/p/17854296.html

相关文章

  • 计算机教育中缺失的一课 课后习题1
    20231124链接:计算机教育中缺失的一课1.本课程需要使用类Unixshell,例如Bash或ZSH。如果您在Linux或者MacOS上面完成本课程的练习,则不需要做任何特殊的操作。如果您使用的是Windows,则您不应该使用cmd或是Powershell;您可以使用WindowsSubsystemforLinux或者是Linux......
  • 视频监控中的智能算法与计算机视觉技术
    智能视频监控是一种基于人工智能技术的监控系统,它能够通过对图像和视频数据进行分析,自动识别目标物体、判断其行为以及进行异常检测等功能,从而实现对场景的智能化监管。以下是常见的一些用于智能视频监控的算法:1、人脸识别技术人脸识别技术是智能监控中十分常见的智能分析技术......
  • 计算机网络Lab1
    计算机网络Lab1实验课程:计算机网络年级:大二实验成绩:实验名称:Lab1ProtocolLayer姓名:沈铭远实验编号:学号:10225101496实验日期:2023-11-24指导教师:王廷组号:实验时间:1.5h一、实验目的学习协议和分层如何在数据包中表示理解构建网络的关键理念和具体实......
  • 构建高效数据流转的 ETL 系统:数据库 + Serverless 函数计算的最佳实践
    作者|柳下概述随着企业规模和数据量的增长,数据的价值越来越受到重视。数据的变化和更新变得更加频繁和复杂,因此及时捕获和处理这些变化变得至关重要。为了满足这一需求,数据库CDC(ChangeDataCapture)技术应运而生。然而,从ETL架构的角度来看,CDC仅满足了数据的提取(Extract)能力。为......
  • 构建高效数据流转的 ETL 系统:数据库 + Serverless 函数计算的最佳实践
    作者|柳下概述随着企业规模和数据量的增长,数据的价值越来越受到重视。数据的变化和更新变得更加频繁和复杂,因此及时捕获和处理这些变化变得至关重要。为了满足这一需求,数据库CDC(ChangeDataCapture)技术应运而生。然而,从ETL架构的角度来看,CDC仅满足了数据的提取(Extract)能力。......
  • 加热时间温度瓦数计算
     (公式中不需要3600,计算单位参照如下所示)          P*T=M*t(温升)*比热容......
  • 函数计算的新征程:使用 Laf 构建 AI 知识库
    Laf已成功上架Sealos模板市场,可通过Laf应用模板来一键部署!这意味着Laf在私有化部署上的扩展性得到了极大的提升。Sealos作为一个功能强大的云操作系统,能够秒级创建多种高可用数据库,如MySQL、PostgreSQL、MongoDB和Redis等,也可以一键运行各种消息队列和微服务,甚至G......
  • 基于html5+javascript技术开发的房贷利率计算器,买房的码农们戳进来
    房贷计算器是一款专为购房者设计的实用工具应用,其主要功能是帮助用户详细计算房贷的还款金额、利息以及还款计划等。通过这款软件,用户可以更加便捷地了解到自己的还款情况和计划,从而更好地规划自己的财务。下面将对房贷计算器进行详细的介绍。体验地址房贷计算器体验地址关键代码<t......
  • #2023-2024-1 20231308 《计算机基础与程序设计》第九周学习总结
    2023-2024-120231308《计算机基础与程序设计》第九周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第九周作业这个作业的目标计算机科学概论第10,11章《C语言程序设计》第8章并完成......
  • 计算机基础了解
    计算机基础了解什么是计算机Computer:全称电子计算机,统称电脑按照程序运行,自动,高速处理海量数据的现代智能电子设备是由硬件和软件组成常见的有台式,笔记本,大型计算机等应用在:科学计算,人工智能,数据处理,网络等领域硬件一些物理装置按系统结构要求构成一个有机......