【大模型系列】LanguageBind(ICLR2024.01)

server/2024/9/18 12:19:31/ 标签: 人工智能, 深度学习, 大模型

在这里插入图片描述

  • Paper:https://arxiv.org/abs/2310.01852
  • Github:https://github.com/PKU-YuanGroup/LanguageBind
  • Huggingface:https://huggingface.co/spaces/LanguageBind/LanguageBind
  • Author:Bin Zhu et al. 北大袁粒团队

文章目录

  • 1 LanguageBind总结(省流版)
    • 1.1 LanguageBind是什么?
    • 1.2 LanguageBind能干什么?
      • 1.2.1 Zero-shot X-Language classification
      • 1.2.2 Zero-shot X-Language retrieval
  • 2 Method
  • 3 VIDAL-10M
  • 4 训练细节
  • 参考资料

核心工作:
● 提出一个LanguageBind框架,将多种模态都映射到一个共享特征空间,实现多模态语义对齐;
● 开源了一个VIDAL-10M数据集,包含Video、Infrared、Depth、Audio、Language;短视频。

1 LanguageBind总结(省流版)

1.1 LanguageBind是什么?

LanguageBind是北大袁粒团队提出的一个多模态语义对其的方法,通过将各种模态(图像、视频、红外、音频、深度)映射到一个共享的特征空间,与文本实现对齐。同时该论文还开源了一个VIDAL-10M的数据集,包含多种模态(≥3)的数据。

1.2 LanguageBind能干什么?

与CLIP类似,CLIP只对齐了图像和文本,而LanguageBind对齐了更多的模态,可以看成是CLIP的加强版。

1.2.1 Zero-shot X-Language classification

零样本分类,即根据文本对图像、视频、音频等进行分类。

1.2.2 Zero-shot X-Language retrieval

零样本检索,即根据文本检索图像、视频、音频等;

2 Method

在这里插入图片描述
LanguageBind的三个部分:

  • Multi-modal encoders: LoRA微调
    • 24-layers、1024 dimension ViT/14,OpenCLIP-Large初始化;
    • Depth和infra数据在维度上复制3次,当作RGB数据处理
    • Audio数据被转换成10s音频数据的频谱图,最后在channel复制3次,少于10s用0补全,超过10s做裁剪;
  • Language encoder: 参数冻结
    • 12-transformers、768-dimension的OpenCLIP
    • 文本tokenizer:BPE tokenizer
  • Multi-modal joint learning:各模态与text进行contrastive learnin

3 VIDAL-10M

在这里插入图片描述
VIDAL-10M数据集:

  • video-text pairs:3M(Youtube shorts:根据搜索词下载、过滤)
  • audio-text pairs:1M(Freesound:根据搜索词下载、过滤)
  • infrared-text pairs:3M(sRGB-TIR:生成视频关键帧对应的红外数据)
  • depth-text pairs:3M(GLPN:生成视频关键帧对应的深度数据)

4 训练细节

  • epoch:LoRA,3epoch
  • batchsize:1024
  • Rank of LoRA:2(增大性能反而会下降)
  • temperature for loss:0.07
  • masked ratio:0.5

参考资料

[1] 自然语言模型(LM)之Tokenizer的介绍(1)–BPE


http://www.ppmy.cn/server/95591.html

相关文章

A*搜索算法 双向A*搜索算法 Julia实现

算法概述 抽象的在非负有向边权图 G ( V , E , W ) , W : E → R G (V, E, W), W: E \to \mathbb{R} G(V,E,W),W:E→R 上的 BFS 过程可以看作这样: (1) 设 C C C 点集表示已遍历的点, ∀ n ∈ C , d ( n ) \forall n \in C, d(n) ∀n∈C,d(n) 表示…

机械学习—零基础学习日志(高数20——洛必达法则)

零基础为了学人工智能,真的开始复习高数 这里讲解一个历史,洛必达法则其实并不是洛必达想出来的,洛必达整理了第一本微积分的书籍,是真正的知识传播者。洛必达法则是洛必达从伯努利哪里买过来的,并结合了莱布尼兹的论…

指标一致化处理

什么是数据指标 数据指标有别于传统意义上的统计指标,它是通过对数据进行分析得到的一个汇总结果,是将业务单元精分和量化后的度量值,使得业务目标可描述、可度量、可拆解。 数据指标有哪些类型 极大型:期望取值越大越好; 极小…

图论:1203. 项目管理(以小组为单位进行拓扑排序)

文章目录 1.问题分析2.思路整理3.官解思路 LeetCode:1203. 项目管理 建议直接看思路整理 1.问题分析 仔细读题可以发现,如果不考虑小组项目彼此相邻,则项目之间的依赖关系就是一个拓扑排序。 但是如果要考虑小组项目彼此相邻,问…

node_exporter

目录 指标详解常用指标 指标详解 指标描述node_arp_entriesARP(Address Resolution Protocol)表中的条目数量,用于将IP地址映射到MAC地址。node_boot_time_seconds系统启动时间的Unix时间戳,表示从1970年1月1日以来的秒数。node…

吴恩达机器学习L1W3L06-逻辑回归的梯度下降

