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

多模态:Seed-story故事生成

文章目录

  • 前言
  • 一、介绍
  • 二、Method
    • 1. Story Generation with Multimodal Large Language Model
    • 2.Multimodal Attention Sink
  • 三、StoryStream数据集
  • 四、实验效果
  • 总结


前言

伴随图像生成和文本生成的迅速发展,多模态故事生成以交错的方式生成叙事文本和生动形象为特征,已成为一种有价值的故事生成方式
具有广泛应用的实际任务。该任务的主要难点在于文本和图像之间复杂的相互作用,以及生成连贯的且上下文相关的长序列的能力

paper:https://arxiv.org/pdf/2407.08683
github: https://github.com/TencentARC/SEED-Story

一、介绍

文章提出Seed-story,一种利用多模态大语言模型生成扩展的多模态故事。模型建立在强大的MLLM的理解能力,预测文本token以及视觉token基础上,这些token随后使用自适应的de-tokenizer进行处理产生一致的character和style

另外,文章提出了一种多模态 attention sink 机制让故事的生成序列最多达到25个(自回归方式)

数据集方面提出了一个名为StoryStream的大规模高分辨率数据集。

Contributions as follow:

  1. Seed-story, 充分利用MLLM生成丰富的叙述文本和内容相关的图像;
    2)多模态attention sink, 生成更多序列
    3)提出StoryStream数据集

二、Method

1. Story Generation with Multimodal Large Language Model

请添加图片描述
整个train piepline 分为3个阶段,
1):使用vit模型提取图像特征,然后用该特征作为输入,送入SDXL中进行训练(该部分替代了原始输入文本特征的部分)
2):MLLM微调,采样一段长度的故事数据,输入第一张图和文本,然后去输出接下来的图和文本。具体在模型训练上表现为,输入文本的token和一段可学习的query,然后输出下一张图的文本token预测,和下一张的图像特征并计算对应loss
3)使用MLLM预测的图像特征输入SDXL进行解码,生成图像,并计算对应loss

2.Multimodal Attention Sink

请添加图片描述
这部分作者做了一些实验,分析了主要两个目前存在的几种attention运算方式以及token的频率,分析了下缺陷,并针对所设计模型的方式设计了新的attention计算方式,简单来说,基于Attention sink的方法额外保留了text tokens、images tokens的起始token和image token的终止token,它可以有效地使模型泛化为生成比训练序列长度更长的序列

三、StoryStream数据集

创建多模式故事生成数据集的理想来源是卡通系列,它本质上包含丰富的情节和一致的人物形象。文章选择了三个卡通系列来构建我们的数据集。该过程从收集各种系列开始,我们从中提取关键帧及其相关字幕,然后每个关键帧由 GPT-4V或Qwen-VL处理以生成详细的图像描述。这些元素(关键帧、字幕和描述)被编译到一个组中。我们汇总了 30 个这样的组并将其输入 GPT-4,并补充了有关卡通系列的背景信息。

请添加图片描述

四、实验效果

请添加图片描述
由于多模态故事生成的方法相对较少,文章采用人工评测和GPT评测方法,并给出长故事生成的效果。请添加图片描述

此外,为了验证文章提出的multimodal attention sink,文章也进行了对比实验。请添加图片描述


总结

Seed-story可以算作是多模态领域的又一创新应用,在MLMM的发展中,可以发现CV与NLP的模块结合可以实现很多有意思的事情,另外最重要的一点还是数据的构建,MLMM时代,数据的构建将成为新的重点,文章将SD和LLM的结合虽然简单,但是策略还是很有意思的!!!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 七、ESP32-S3上使用MicroPython点亮WS2812智能LED灯珠并通过web控制和JS颜色选择器改变灯珠颜色
  • 记一次 .NET某智慧出行系统 CPU爆高分析
  • 童装商城小程序的设计
  • 【数据结构】哈希应用-海量数据处理
  • MySQL进阶-MySQL管理
  • 【极客日常】Go语言学习干货——从零单排Golang系列合集
  • SSH服务高级配置:强制使用客户端指定的用户登录
  • django学习-数据表操作
  • Linux设置临时环境变量
  • 【vulnhub】Hack the 21LTR: Scene 1 靶机
  • C语言-函数
  • k8s—ingress应用
  • 通过提示词越狱解锁学习提示词的新姿势
  • MySQL 迁移 OceanBase 的 Oracle模式中,实现自增主键的方法
  • 【网安第一章】——信息收集
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • Angularjs之国际化
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • java正则表式的使用
  • leetcode讲解--894. All Possible Full Binary Trees
  • mysql_config not found
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • webpack+react项目初体验——记录我的webpack环境配置
  • 初识 beanstalkd
  • 第2章 网络文档
  • 对象引论
  • 基于HAProxy的高性能缓存服务器nuster
  • 基于web的全景—— Pannellum小试
  • 计算机在识别图像时“看到”了什么?
  • 开发基于以太坊智能合约的DApp
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 前端面试之闭包
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 通过几道题目学习二叉搜索树
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 函数计算新功能-----支持C#函数
  • ​力扣解法汇总946-验证栈序列
  • ​人工智能书单(数学基础篇)
  • #vue3 实现前端下载excel文件模板功能
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • ${factoryList }后面有空格不影响
  • (超详细)语音信号处理之特征提取
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (转)c++ std::pair 与 std::make
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .Net Core和.Net Standard直观理解
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .net 反编译_.net反编译的相关问题
  • .NET 给NuGet包添加Readme
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • .pop ----remove 删除
  • @EnableWebMvc介绍和使用详细demo