Category: AI项目和框架

AI工具集介绍和收录了当前流行的AI研究项目和框架,紧跟最新AI领域的进展,解读AI研究论文和方法框架,帮你快速了解这些项目的工作原理。

  • Snap Video – Snapchat公司推出的AI视频生成模型

    Snap Video是什么

    Snap Video是由Snap(社交媒体Snapchat所属的公司)研究团队开发的一个AI视频生成模型,目标是通过文本描述来合成视频,即用户可以输入一段描述性的文本,模型能够根据这段文本生成相应的视频内容。由于视频内容具有高度的冗余性和复杂性,Snap Video旨在解决从文本描述生成高质量、时间上连贯、高运动保真度的视频的挑战。用户研究显示,Snap Video与Pika、Runway Gen-2等视频生成模型相比毫不逊色甚至效果更好。

    Snap Video

    Snap Video的官网入口

    Snap Video的主要特点

    • 视频优先模型:Snap Video是专门为视频内容生成设计的模型,在处理视频的时间连续性和运动方面进行了特别的优化。这与许多其他模型不同,后者通常是从图像生成模型扩展而来,可能在处理视频时存在局限性。
    • 扩展的EDM框架:该模型扩展了EDM框架,使其能够更好地处理视频数据的空间和时间冗余,从而提高视频生成的质量。
    • 高效的Transformer架构:Snap Video采用了基于Transformer的FIT架构,在处理序列数据和捕捉长期依赖关系方面非常有效,尤其是在视频生成任务和处理高分辨率视频中。
    • 快速训练和推理:与U-Net等传统架构相比,Snap Video的训练和推理速度更快,能够更高效地生成视频。
    • 高分辨率视频生成:Snap Video能够生成高分辨率的视频内容,这在以往的文本到视频生成模型中是一个挑战,因为需要处理更多的细节和复杂的运动。
    • 联合空间-时间建模:Snap Video通过联合空间和时间维度的建模,能够生成具有复杂运动和高时间一致性的视频。

    Snap Video的技术架构

    • 扩展的EDM框架:Snap Video对EDM框架进行了扩展,以适应高分辨率视频的生成。EDM框架原本用于图像生成,通过模拟数据的扩散过程来生成新的数据样本。Snap Video通过引入输入缩放因子(σin),调整了EDM的正向扩散过程,以保持原始分辨率下的信噪比(SNR),从而在高分辨率视频生成中保持了性能。
    • 变换器架构:Snap Video采用了基于变换器(Transformer)的架构,这是一种高效的深度学习模型,特别适合处理序列数据。变换器通过自注意力机制(Self-Attention)和跨注意力机制(Cross-Attention)来捕捉输入数据中的全局依赖关系。在Snap Video中,变换器被用来处理视频帧,以生成具有连贯运动的视频。
    • FIT架构:Snap Video使用了FIT(Far-reaching Interleaved Transformers)架构,这是一种专门为高分辨率图像和视频合成设计的变换器架构。FIT通过学习输入数据的压缩表示,并在可学习的潜在空间上执行计算,从而允许输入维度的增长而不会显著影响性能。这种压缩表示使得Snap Video能够有效地处理高分辨率视频数据。
      Snap Video FIT架构
    • 联合空间-时间建模:Snap Video在生成视频时,同时考虑空间和时间维度,这有助于捕捉视频中的动态变化和运动。这种联合建模策略提高了视频的时间一致性和运动质量。
    • 两阶段级联模型:为了生成高分辨率视频,Snap Video采用了两阶段级联模型。第一阶段模型生成低分辨率的视频,第二阶段模型则将这些视频上采样到更高的分辨率。这种级联方法允许模型在保持性能的同时生成高质量的视频。
    • 训练和推理过程:Snap Video在训练过程中使用了LAMB优化器,并采用了余弦学习率调度。在推理过程中,模型使用确定性采样器从高斯噪声中生成视频样本,并应用分类器自由引导(Classifier-Free Guidance)来提高文本-视频对齐。
    • 条件信息:Snap Video在生成过程中利用了条件信息,如文本描述、噪声水平、帧率和分辨率,这些信息通过额外的读取操作提供给模型,以控制生成过程。
  • MeloTTS – MyShell AI推出的多语言文本到语音转换工具

    MeloTTS是什么

    MeloTTS 是一个由 MyShell AI 开发的开源的高质量多语言文本转语音(TTS)库,能够将文本转换成自然流畅的语音输出,支持多种语言,包括但不限于英语(包括不同口音,如美式、英式、印度式和澳大利亚式英语)、西班牙语、法语、中文、日语和韩语。MeloTTS 的语音合成速度非常快,即使在没有 GPU 加速的普通 CPU 上也能实现实时语音合成,生成如真人般高质量、自然流畅的语音输出。

    MeloTTS

    MeloTTS的官网入口

    MeloTTS

    MeloTTS的主要功能

    • 多语言支持:MeloTTS 能够处理多种语言的文本转语音任务,包括英语、西班牙语、法语、中文、日语和韩语等,支持不同的口音和语言环境。
    • 中英混合发音:MeloTTS 特别针对中文用户,支持中英文混合发音,可以处理包含英文单词的中文文本,这对于多语言交流和国际化应用场景非常有用。
    • 实时语音合成:MeloTTS 经过优化,即使在没有 GPU 加速的普通 CPU 上也能实现实时语音合成,这为用户提供了更加便捷和高效的体验。
    • 高质量语音输出:MeloTTS 旨在生成高质量的语音输出,保持语音的自然度和清晰度,使得合成的语音听起来更加真实和自然。
    • 易于安装和使用:MeloTTS 提供了简单的安装指南和 Python API,用户可以在 Linux、macOS、Windows、Docker等系统环境中轻松安装 MeloTTS。

    如何本地安装和使用MeloTTS

    对于Linux和macOS电脑,首先确认已安装Python 3,然后使用以下命令安装和运行MeloTTS:

    pip install melotts
    python -m unidic download
    python melo/app.py

    对于Docker环境(Windows、macOS),依次在终端输入以下命令进行安装和运行:

    git clone https://github.com/myshell-ai/MeloTTS.git
    cd MeloTTS
    docker build -t melotts . 
    docker run --gpus all -it -p 8888:8888 melotts
  • StarCoder 2 – BigCode推出的第二代开源代码大模型

    StarCoder 2是什么

    StarCoder 2是由BigCode项目(Hugging Face和ServiceNow支持)联合Nvidia的团队开发的新一代大型代码语言模型,使用来自 The Stack v2 数据集的 3.3 至 4.3 万亿个代码 token 进行训练,包含 600 多种编程语言,旨在为代码补全、编辑和推理任务提供强大的支持。该系列模型在前一代StarCoder模型的基础上进一步扩展和改进而来,提供了不同规模的模型,包括3B(30亿参数)、7B(70亿参数)和15B(150亿参数)参数的版本。

    StarCoder 2

    StarCoder 2的官网入口

    StarCoder 2的主要特点

    • 大规模训练数据集:StarCoder2的训练数据集(The Stack v2)基于Software Heritage(提供代码存档服务的非营利组织)的源代码存档,这是一个包含超过600种编程语言的庞大代码库。此外,还整合了其他高质量的数据源,如GitHub Pull Requests、Kaggle和Jupter Notebook代码文档,使得训练集比第一代StarCoder大4倍。
      The Stack v2数据集
    • 多样化的模型规模:StarCoder2提供了不同规模的模型,包括3B(30亿参数)、7B(70亿参数)和15B(150亿参数)参数的版本,以适应不同的应用需求和资源限制。
    • 高性能表现:在多个代码LLM基准测试中,StarCoder 2的模型在代码补全、编辑和推理任务上表现出色,尤其是在类似规模的其他模型(如DeepSeekCoder、StableCode、CodeLlama等)中,StarCoder2-3B和StarCoder2-15B都显示出了领先的性能。
      StarCoder 2 MultiPL-E基准测试
    • 开放和透明:StarCoder 2的模型权重在OpenRAIL许可下发布,确保了训练数据的完全透明度。允许研究人员和开发者独立审计模型,并在遵守许可协议的前提下自由使用。
    • 负责任的开发实践:StarCoder 2的开发遵循负责任的AI原则,包括对个人隐私的保护、安全性考虑,以及对潜在的社会偏见和代表性偏见的警觉。

    StarCoder 2的功能特性

    • 代码补全:StarCoder 2能够为开发者提供代码补全建议,帮助他们更快地编写和优化代码。这包括自动完成代码片段、函数和类的定义等。
    • 代码编辑和重构:模型可以协助开发者进行代码编辑,包括修复错误、改进代码结构和风格,以及执行代码重构任务。
    • 代码推理:StarCoder 2具备理解代码逻辑和执行代码推理的能力,可以处理更复杂的编程任务,如理解代码的预期行为并生成相应的代码。
    • 跨语言支持:由于训练数据集包含了多种编程语言,StarCoder 2能够支持多种语言的代码生成和理解,这使得它在多语言项目中特别有用。
    • 交互式编程辅助:StarCoder 2可以作为交互式编程助手,通过自然语言与开发者交流,理解他们的意图并提供相应的代码解决方案。
    • 文档和注释生成:模型还能够根据代码内容自动生成文档和注释,帮助开发者更好地理解和维护代码。
    • 安全性和隐私保护:StarCoder 2在设计时考虑了安全性和隐私保护,能够避免在生成的代码中包含敏感信息,并减少潜在的安全漏洞。
    • 开放和可审计性:StarCoder 2的模型权重和训练数据是开放的,允许研究人员和开发者进行审计,确保模型的透明度和可信赖性。
  • EMO – 阿里推出的AI肖像视频生成框架

    EMO是什么

    EMO(Emote Portrait Alive)是一个由阿里巴巴集团智能计算研究院的研究人员开发的框架,一个音频驱动的AI肖像视频生成系统,能够通过输入单一的参考图像和语音音频,生成具有表现力的面部表情和各种头部姿势的视频。该系统能够捕捉到人类表情的细微差别和个体面部风格的多样性,从而生成高度逼真和富有表现力的动画。

    EMO框架

    EMO的官网入口

    EMO生成肖像视频

    EMO的主要特点

    • 音频驱动的视频生成:EMO能够根据输入的音频(如说话或唱歌)直接生成视频,无需依赖于预先录制的视频片段或3D面部模型。
    • 高表现力和逼真度:EMO生成的视频具有高度的表现力,能够捕捉并再现人类面部表情的细微差别,包括微妙的微表情,以及与音频节奏相匹配的头部运动。
    • 无缝帧过渡:EMO确保视频帧之间的过渡自然流畅,避免了面部扭曲或帧间抖动的问题,从而提高了视频的整体质量。
    • 身份保持:通过FrameEncoding模块,EMO能够在视频生成过程中保持角色身份的一致性,确保角色的外观与输入的参考图像保持一致。
    • 稳定的控制机制:EMO采用了速度控制器和面部区域控制器等稳定控制机制,以增强视频生成过程中的稳定性,避免视频崩溃等问题。
    • 灵活的视频时长:EMO可以根据输入音频的长度生成任意时长的视频,为用户提供了灵活的创作空间。
    • 跨语言和跨风格:EMO的训练数据集涵盖了多种语言和风格,包括中文和英文,以及现实主义、动漫和3D风格,这使得EMO能够适应不同的文化和艺术风格。

    EMO的工作原理

    EMO的工作原理

    1. 输入准备:用户提供一个参考图像(通常是目标角色的静态肖像)和相应的音频输入(如说话或唱歌的声音)。这些输入将作为生成视频的基础。
    2. 特征提取:使用ReferenceNet从参考图像中提取特征。ReferenceNet是一个与主网络(Backbone Network)结构相似的网络,它专注于从输入图像中提取详细的特征。
    3. 音频处理:音频输入通过预训练的音频编码器处理,以提取音频特征。这些特征捕捉了语音的节奏、音调和发音等信息,这些信息将用来驱动视频中角色的面部表情和头部动作。
    4. 扩散过程:在扩散过程中,主网络接收多帧噪声作为输入,并尝试在每个时间步骤中将这些噪声去噪成连续的视频帧。这个过程涉及到两个主要的注意力机制:Reference-Attention和Audio-Attention。Reference-Attention用于保持角色身份的一致性,而Audio-Attention则用于调制角色的动作。
    5. 时间模块:为了处理时间维度并调整动作的速度,EMO使用了时间模块。这些模块通过自注意力机制在帧内的特征上操作,以捕捉视频的动态内容,并确保连续帧之间的连贯性和一致性。
    6. 面部定位和速度控制:为了确保生成的角色动作的稳定性和可控性,EMO使用了面部定位器(Face Locator)和速度层(Speed Layers)。面部定位器通过轻量级卷积层编码面部边界框区域,而速度层则通过将头部旋转速度嵌入到生成过程中来控制动作的速度和频率。
    7. 训练策略:EMO的训练分为三个阶段:图像预训练、视频训练和速度层集成。在图像预训练阶段,主网络和ReferenceNet从单帧图像中学习。在视频训练阶段,引入时间模块和音频层,以处理连续帧。最后,在速度层集成阶段,只训练时间模块和速度层,以确保音频对角色动作的驱动能力。
    8. 生成视频:在推理阶段,EMO使用DDIM采样算法生成视频片段。通过迭代去噪过程,最终生成与输入音频同步的肖像视频。
  • ChatMusician – 可理解和生成音乐的大模型

    ChatMusician是什么

    ChatMusician是由Multimodal Art Projection Research Community、Skywork AI和香港科技大学的研究人员推出的,一个开源的用于理解和生成音乐的大型语言模型。该模型基于 LLaMA2 模型持续预训练和微调开发,使用 ABC 记谱法(一种与文本兼容的音乐表示法)来处理音乐,将音乐视为一种语言。ChatMusician的独特之处在于它能够在不依赖外部多模态神经结构或分词器的情况下,仅使用纯文本分词器来理解和创作音乐。

    ChatMusician

    ChatMusician的主要功能

    • 音乐理解和分析
      • 音乐理论问题回答:ChatMusician能够回答关于音乐理论的复杂问题,这些问题可能涉及和弦、旋律、节奏、音乐形式等。
      • 音乐形式分析:模型能够识别和分析音乐作品的结构,如二部、三部曲式等。
      • 音乐动机提取:ChatMusician可以从音乐作品中提取主要的音乐动机,并理解其在作品中的作用。
    • 音乐生成和创作
      • 和弦创作:根据给定的和弦序列,ChatMusician能够创作出流畅的和弦进行。
      • 旋律创作:模型能够基于给定的和弦或音乐形式创作旋律。
      • 音乐形式创作:ChatMusician能够创作具有特定音乐形式(如奏鸣曲式、回旋曲式等)的音乐作品。
      • 音乐风格模仿:模型能够模仿特定音乐家的风格,如巴赫风格,创作新的音乐作品。
    • 音乐与文本的交互
      • 音乐知识问答:ChatMusician能够理解和回答关于音乐知识的提问,如音乐术语、历史、乐器特性等。
      • 音乐创作指导:模型可以提供音乐创作过程中的指导,如建议和弦进行、旋律发展等。

    ChatMusician生成巴赫风格的音乐

    ChatMusician的技术原理

    • 大语言模型(LLM)ChatMusician 基于如 LLaMA2 这样的大型预训练模型,这些模型通过在大量文本数据上进行预训练,学习语言的结构、语法和语义。
    • 音乐表示法(ABC Notation)为了使模型能够处理音乐数据,ChatMusician 使用 ABC 记谱法,这是一种将音乐符号转换为文本格式的记谱系统。ABC 记谱法的文本表示法允许音乐数据以类似于自然语言文本的形式输入到模型中,使得模型能够利用其在文本处理上的能力来理解和生成音乐。

      常见的音乐表示方法

      常见的音乐表示方法

    • 持续预训练和微调在预训练阶段,模型在多样化的文本数据集上学习语言的通用表示。在微调阶段,模型在特定的音乐任务上进行训练,以适应音乐理解和生成的需求,包括处理音乐理论知识、和弦进行、旋律创作等。
    • 多任务学习ChatMusician 通过多任务学习(MTL)来同时处理音乐理解和音乐生成任务,允许模型在不同任务之间共享知识,提高整体性能。
    • 音乐理论基准测试为了评估模型在音乐理解方面的能力,研究者们开发了 MusicTheoryBench,一个专门针对音乐理论问题的基准测试。通过这个基准测试,ChatMusician 的音乐理解能力得到了验证,特别是在音乐知识、音乐推理和音乐形式分析方面。
    • 数据集构建为了训练和评估 ChatMusician,研究者们构建了专门的音乐-语言语料库 MusicPile,以及 MusicTheoryBench 音乐理解基准测试。这些数据集包含了音乐知识问答对、音乐记谱、音乐摘要等,为模型提供了丰富的音乐和语言信息。
  • OpenCodeInterpreter – 开源的代码解释器,可生成和执行代码

    OpenCodeInterpreter是什么

    OpenCodeInterpreter是一个开源的代码解释器系统,旨在通过利用大模型结合代码生成、执行和迭代精炼的能力,可以辅助开发者在软件开发过程中生成、测试和优化代码,从而提高开发效率和代码质量。OpenCodeInterpreter在具有 68K 多轮交互的数据集 Code-Feedback 的支持下,集成了执行和人工反馈以实现动态代码细化,以解决开源模型通常缺乏 GPT-4 代码解释器等高级系统的执行能力和迭代细化。

    OpenCodeInterpreter

    OpenCodeInterpreter的官网入口

    OpenCodeInterpreter的主要功能

    • 代码生成:OpenCodeInterpreter 能够根据用户提供的自然语言描述自动生成相应的代码。这是通过训练大型语言模型(LLMs)在大量代码语料库上实现的,使得模型能够理解和转换用户的意图为具体的编程指令。
    • 代码执行:与其他仅生成代码的系统不同,OpenCodeInterpreter 还具备执行生成代码的能力。它可以直接运行代码并提供执行结果。
    • 反馈整合:执行结果(包括成功输出或错误信息)被用作反馈,指导代码的进一步改进。如果代码执行成功,OpenCodeInterpreter 可能会根据用户的具体需求进行微调。如果代码执行失败,错误信息会被用来识别和修正代码中的问题。
    • 迭代代码精炼:OpenCodeInterpreter 利用执行反馈和人类反馈来不断改进生成的代码。在多轮交互中,系统可以根据用户的需求和反馈,逐步调整和优化代码,直至满足用户的具体要求。
    • 多编程语言支持:OpenCodeInterpreter 设计为支持多种编程语言,可以为不同语言的编程任务生成和执行代码。

    OpenCodeInterpreter运行界面

    OpenCodeInterpreter的技术原理

    • 大型语言模型(LLMs)OpenCodeInterpreter 使用预训练的大型语言模型,这些模型在大量的文本数据上进行训练,包括代码库,以学习语言的结构和语义,可以理解和生成自然语言,以及将自然语言转换为编程语言代码。
    • 自然语言处理(NLP)NLP 技术使得 OpenCodeInterpreter 能够解析和理解用户的自然语言输入,这通常涉及到分词、词性标注、命名实体识别等任务。NLP 还帮助模型将用户的意图转化为具体的编程任务。
    • 代码生成基于理解的用户意图,OpenCodeInterpreter 生成相应的代码。这通常涉及到模型的解码器部分,负责生成连贯的代码序列。
    • 代码执行与反馈OpenCodeInterpreter 执行生成的代码,并捕获执行结果,包括成功输出或错误信息。执行反馈用于指导代码的迭代改进,这是通过模型的再训练或微调实现的。
    • 迭代精炼OpenCodeInterpreter 通过多轮对话与用户互动,根据用户的反馈(如指出的错误、改进建议等)不断调整代码。这个过程涉及到模拟人类用户的反馈,例如,使用 GPT-4 生成的反馈来模拟真实用户的行为。
    • 数据集训练OpenCodeInterpreter 的训练依赖于 CodeFeedback 数据集,该数据集包含了大量的用户、代码模型和编译器之间的多轮交互实例。这些实例提供了丰富的场景,帮助模型学习如何处理各种编程任务和用户反馈。
  • GPT-SoVITS – 开源的声音克隆项目,只需少量数据即可合成声音

    GPT-SoVITS是什么

    GPT-SoVITS是一个开源的声音克隆项目,由B站UP主、RVC变声器创始人花儿不哭推出,该语音合成工具结合了GPT(Generative Pre-trained Transformer)模型和SoVITS(Speech-to-Video Voice Transformation System)变声器技术,仅需通过少量的样本数据实现高质量的语音克隆和文本到语音转换(TTS)。该工具特别适用于需要快速生成特定人声的场景,可以帮助用户在没有或只有少量目标说话人语音样本的情况下,训练出能够模仿该说话人声音(包括情感、音色、语速)的模型。

    GPT-SoVITS

    GPT-SoVITS的官网入口

    GPT-SoVITS-WebUI

    GPT-SoVITS的主要功能

    • 零样本TTS文本到语音转换:用户只需输入一个5秒的声音样本,即可实现即时的文本到语音转换。
    • 少样本TTS文本到语音转换:通过使用1分钟的训练数据,可以对模型进行微调,以提高声音相似度和真实感。
    • 声音克隆:通过训练,GPT-SoVITS可以学习并复制特定说话人的声音特征,实现声音克隆生成与特定说话人声音极为相似的合成语音。
    • 跨语言支持:GPT-SoVITS支持多种语言的语音合成,使得用户可以在不同的语言环境中使用该工具。目前支持英语、日语和中文。
    • WebUI工具:集成了包括声音伴奏分离、自动训练集分割、中文ASR(自动语音识别)和文本标注等工具,帮助初学者创建训练数据集和GPT/SoVITS模型。

    GPT-SoVITS的应用场景

    • 个性化语音助手:可以为智能助手或聊天机器人创建个性化的声音,使其听起来更像真人,提升用户体验。
    • 虚拟角色配音:在游戏、动画或虚拟现实(VR)中,为虚拟角色生成逼真的语音,无需专业配音演员即可实现角色的语音表现。
    • 有声读物制作:将文本内容转换为语音,为有声书籍、播客或教育材料提供高质量的朗读服务。
    • 无障碍服务:为视障人士或阅读障碍者提供文本到语音的服务,帮助他们更好地获取信息。
  • VideoPrism – 谷歌研究团队推出的通用视频编码器

    VideoPrism是什么

    VideoPrism是一个由谷歌研究团队开发的通用视频编码器,旨在通过一个单一的预训练模型来处理多种视频理解任务。该模型能够从视频中提取丰富的语义表示,使其能够在不同的视频理解任务中实现高性能和准确率,例如视频分类、定位、检索、描述生成和问答等。

    VideoPrism

    VideoPrism的核心设计理念在于预训练数据和建模策略方面提出了创新,在大规模的异构视频-文本数据集上进行预训练,并采用两阶段训练方法(视频-文本对比学习和掩码视频建模)。

    Arxiv研究论文:https://arxiv.org/abs/2402.13217

    官方项目介绍:https://blog.research.google/2024/02/videoprism-foundational-visual-encoder.html

    VideoPrism的功能特性

    VideoPrism的功能

    • 视频分类VideoPrism可以对视频内容进行分类,识别视频中的主要活动或事件。例如,它可以将视频分为不同的类别,如运动、烹饪、游戏等。
    • 视频定位在视频定位任务中,VideoPrism能够识别视频中特定动作或事件的开始和结束时间点,这对于理解视频内容的时序信息非常重要。
    • 视频检索VideoPrism可以实现视频-文本检索,即根据文本描述找到相关的视频片段,对于内容推荐、视频数据库搜索等应用场景很有帮助。
    • 视频描述生成该模型能够为视频生成描述性文字,有助于用户快速理解视频内容,也常用于视频内容管理和索引。
    • 视频问答VideoPrism可以处理关于视频内容的问答任务,例如回答关于视频中发生事件的问题,这要求模型对视频内容有深入的理解。
    • 科学视觉在科学研究领域,VideoPrism可以应用于动物行为分析、生态学研究等,帮助研究人员从视频数据中提取有用的信息。
    • 多模态学习通过与大型语言模型(如PaLM)结合,VideoPrism可以在视频和语言之间建立联系,进行更复杂的任务,如视频内容的详细描述和解释。

    VideoPrism的技术原理

    VideoPrism的两阶段预训练方法

    • 预训练(Pre-training)VideoPrism首先在大规模的异构视频-文本数据集上进行预训练,让模型学习到丰富的视频表示,这些表示能够捕捉视频内容的语义信息。该数据集包含了3600万个高质量的视频-标题对和5.82亿个带有噪声并行文本(如ASR转录文本)的视频片段。
    • 视频-文本对比学习(Video-Text Contrastive Learning)在预训练的第一阶段,VideoPrism通过对比学习来对齐视频和文本的表示。模型会尝试找到视频内容和相关文本描述之间的对应关系,从而学习到能够描述视频内容的高质量特征。
    • 掩码视频建模(Masked Video Modeling)在预训练的第二阶段,VideoPrism采用掩码视频建模来进一步提升对视频内容的理解。这个过程包括随机遮蔽视频中的一部分(例如,某些帧或片段),然后让模型预测这些遮蔽部分的内容,以此帮助模型学习到更加细致和全面的视频表示。
    • 全局和局部蒸馏(Global and Local Distillation)在第二阶段,VideoPrism还进行全局和局部蒸馏,这涉及到从第一阶段的模型中提取全局视频表示,并将其与局部细节相结合。这种蒸馏过程使得模型能够在保持语义信息的同时,更好地理解视频的全局结构和局部动态。
    • 打乱词序(Token Shuffling)为了提高模型对视频内容的理解,VideoPrism在第二阶段的预训练中引入了Token Shuffling策略。这要求模型在预测遮蔽部分时不考虑输入样本的顺序,从而迫使模型更加关注视频内容本身。
    • 下游任务适配(Downstream Task Adaptation)在预训练完成后,VideoPrism可以通过简单的适配来处理各种下游视频理解任务。这通常涉及到在模型的输出上添加特定的任务头(例如:分类器、定位器或检索器),而不需要对模型的主体部分进行微调。
  • YOLOv9 – 新一代高效的实时目标检测系统

    YOLOv9是什么

    YOLOv9是一个由台北中研院和台北科技大学等机构的研究团队推出的新一代先进的目标检测系统,是YOLO(You Only Look Once)算法系列的最新版本。YOLO是一种流行的实时对象检测算法,以其速度快和准确性高而闻名。YOLOv9在前代版本的基础上进行了改进,旨在解决深度学习中信息丢失的问题,并提高模型在各种任务上的性能。YOLOv9的核心创新主要在于引入了可编程梯度信息(PGI)和泛化高效层聚合网络(GELAN),允许模型在训练过程中更有效地学习和提取关键特征以及提高轻量级模型的性能。

    YOLOv9

    YOLOv9的官网入口

    YOLOv9的技术原理

    • 可编程梯度信息(PGI):为了解决深度网络中信息丢失的问题,YOLOv9引入了PGI。这是一种辅助监督框架,通过辅助可逆分支生成可靠的梯度信息,以更新网络参数,从而提高训练效率和模型性能。
    • 泛化高效层聚合网络(GELAN):YOLOv9设计了一种新的轻量级网络架构GELAN,它基于梯度路径规划,通过优化计算块和网络深度,提高了模型的参数利用率和推理速度。
      YOLOv9 GLEAN架构
    • 信息瓶颈缓解:YOLOv9通过PGI和GELAN的结合,减少了在数据传输过程中的信息损失,使得模型能够更准确地学习到目标任务所需的特征。
    • 多级辅助信息:PGI还包括多级辅助信息,它通过整合不同预测头的梯度信息,帮助主分支学习到更全面的语义信息,从而提高模型对各种目标的检测能力。
    • 训练策略:YOLOv9采用了一种新的训练策略,通过调整损失函数和优化器参数,使得模型能够更快地收敛,并且在训练过程中保持稳定性。

    YOLOv9的性能评估

    根据论文中的实验结果,YOLOv9在MS COCO数据集(一个广泛用于目标检测任务的基准数据集)上的表现超越了之前的YOLO系列版本以及其他一些实时目标检测器。YOLOv9在准确性、参数效率、计算复杂度和推理速度方面都取得了显著的提升,是一个在多个方面都具有竞争力的目标检测模型,特别适用于需要实时处理的应用场景。

    YOLOv9性能基准测试

    YOLOv9的应用场景

    • 视频监控:在安全监控系统中,YOLOv9可以实时分析监控视频,检测异常行为或特定目标。
    • 自动驾驶:在自动驾驶汽车中,YOLOv9能够快速识别道路上的车辆、行人、交通标志等,为车辆的导航和决策提供支持。
    • 机器人视觉:在工业自动化和服务业机器人中,YOLOv9可以帮助机器人识别环境中的物体,进行抓取、搬运或交互。
    • 野生动物监测:在生态研究中,YOLOv9可以用于自动识别和追踪野生动物,帮助研究者收集数据。
  • ScreenAgent – 基于视觉语言模型的计算机控制智能体

    ScreenAgent是什么

    ScreenAgent是一个由吉林大学人工智能学院的研究团队开发的计算机控制智能体,该智能体是基于视觉语言模型(VLM)构建的,能够与真实计算机屏幕进行交互。研究人员构建了一个包含“计划-执行-反思”的运行流程,以引导智能体与计算机屏幕进行持续性的交互。ScreenAgent的核心功能是通过观察屏幕截图,并输出相应的鼠标和键盘动作来操纵图形用户界面(GUI),从而执行多步骤的复杂任务。

    ScreenAgent

    ScreenAgent的官网入口

    ScreenAgent的运行流程

    ScreenAgent的运行流程

    • 屏幕观察:ScreenAgent能够观察和理解计算机屏幕上的截图。该特性通过VNC协议实现,允许智能体查看桌面操作系统的实时图像。
    • 动作生成:基于观察到的屏幕截图,ScreenAgent可以生成相应的鼠标和键盘动作。这些动作以JSON格式的命令序列输出,包括移动鼠标、点击、双击、滚动、拖动以及键盘输入等。
    • 任务规划:ScreenAgent 能够根据用户的任务提示,分解复杂的任务为一系列子任务,并为每个子任务规划相应的动作序列。这涉及到对任务的理解、分解和策略制定。
    • 执行动作:在规划阶段之后,ScreenAgent执行规划好的子任务,通过发送鼠标和键盘动作命令到计算机,以实现用户的目标。
    • 反思评估:在执行动作之后,ScreenAgent会评估执行的结果,决定是否需要重试当前子任务、继续执行下一个子任务,或者调整整个计划。

    ScreenAgent的技术原理

    • 视觉语言模型(VLM)
      • VLM是一种结合了视觉和语言处理能力的模型,它可以理解图像内容并生成相应的自然语言描述。
      • 在ScreenAgent中,VLM用于解析屏幕截图,理解用户的任务提示,并规划出一系列动作来完成任务。
    • 强化学习环境
      • ScreenAgent通过VNC协议与真实计算机屏幕交互,创建了一个强化学习环境。在这个环境中,智能体可以观察屏幕状态(状态空间),执行动作(动作空间),并根据执行结果获得奖励(奖励函数)。
    • 控制流程
      • 计划(Planning):智能体根据当前屏幕截图和任务提示,分解任务并规划一系列子任务和相应的动作序列。
      • 执行(Acting):智能体根据规划阶段的输出,通过发送鼠标和键盘动作命令来操纵计算机界面。
      • 反思(Reflecting):智能体评估执行动作后的结果,决定是否需要重试、继续或调整计划。
    • 数据集和评估
      • ScreenAgent数据集包含了完成各种日常计算机任务时的屏幕截图和动作序列,用于训练和评估模型。
      • CC-Score(Vision Language Computer Control Score)是一个细粒度的评估指标,用于衡量智能体在计算机控制任务中的表现。
    • 模型训练
      • ScreenAgent 模型通过在 ScreenAgent 数据集上进行训练,学习如何有效地规划、执行和反思以完成复杂的计算机控制任务。训练过程中采用多种技术,如监督学习、强化学习以及人类反馈循环(RLHF)等。