当前位置: 首页 > ds >正文

论文阅读HARIVO: Harnessing Text-to-Image Models for Video Generation

h-space对比损失(DC)的设计细节

目标:确保视频的所有帧在语义上保持一致(例如,同一视频中的不同帧应描述相同的主体和场景,避免物体突变或语义漂移)。

1. h-space的定义
  • h-space 是U-Net最深层的特征空间(bottleneck feature),已有研究表明它包含高层语义信息(如物体类别、场景结构),且对噪声步长(timestep)不敏感。
  • 论文假设:同一视频的所有帧在h-space中应彼此接近,而不同视频的帧应远离。
2. 损失函数设计(Decoupled Contrastive Loss)

采用解耦对比损失(Decoupled Contrastive Loss, DC),具体步骤如下:

  1. 正负样本构建

    • 正样本对:从同一视频中随机采样两帧,提取它们的h-space特征(记为 ( h ( 1 ) , h ( 2 ) \mathbf{h}^{(1)}, \mathbf{h}^{(2)} h(1),h(2)))。
    • 负样本队列:维护一个队列 ( Q ),存储其他视频的h-space特征作为负样本(动态更新)。
  2. 特征投影

    • 通过一个轻量级投影头 ( g θ ( g_\theta (gθ)(训练后丢弃),将h-space特征映射到低维空间:
      [ z = g θ ( h ) [\mathbf{z} = g_\theta(\mathbf{h}) [z=gθ(h)]
    • 目的是增强特征的判别性(类似SimCLR)。
  3. 损失计算

    • 对正样本对 ( ( z ( 1 ) , z ( 2 ) ) ( (\mathbf{z}^{(1)}, \mathbf{z}^{(2)}) ((z(1),z(2))),最小化它们的距离;对负样本 ( z ( q ) ∈ Q ( \mathbf{z}^{(q)} \in Q (z(q)Q),最大化距离。
    • 公式:
      [ L DC = − ⟨ z ( 1 ) , z ( 2 ) ⟩ τ + log ⁡ ∑ q ∈ Q exp ⁡ ( ⟨ z ( 1 ) , z ( q ) ⟩ τ ) [L_{\text{DC}} = -\frac{\langle \mathbf{z}^{(1)}, \mathbf{z}^{(2)} \rangle}{\tau} + \log \sum_{q \in Q} \exp\left(\frac{\langle \mathbf{z}^{(1)}, \mathbf{z}^{(q)} \rangle}{\tau}\right) [LDC=τz(1),z(2)+logqQexp(τz(1),z(q))]
      其中 ( τ = 0.1 ( \tau=0.1 (τ=0.1) 是温度系数, ( ⟨ ⋅ , ⋅ ⟩ ( \langle \cdot, \cdot \rangle (⟨,) 表示余弦相似度。
3. 关键设计动机
  • 解耦对比损失:相比传统对比损失(如InfoNCE),DC损失分离了正负样本的计算,缓解了负样本数量对梯度的影响,提升训练稳定性。
  • 非连续帧采样:正样本不限于相邻帧,因为h-space主要编码语义(而非运动细节),允许更大的时间跨度采样。
4. 实际效果
  • 通过约束h-space的一致性,模型能生成语义连贯的视频(如物体身份、场景布局稳定)。
  • 结合其他损失(如TRS损失),共同解决时间一致性问题。
伪代码示例
# 假设 h1, h2 是同一视频的两帧特征,queue 是负样本队列  
z1, z2 = projection_head(h1), projection_head(h2)  # 投影到低维空间  
pos_sim = torch.cosine_similarity(z1, z2, dim=-1)  # 正样本相似度  
neg_sims = torch.mm(z1, queue.t()) / temperature    # 负样本相似度  
loss = -pos_sim + torch.logsumexp(neg_sims, dim=-1)  

总结:DC损失通过对比学习显式约束视频帧的语义一致性,是HARIVO模型实现时间连贯性的核心组件之一。

http://www.xdnf.cn/news/895.html

相关文章:

  • 在线查看网站免费工具 wps, dps, et, ett, wpt 文件格式
  • 【LeetCode】1.两数之和
  • 关于springmvc的404问题的一种猜测解决方案
  • Unity接入安卓SDK(2)接入方式
  • class com.alibaba.fastjson.JSONObject cannot be cast to class
  • Docker 镜像、容器和 Docker Compose的区别
  • 使用PyTorch实现图像增广与模型训练实战
  • 版本控制利器——SVN简介
  • SVN权限配置及连接指南
  • 年化112.5%,最大回撤24.3%,卡玛比率4.62 | polars因子引擎重构完成(python源代码下载)
  • android的 framework 有哪些知识点和应用场景
  • 如何修复WordPress中“您所关注的链接已过期”的错误
  • uniapp打ios包
  • Spark_SQL
  • 第十四届蓝桥杯 2023 C/C++组 有奖问答
  • 算法 | 鲸鱼优化算法(WOA)原理,公式,应用,算法改进研究综述,完整matlab代码
  • 集成学习实际案例
  • 如何在量子计算时代保障 Sui 的安全性
  • C++模板进阶
  • 5.2.1 CallerMemberName的使用
  • Java 服务器端 jar 包内 class 文件替换与配置文件修改高级技术指南
  • SQL 使用 UPDATE FROM 语法进行更新
  • C++回溯算法详解
  • 在线查看【免费】vsd, vsdx/wmf, emf /psd, eps/pdf ,ofd, rtf/xmind/bpmn/eml/epub文件格式网
  • Elasticsearch插件:IDEA中的Elasticsearch开发利器
  • 【Unity笔记】Unity音视频播放监听器封装笔记:VideoPlayer + AudioSource事件触发与编辑器扩展
  • leetcode:LCP 01. 猜数字(python3解法)
  • 并发设计模式之双缓冲系统
  • 10天学会嵌入式技术之51单片机-day-4
  • 安装WSL2.0