目标 在本实验室,你可以看到 更新逻辑回归的梯度下降。在一个熟悉的数据集上探索梯度下降 import copy, math import numpy as np %matplotlib widget import matplotlib.pyplot as plt from lab_utils_common import dlc, plot_data, plt_tumor_data, sigmoid,…

学习笔记-JWT 保持登录状态

目录 一、解析 token 1. 在 JWT 工具类添加解析 token 的方法 2. 在 Controller 添加获取用户数据的方法 二、获取用户信息 1. 发起 axios 请求用户信息 2. 在路由守卫中调用方法 3. 使用 三、token 时效性 1. 设置 token 过期时间 2. 判断 token 是否过期 3. 在拦截…

TiKV Raft 快照全流程丨TiKV 源码解读(二十二)

导读 TiKV 是一个支持事务的分布式 Key-Value 数据库,目前已经是 CNCF 基金会的顶级项目。它通过 Raft 协议实现数据的高可用性和强一致性,是 TiDB 分布式数据库系统的重要组成部分。本文作为 TiKV 源码解读系列的增补,详细介绍了 TiKV 8.2.…

小天与数据分析的不解之缘7——大数据的处理

在深入探索了机器学习之后,小天发现了数据分析领域中更为庞大的一个分支——大数据技术。在一次数据分析项目中,小天意识到传统的数据库和数据处理工具已经无法高效处理和分析公司日益增长的海量数据。他决定主动学习大数据技术,提升自己的数…

【Verilog-CBB】开发与验证(4)——RS前向打拍器

引言 我们知道时序路径的建立时间收敛依赖于触发器之间的组合逻辑延迟,以及时钟周期。对于一个确定的设计一般来说,时钟频率不会有太多的让步,因此修时序的时候主要发力点就是减小触发器之间组合逻辑延迟。一方面可以通过组合逻辑优化来降低…

Python数据分析案例57——信贷风控模型预测评估及其可解释性(shap, scorecardpy包应用)

案例背景 在信贷风控场景下,其实模型的可解释性就变得很重要。在平时做一些普通的机器学习的案例的时候,我们根本不关心这些变量是怎么究竟影响到模型最后的决策的,随便直接把数据丢进去,再把要预测的数据丢进去就能出结果。但是…

unity2D游戏开发17战斗精灵

导入 将PlayerFight32x32.png拖Player文件夹进去 设置属性 创建动画剪辑 选中前四帧,右键Create|Animation,将动画命名为player-ire-east 其他几个动画也创建好后,将其拖到Animations|Animations文件夹 选中PlayerController,再点击Animator 创建新的Blend Tree Graph,并重…

JavaScript--正则表达式

正则表达式 调用者: 正则表达式 参数: 字符串文本 返回值: 布尔值 功能: 判断字符串文本是否符合格式 目录 正则表达式 学习正则表达式的语法: 一) 内部类 1. 简单类 (允许字符串文本长度比正则格…

2025浙江(杭州)国际安防产品展览会(浙江安博会)

2025浙江(杭州)国际智慧城市与安防产品展览会 2025hangzhou smart city And Security Expo 时间:2025年4月23-25日 地点:杭州国际博览中心 展会介绍 浙江(杭州)国际智慧城市及安防产品博览会(简称:浙江安博会&#…

「Unity3D」自动布局LayoutElement、ContentSizeFitter、AspectRatioFitter、GridLayoutGroup

布局元素与布局控制器 布局元素实现ILayoutElement接口,布局控制器实现ILayoutController接口,后者根据前者的属性控制具体布局——有些布局控制器也是布局元素,即同时实现这两个接口,如LayoutGroup。 public interface ILayout…

VMWare虚拟机如何连接U盘

检查配置 1)Win R键,输入services.msc,打开服务。 2)将AMware USB Arbitration Services 服务开启,并设置为自动启动; 连接U盘 目前作者了解有两种连接方式,如有其他连接方式,欢…

SQL中的窗口函数

1.窗口函数简介 窗口函数是SQL中的一项高级特性,用于在不改变查询结果集行数的情况下,对每一行执行聚合计算或者其他复杂的计算,也就是说窗口函数可以跨行计算,可以扫描所有的行,并把结果填到每一行中。这些函数通常与…

Maven进阶

1.pom.xml文件 就像 Make 的 MakeFile、Ant 的 build.xml 一样,Maven 项目的核心是 pom.xml。POM( Project Object Model,项目对象模型 ) 定义了项目的基本信息,用于描述项目如何构建、声明项目依赖等。 2.坐标 2.1.坐标的概念 在 Maven …

java计算机毕设课设—网上招聘系统(附源码、文章、相关截图、部署视频)

这是什么系统? java计算机毕设课设—网上招聘系统(附源码、文章、相关截图、部署视频) 网上招聘系统的设计与实现旨在提供一个便捷、高效的在线平台,使个人求职者和公司能够有效地进行职位申请和人才招聘。该系统特别设计了两种…

实现数组扁平化的几种方式

目标: 实现数组扁平化[1,[2,[3,4,5]]] > [1,2,3,4,5] 我们有几种方法可以实现,分别为: 1、递归 function flatten(list){return list.reduce((tar, cur) > {if(Array.isArray(cur)){tar tar.concat(flatten(cur));} else {tar.push(cur);}return tar;}, []); } flatt…