视频理解多模态大模型(大模型基础、微调、视频理解基础)

5 篇文章 28 订阅
订阅专栏
文章介绍了多模态大模型的基础,包括统一的Transformer架构、预训练和微调方法,如Bert、GPT、CLIP等。同时,详细探讨了视频理解任务,如动作识别、时序动作检测,以及相关的经典模型和数据集,如C3D、I3D、TSN等,并提到了基于Transformer的视频模型如TimeSformer。此外,文章还讨论了微调策略,如LoRA、PrefixTuning,以及未来展望和硬件需求。
摘要由CSDN通过智能技术生成


转眼就要博0了,导师开始让我看视频理解多模态方向的内容,重新一遍打基础吧,从Python,到NLP,再到视频理解,最后加上凸优化,一步一步来,疯学一个暑假。写这个博客作为我的笔记以及好文章的链接搬运,以便以后复习。


Python从入门到放弃
视频理解类Papers整理
万字长文漫谈视频理解

视频理解综述:动作识别、时序动作定位、视频Embedding
视频理解/动作分类 模型汇总(2022.06.28 更新)
计算机视觉中video understanding领域有什么研究方向和比较重要的成果?

视频多模态预训练/检索模型
视频多模态预训练/检索模型(二)
多模态视频文本时序定位
多模态预训练文章笔记

CVPR2020 Tutorial on Video Modeling
CVPR2021 2nd Tutorial on Video Modeling
ICCV2021 Tutorial on Multi-modality Learning


一.多模态大模型

1.1 统一架构

多模态大模型都是Transformer based架构,NLP对文本进行embedding,CV对图像patch进行Embedding,从图像、视频、文本、语音数据中提取特征,转换为tokens,进行不同模态特征的对齐,送入Transformer进行运算。

1.2 模型基础

预训练语言模型的前世今生 - 从Word Embedding到RNN/LSTM到Transformer到GPT到BERT 看完√

1.2.1 Transformer

Transformer 是一种基于自注意力机制(self-attention)的序列到序列(sequence-to-sequence)模型。它使用了多头注意力机制,能够并行地关注不同位置的信息。Transformer 在自然语言处理领域中广泛应用,如机器翻译和文本生成。Masked-MultiHead Attetion:独立学习得到 head 组不同的 线性投影(linear projections)来变换查询、键和值。然后,这 head 组变换后的查询、键和值将并行地进行注意力计算。最后,将这 head 个注意力计算的输出拼接在一起,允许注意力机制组合使用查询、键和值的不同的 子空间表示(representation subspaces)。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.2.2 ViT

ViT(Vision Transformer)是一种将 Transformer 模型应用于图像分类任务的方法。它将图像分割为一系列的小块patch,并将每个小块作为序列输入 Transformer 模型。通过自注意力机制,ViT 能够在图像中捕捉全局和局部的视觉信息,实现图像分类。
在这里插入图片描述

1.2.3 Bert

Bert (Bidirectional Encoder Representations from Transformers)是一种 Transformer Encoder-Only 双向编码模型,通过大量无标记数据进行预训练和微调的方式,提供了深度的语言理解能力的语言特征提取模型。与传统的单向语言模型不同,Bert 同时考虑了上下文的信息,使得它在词义消歧、命名实体识别等任务上具有优势。

双向编码的Bert如何使用无监督预训练?训练时,将输入序列mask掉15%的词(token),然后做完形填空(根据上下文预测中间的词),预测mask的词。测试阶段没有mask
在这里插入图片描述

1.2.4 GPT

GPT(Generative Pretrained Transformer)是一种基于 Transformer Decoder-Only 单向编码 模型的预训练语言生成模型。GPT 通过大规模的无监督训练来学习语言的语法和语义,能够生成连贯且逼真的文本。GPT 在文本生成、对话系统等任务中取得了显著的成果。 预训练语言模型之GPT-1,GPT-2和GPT-3

  • GPT-1:无监督训练(文字接龙,根据前文预测下文,不是完形填空) + 有监督微调(堆叠12层Transformer decoder)
  • GPT-2:无监督训练 + 多任务zero-shot(不进行有监督微调,堆叠48层Transformer decoder)
  • GPT-3:无监督训练 + 更大的数据集和模型参数(堆叠96层Transformer decoder)在这里插入图片描述
    在这里插入图片描述
1.2.5 CrossAttention

CrossAttention 是 Transformer 模型中的一种注意力机制。与自注意力机制不同,CrossAttention 允许模型在处理输入序列时,同时关注另一个相关的序列。CrossAttention 在多模态任务中经常使用,例如将图像和文本进行对齐或生成多模态表示。(Q和K不同源,K和V同源)
在这里插入图片描述

1.2.6 CLIP

CLIP (Contrastive Language-Image Pretraining)是一种跨模态的预训练模型,它能够同时处理图像和文本。通过将图像和文本进行对比学习,CLIP 提供了一个共享的视觉和语义空间,使得图像和文本可以进行直接的匹配和检索。
在这里插入图片描述

1.2.7 预训练Pretrain(迁移学习)

通过 ImageNet 数据集我们训练出一个模型 A。由于上面提到 CNN 的浅层学到的特征通用性特别强,我们可以对模型 A 做出一部分改进得到模型 B(两种方法):

  • 冻结(adapter):浅层参数使用模型 A 的参数,高层参数随机初始化,浅层参数一直不变,然后利用领导给出的 30 张图片训练参数。
  • 微调(finetune):浅层参数使用模型 A 的参数,高层参数随机初始化,然后利用领导给出的 30 张图片训练参数,但是在这里浅层参数会随着任务的训练不断发生变化。

在这里插入图片描述

1.2.6 微调Finetune

在大规模无标签数据上训练Pretrain得到预训练模型,再在小规模数据集上进行微调训练Finetune,成为某个特定任务的专才,如机器翻译、摘要生成。Bert走的路线
在这里插入图片描述

1.2.7 提示Prompt

在大规模无标签数据上训练Pretrain得到预训练模型,人类提供一些提示指令Prompt,成为可以解决所有问题的通才,根据Prompt来完成不同的任务。GPT走的路线
在这里插入图片描述

1.2.8 迁移与零样本学习

迁移学习(小模型) 通常使用较小的模型,在源领域训练好的知识和参数可以被迁移到目标领域,从而加速目标任务的学习过程。这种方式可以提高模型的泛化能力和效果,在数据稀缺的情况下也能取得较好的结果。

Zero-shot(大模型) 解决从未见过类别的样本进行分类的问题。在零样本学习中,我们通常使用大模型,如GPT-3等。这些模型在训练阶段通过学习大规模数据获取了广泛的知识,并且能够通过关联不同领域的知识来进行分类。通过利用这些大模型的泛化能力,我们可以在没有见过的类别上进行分类,实现零样本学习。
在这里插入图片描述

1.2.8 拓展阅读

CLIP——图文匹配
(1) 预训练图像和文本编码器:训练<图片,文本>对,进行对比学习。N个图像和N个文本,用BertViT提取文本和图片的特征(768维),向量两两相乘,得到<图片,文本>对儿之间的余弦相似度(向量乘法)。标签对比学习:对角线上相匹配的图文是正样本(正确的pair=1),其他不匹配的全是负样本(错误的pair=0),这两个标签计算loss反向传播,最大化正样本对的余弦相似度,最小化负样本对的优余弦相似度,约束前面的BertViT梯度下降修改参数。最终预训练得到文本和图像编码器BertViT
(2)和(3) Zero-shot实现图文匹配:根据刚刚的预训练,任意给出文本(dog、car、cat…)与图片计算余弦相似度(相乘),相似度分数最大的就是正确的<图片,文本>
在这里插入图片描述
BLIP——图文匹配&图生文
(1)对比学习ITC:图片编码器提取的向量 与 第一个文本编码器提取的向量,进行对比学习。(bert的双向注意力)
(2)二分类任务ITM:图片编码器提取的向量 与 第二个文本编码器提取的向量进行cross attention,融合的向量进行二分类任务(文本和图片是不是描述的同一件事),以更细粒度的让文本和图像的难样本对齐。(bert的双向注意力)
(3)生成任务LM:图片编码器提取的向量 与 第三个文本编码器提取的向量进行cross attention,融合的向量进行文本生成任务(根据图像生成描述文本)。(gpt的单向注意力)
在这里插入图片描述
在这里插入图片描述
BLIP2——图文匹配&图生文
在这里插入图片描述
(1)阶段一:使用QFormer将 图像特征向量 投影到 文本特征空间,使得LLM可以理解图像向量的特征。
在这里插入图片描述
(2)阶段二:把图片特征输入LLM(作为prompt),生成对应的图像的文本描述。
在这里插入图片描述
BLIP2对细节理解不到位的原因:ViT的patch级tokenlization对细节处理不到位。
在这里插入图片描述
DALL·E——文生图
(1)训练过程:将图片编码为one-hot向量,再解码为一只狗,实现无损压缩图像。(loss是原图和解码图片的差别)

在这里插入图片描述
(2)推理过程:自回归编码器(GPT)通过文本tokens预测出多种图片tokens,再解码为对应的图片,最后使用CLIP进行图文匹配,得到解码图片中与文本最相似的图片。
在这里插入图片描述

VisualGLM——中文版BLIP2
使用Lora训练。
但文本生成经常胡说八道,原因在于ChatGLM的模型规模太小7B。
在这里插入图片描述

1.3 多模态预训练

图文音多模态数据的不断增多,多模态大模型能力也持续涌现
在这里插入图片描述

大规模数据 + T r a n s f o r m e r 架构 + 自监督预训练 P r e t r a i n + 下游微调 F i n e T u n e 大规模数据 + Transformer架构 + 自监督预训练Pretrain + 下游微调Fine Tune 大规模数据+Transformer架构+自监督预训练Pretrain+下游微调FineTune

在这里插入图片描述

1.3.1 多模态数据集

在这里插入图片描述

在这里插入图片描述

1.3.1 多模态模型架构
  • Encoder-only:Bert双向理解
  • Decoder-only:GPT单向生成
  • Encoder+Decoder:Transformer理解+生成(Encoder Decoder串行/并行)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3.3 自监督预训练
  • 模态内掩码学习:在任意一个模态内部进行token级别的掩码,像Bert一样,对一句话的不同单词的token进行掩码。
  • 模态间掩码学习:比如对text进行掩码,通过video信息对文本进行预测。
  • 模态间的匹配学习:模态内的匹配学习(对图像进行变换角度,预测角度等自监督任务)、模态间的匹配学习(如CLIP这种对比学习的方式进行图文模态间的匹配)
    在这里插入图片描述
1.3.4 下游微调
  • 模型微调:全参数微调、部分参数微调
  • 下游任务:对模态组合,定义更好的下游任务
    在这里插入图片描述
1.3.5 前景展望

经典工作
在这里插入图片描述

以语言大模型为核心的多模态融合感知模型
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二.语言大模型分类

学习哪些大模型?(训练不同规模的模型适应不同场景)

  • 在线大模型: OpneAI系列的大模型组
    在这里插入图片描述
  • 开源大模型:ChatGLM 6B 和 VisualGM 6B
    在这里插入图片描述

2.1 在线大模型

需要OpenAI的key,私人数据被openai共享,不能部署在本地,只能调用API接口在线微调Openai公司的大模型。

语言大模型:
在这里插入图片描述

图文多模态大模型:
在这里插入图片描述

语音大模型:
在这里插入图片描述

文本嵌入大模型:根据文本语义编码,语义越接近,向量越接近。
在这里插入图片描述

审查大模型:
在这里插入图片描述

编程大模型:
在这里插入图片描述

2.2 开源大模型

根据下游任务使用开源微调框架进行微调训练,也可以本地部署。

实时更新的 OPEN LLM排行榜

ChatGLM——中文语言开源大模型

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

VisualGLM——中文多模态开源大模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三. 大模型微调

  • 全量微调(Full Fine-tuning,FT)将预训练好的模型的所有参数都进行微调,包括底层的特征提取器和顶层的分类器。这种方法通常需要较大的计算资源和长时间的训练,但可以获得相对较好的性能。

  • 高效微调(Partial Fine-tuning,PEFT)则是一种更加高效的微调方法,它仅对部分参数进行微调。具体来说,我们冻结预训练模型的底层参数(如特征提取器)不进行微调,只微调顶层的分类器或一部分顶层参数。这样可以更快地完成微调过程,减少计算资源和训练时间的消耗,同时在一定程度上保留了底层参数的知识。

  • 基于强化学习的进阶微调(Reinforcement Learning-based Hierarchical Fine-tuning,RLHF)使用强化学习的思想来指导微调的过程。通常,在微调过程中,我们定义一个奖励函数并通过强化学习的方式来最大化奖励。这样可以使得模型在微调过程中更加智能地进行参数更新,从而获得更好的性能和泛化能力。
    在这里插入图片描述在这里插入图片描述

3.1 高效微调 PEFT

在这里插入图片描述

3.1.1 LoRA

在这里插入图片描述
在这里插入图片描述

3.1.2 Prefix Tuning

在这里插入图片描述

3.1.3 Prompt Tuning

在这里插入图片描述

3.1.4 P-Tuning V2

在这里插入图片描述

3.2 RLHF

在这里插入图片描述
在这里插入图片描述

四.硬件和操作系统要求

在这里插入图片描述

4.1 显卡

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2 操作系统

在这里插入图片描述

五. LangChian

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六.视频理解

6.1 TASK

4个基础任务:动作识别(Action Recognition)、时序动作定位(Temporal Action Localization)、时空动作检测(Spation Temporal Action Detection)、视频Embedding

6.1.1 行为识别——Action Recognition

在这里插入图片描述

6.1.2 时序动作检测——Temporal Action Detction

在这里插入图片描述
基于内容的检索——Moment Retrieval
在这里插入图片描述

关键片段定位——Highlight Detection
在这里插入图片描述

6.1.3 时空动作检测——Spation Temporal Action Detection

在这里插入图片描述
挑战:
在这里插入图片描述
挑战1方案:静态的外观特征 + 帧间空间运动特征
在这里插入图片描述
思路1:先提取静态外观特征,再使用不同帧的静态外观特征,提取动态运动特征。
在这里插入图片描述
思路2:同时并行提取静态外观特征 和 时序运动特征,再进行融合。
在这里插入图片描述
思路3:使用更加强大的架构,直接提取综合特征。
在这里插入图片描述
挑战2: 视频数据包含的帧数太多,计算量巨大

在这里插入图片描述
挑战3: 难以标注海量视频数据
在这里插入图片描述

6.2 经典工作

在这里插入图片描述
在这里插入图片描述

  • 深度学习视频理解方法开山始祖(2014):DeepVideo(AlexNet用于视频分类)
  • 双流网络系列(2014-2017):Two Stream Network(增加光流分支学习时序信息)、TDD(提出轨迹卷积,感受野按照轨迹的偏移在时序上将卷积位置偏移到对应的点上去)、 LRCN(将CNN提取的特征送入LSTM进行时序建模)、Fusion(探究early and late fusion)、 TSN(分段抽帧进行长时间建模)
  • 3D CNN系列(2015-2020):C3D(三维卷积核来建模视频时间信息)、I3D(膨胀2D预训练权重到3D进行初始化)、R(2+1)D(将3D卷积分解为2D+1D减少计算量)、 Non-local(在I3D基础上使用self-attention进行长距离时空序列建模)、SlowFast(双流快慢帧采样分支进行3D卷积侧向链接融合)
  • Video Transformer系列(2020-至今):TimeSformerVidTrViViTMviTVideo Swin TransformerVATTBeiT

在这里插入图片描述

6.2.1 光流Optical Flow 传统方法

在这里插入图片描述

光流估计:
在这里插入图片描述
轨迹追踪:

在这里插入图片描述

光流可视化:
在这里插入图片描述

稀疏光流与稠密光流:
在这里插入图片描述

稠密轨迹方法 Dense Trajectories(DT)

在这里插入图片描述
按轨迹对齐的局部特征:
在这里插入图片描述
特征编码:对提取到的轨迹特征进行聚类,得到不同的聚类中心(视觉词语),构成直方图来表示整个视频特征。
特征

稠密轨迹方法 iDT

在这里插入图片描述

6.2.2 2D卷积
DeepVideo

DeepVideo [CVPR 14] 是在Alexnet出现之后,在深度学习时代,使用超大规模的数据集,使用比较深的卷积神经网络去做的视频理解(DeepVideo是处理视频理解的最早期工作之一)。

DeepVideo论文中的方法是比较直接的,论文中的想法就是如何将卷积神经网络从图片识别应用到视频识别中。视频与图片的不同在于,视频多了一个时间轴(有更多的视频帧)。所以论文中尝试了以下几个变体(下图后3种):

在这里插入图片描述

  • Single frame单帧,其实就是一个图片分类的任务。在视频里任选一帧,然后把这一帧通过一个卷积神经网络,然后通过两个FC,最后得到分类结果,这个其实就是一个baseline。它完全没有时间信息,也没有视频信息在里面。
  • Late Fusion晚融合,之所以叫Late,就是因为它在网络输出层做的一些结合。如上图,从视频中,随机选几帧,然后每一帧都单独通过一个卷积神经网络,这两个神经网络是权值共享的,将两个特征合并,再通过FC全连接层,最后做输出。 这样就稍微有一些时序上的信息了。
  • Early Fusion早融合,作者在输入层就做了融合。具体做法就是在RGB在Channel上直接合起来。原来一张图片,有3个channel,现在有5张图片,就有3x5=15个channel。那就意味着网络结构要进行一定的改变了,尤其是第一层。这样的做法,可以在输入层就可以感受到时序上的改变,希望能学到一些全局的运动或者时间信息。
  • Slow Fusion是在Late Fusion 和 Early Fusion的基础上提出,Late Fusion合并太晚,Early Fusion合并太早了,Slow Fusion在特征层面做了一些融合。具体做法就是选19个视频帧的1个小的视频片段,每4个视频帧就通过一个卷积神经网络,刚开始的层也是权值共享的,在抽出最开始的这些特征之后,由最开始的4个输入片段,慢慢合并成2个输入片段,再去做一些卷积操作,去学习更深层的特征。然后在融合2个特征,最后把学习到的特征给FC。

实验结结果表明,Slow Fusion结果较好(相对于前三个)。但是从总体看来,这几种方法的差别都不大。即使在100万个视频上去做了预训练之后,在UCF101小数据集上去做迁移学习的时候,效果竟然还比不上之前的手工特征。

其实这篇文章的意义,不在于它的效果,作者不仅提出了当时最大的视频理解数据集Sport1M,而且把你能想到的,最直接的方式,全都试了一遍,为后续的工作做了一个很好的铺垫。这才有了深度学习在视频领域的飞速发展。所以到了18、19年,视频理解(或者动作识别),已经是CV领域排名前5、6的关键词。

Two-Stream Networks 双流网络

所谓two-stream是指空间stream时间stream,视频可以分成空间与时间两个部分:Spatio Stream Convet处理静态的帧画面,输入是单个帧画面,得到画面中物体的特征,还可以使用ImageNet challenge数据集种有标注的图像数据进行预训练。Temporal Stream Convet则是通过多帧画面的光流位移来获取画面中物体的运动信息,其输入由多个连续帧之间的光流位移场叠加而成,这种输入显式地描述了视频帧之间的运动,这使得识别更加容易,因为网络不需要隐式地估计运动。两个不同的stream都通过CNN实现,最后进行信息融合。

在这里插入图片描述
光流(Optical flow) 是由一些位移矢量场(displacement vector fields)(每个矢量用dt表示)组成的,其中dt是一个向量,表示第t帧的displacement vector,是通过第t和第t+1帧图像得到的。dt包含水平光流 d t x dt_x dtx竖直光流 d t y dt_y dty。因此如果一个video有L帧,那么一共可以得到2L个channel的optical flow,然后才能作为temporal stream convnet网络的输入。(一般用TVL1算法

所以如果假设一个video frame的宽和高分别是w和h,那么Temporal stream convnet输入的光流图像维度应该是下面这样的。其中 t 表示任意的一帧。
I t ⊆ R w × h × 2 L I_t\subseteq R^{w \times h \times 2L} ItRw×h×2L
在这里插入图片描述
本文实验讨论了2种光流:光流栈(Optical flow stacking)(计算起始帧与每帧之间的光流,然后简单的stacking)、轨迹叠加(Trajectory stacking)(计算相邻两帧之间的光流,假设第一帧的某个像素点,我们可以通过光流来追踪它在视频中的轨迹,即用来描述一个对应特征点连续的光流变化)
在这里插入图片描述
multi-task learning:首先原来的网络(temporal stream convnet)在全连接层后只有一个softmax层,现在要变成两个softmax层,一个用来计算HDMB-51数据集的分类输出,另一个用来计算UCF-101数据集的分类输出,这就是两个task。这两条支路有各自的loss,最后回传loss的时候采用的是两条支路loss的和。
在这里插入图片描述
问题:1.缺乏长时间建模(LSTM、3D CNN、TSN);2.双流网络的early fusion效果怎么样?(early fusion)3.为什么轨迹光流光流栈效果差?(TDD)

TSN 时序分段网络

在这里插入图片描述
做对了什么?

抽帧策略

一段完整的视频,包含的视频帧是非常多的,那么全部处理这些视频帧数据显然是不现实的,所以只能采用抽帧策略,TSN中的抽帧策略,个人感觉比较不错。

按照新的视频时间分段采样方式,而不是按照固定频率去采样,使得网络分析的时间范围更长。每个双流网络是共享参数的。

在TSN中,视频首先被等间隔分为K个片段,根据视频的时间分布来设置K,比如K=16,即一段视频被分成了16个片段,在每个片段中随机抽取一帧数据作为输入(测试的时需要固定,一般测试的时候可以选择中间帧),这样避免了采用过于连续帧之间的信息冗余,同时又尽可能利用到更多的视频信息。

数据增强

由于数据有限,为了更好的训练模型,作者采用了数据增强,主要包括location jittering, horizontal flipping, corner cropping, and scale jittering,作者通过实验证明了在图像领域常用的数据增强手段,在视频分类的任务中同样有效。

多帧融合

TSN中,作者采用的多帧融合不同时间片段分类结果的融合)方式比较简单,直接取了平均(先空间融合,再时间融合,最后时空取平均),后续会介绍更为复杂的视频帧融合的方式。

多模态融合

这里的多模态融合是指RGB输入和光流输入的融合,作者采用的是结果融合。由于这篇论文是16年的文章,所以多模态融合的方式也相对简单,而且多模态还包括视频、文本之间的多模态,后续也会专门讲多模态视频分类。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

TSM 时间转移模块

使用2D的复杂度,达到3D CNN的性能。TSM的核心思想是将部分通道C沿时间T维进行移位,便于相邻帧之间的信息交换。可以插入到任何二维CNN中,以实现时间建模。

时间转移模块如下图所示。为了简单起见,只显示了时间T和通道C维度,而忽略了批大小N、高度H和宽度W,因为它们与我们的讨论无关。

在这里插入图片描述

在图a中,我们描述了一个包含C通道和T帧的张量。不同时间戳的特征在每行中表示为不同的颜色。传统的二维CNN在不同的信道间进行操作,即在不进行时间融合的情况下,沿每一行单独进行操作。在时间维度上,我们将1 / 4通道C在时间维度T上移动了- 1个单位,将另一个单位移动了+1个单位,剩下的一半没有移动(图2b)。“四分之一”是我们将在消融研究中讨论的超参数。哪一1/4shift并不重要,因为下一层的权重会在训练中适应。因此,我们将帧 t - 1tt + 1 的时间信息混合在一起,类似于核大小为3的一维卷积,但计算成本为零。乘法累加被推到下一层。利用二维卷积的信道间融合能力,实现了原始的时域间融合。

在这里插入图片描述

将视频分成N段,每段采样一帧。采样的帧跨越整个视频,支持长期的时间关系建模。然后将二维CNN应用于每一帧,提取空间特征。在每个二维残差块内,我们的时间移位模块将部分通道沿时间维数移动±1,融合时间信息。然后,通过沿通道的二维卷积处理移位激活。

我们发现,将时间移位模块插入到残差分支中是有益的,而不是外部的,这样就不会损害主干二维CNN的空间特征学习能力。我们还添加了一个额外的时间最大池层来减少时间维度,与纯2D CNN相比,实现了更少的计算。

6.2.3 3D卷积

能不能不用计算光流(计算光流即麻烦又耗时,无法实现工业实时落地),直接从多帧图像中提取时序与运动信息?
在这里插入图片描述
3D卷积:增加时间维度time(帧)
在这里插入图片描述

C3D 三维卷积

3D ConvNets 更适合学习时空特征,通过3D卷积(3x3x3)和3D池化(1x2x2时序上不做下采样,保留时序信息;2x2x2时序上也做下采样),可以对时间信息建模,而2D卷积只能在空间上学习特征。
video clips size: c ∗ l ∗ h ∗ w c*l*h*w clhw,其中,c是通道数量,l是帧长度,h是帧高,w是帧宽(实际上是3 x 16 x 112 x 112)
3D kernel size: d ∗ k ∗ k d*k*k dkk, d是 kernel 时域深度(d<l),k是 kernel 空间尺寸(实际上就是把3x3卷积核,都变成3x3x3)

在这里插入图片描述

class C3D(nn.Module):
    # C3D模型的实现挺简单的。想要得到时序上的关系,那么把时序也纳入卷积,即二维卷积变三维,实现可以看作是3D版VGG
    def __init__(self):
        super(C3D, self).__init__()
        # 所有3D卷积滤波器均为3×3×3,步长为1×1×1
        self.conv1 = nn.Conv3d(3, 64, kernel_size=(3, 3, 3), padding=(1, 1, 1))
        # 为了保持早期的时间信息,pool1有些许不同
        self.pool1 = nn.MaxPool3d(kernel_size=(1, 2, 2), stride=(1, 2, 2))

        self.conv2 = nn.Conv3d(64, 128, kernel_size=(3, 3, 3), padding=(1, 1, 1))
        self.pool2 = nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))

        self.conv3a = nn.Conv3d(128, 256, kernel_size=(3, 3, 3), padding=(1, 1, 1))
        self.conv3b = nn.Conv3d(256, 256, kernel_size=(3, 3, 3), padding=(1, 1, 1))
        self.pool3 = nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))

        self.conv4a = nn.Conv3d(256, 512, kernel_size=(3, 3, 3), padding=(1, 1, 1))
        self.conv4b = nn.Conv3d(512, 512, kernel_size=(3, 3, 3), padding=(1, 1, 1))
        self.pool4 = nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))

        self.conv5a = nn.Conv3d(512, 512, kernel_size=(3, 3, 3), padding=(1, 1, 1))
        self.conv5b = nn.Conv3d(512, 512, kernel_size=(3, 3, 3), padding=(1, 1, 1))
        self.pool5 = nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2), padding=(0, 1, 1))

        # 3个FC输出单元
        self.fc6 = nn.Linear(8192, 4096)
        self.fc7 = nn.Linear(4096, 4096)
        self.fc8 = nn.Linear(4096, 487) #最后对应着487个类别(视数据集而定)

        self.dropout = nn.Dropout(p=0.5)

        self.relu = nn.ReLU()
        self.softmax = nn.Softmax() #得到对应类别的预测概率

    def forward(self, x):
        # forward按模型架构图来就好
        h = self.relu(self.conv1(x))
        h = self.pool1(h)

        h = self.relu(self.conv2(h))
        h = self.pool2(h)

        h = self.relu(self.conv3a(h))
        h = self.relu(self.conv3b(h))
        h = self.pool3(h)

        h = self.relu(self.conv4a(h))
        h = self.relu(self.conv4b(h))
        h = self.pool4(h)

        h = self.relu(self.conv5a(h))
        h = self.relu(self.conv5b(h))
        h = self.pool5(h)

        h = h.view(-1, 8192)
        h = self.relu(self.fc6(h))
        h = self.dropout(h)
        h = self.relu(self.fc7(h))
        h = self.dropout(h)

        logits = self.fc8(h)
        probs = self.softmax(logits)

        return probs

C3D的性能瓶颈:其优点就是可以同时提取时空信息;缺点也显而易见,即具有更庞大的参数数量从而更难训练,因此一般3D网络的深度都较浅,单这样又影响了模型的表达能力,此外,没有办法能够有效的把2D网络的预训练权重迁移到3D网络。
在这里插入图片描述

I3D 膨胀三维卷积

视频分类相较于图像分类等任务,多了一个时间维度。而Imagenet挑战赛中的各种2D卷积网络没有办法同时提取时空信息,怎么把2D卷积预训练的权重,扩展到3D卷积上呢? 作者通过了Inflated膨胀(模型和权重从2D变成3D),提出了Two-Stream Inflated 3D ConvNets (I3D) 模型。

在这里插入图片描述
Inflated膨胀

  • 对于模型,本文直接把2D卷积或2D池化的 NxN 的kernel变成 NxNxN 的kernel。

  • 对于预训练权重,首先把2D卷积核在时间维度上复制N份,然后除以时间维度的维度N,这样做是为了扩展到3D卷积之后,每一层都仍然获取到类似大小的输出相应。如果不除以N,就会出现输出相应会增大N倍,改变了预训练时网络所学习到的数据分布。

在这里插入图片描述

Imagenet挑战赛中有很多优秀的模型,作者使用Inception-V1作为骨干网络,将其从2D扩展为3D。

在这里插入图片描述

在这里插入图片描述

实验表明:加上光流分支的双流I3D网络效果更好。同时I3D把UCF-101HMDB-51两个数据集刷爆了,后续大家都开始使用Kinetics-400数据集进行测试。

在这里插入图片描述
I3D局限性:虽然证明了2D迁移到3D的可行性,但3D卷积计算量非常大,如何改进仍需进一步探索。
在这里插入图片描述

3D卷积计算量 解决办法:

由于I3D把分类做到98%之后已经又没有什么提升空间了,所以人们转向提升效率,著名的有P3D(伪3D),S3D(分开3D),R(2+1)D(把3D变成2+1),这三种模型都考虑把3D CNN拆开,以求得到更好的效率。

  • P3D用一个1×3×3的空间方向卷积和一个3×1×1的时间方向卷积近似原3×3×3卷积,通过组合三种不同的模块结构,进而得到P3D ResNet。

  • S3D,将 3x3x3 卷积核都换成 1x3x3 + 3x1x1 卷积,在每个 3x1x1 卷积后加入了 Self-attention 模块 (即文中的 spatio-temporal feature gating)。

  • ResNet (2+1)D,把一个3D卷积分解成为一个2D卷积空间卷积和一个1D时间卷积,改进ResNet内部连接中的卷积形式,然后堆叠成超深网络,明显降低了3D卷积的参数量。

  • D3D,那么自然可以想到能否结合光流的方法,如D3D等。它的着手点是由于一般的3D方法加入光流仍有提升,说明3D CNN的学习并没有很充分,但是加入光流之后免不了速度又慢,怎么才比较好?于是D3D使用蒸馏,让3D模型在光流的监督下进行teacher-student的学习。

①R(2+1)D——混合2D 3D
在这里插入图片描述
②分解卷积核
在这里插入图片描述
在这里插入图片描述
③减少通道关联

在这里插入图片描述

Non-Local 非局部神经网络

Non-local Neural Networks非局部神经网络模型(即插即用模块),为了有效捕捉序列中各个元素间的依赖关系,将Self Attention(替代LSTM)用于长距离时空建模。在这里,所谓的序列可以是单幅图像的不同位置(空间序列),也可以是视频中的不同帧(时间序列),还可以是视频中不同帧的不同位置(时空序列)。

Non-Local bolck:其实就是self attention。
在这里插入图片描述

设输入的视频一共有 T 帧(在上图中 T=5 ),针对每一帧图像获取的特征图维度为 H × W × d v H \times W \times d_v H×W×dv ,其中 H , W , d v H,W,d_v H,W,dv 分别为每帧图像特征图的高度、宽度以及通道数(通道数即特征维度),那么输入序列 x x x 可以表达为一个 T × H × W × d v T \times H \times W \times d_v T×H×W×dv 维张量。Non-local块的处理过程为:

第一步,对输入序列分别进行三个 1x1x1 的卷积操作(输出特征图通道数为 d v / 2 d_v/2 dv/2 ),得到三个尺寸为 T × H × W × ( d v / 2 ) T \times H \times W \times (d_v/2) T×H×W×(dv/2) 的特征图;

第二步,对三个特征图进行形状变换(“reshape”操作),得到三个特征图的矩阵表示,将这三个矩阵分别记作 Q , K , V Q,K,V Q,K,V,其维度分别为 T H W × ( d v / 2 ) THW \times (d_v/2) THW×(dv/2) ( d v / 2 ) × T H W (d_v/2) \times THW (dv/2)×THW T H W × ( d v / 2 ) THW \times (d_v/2) THW×(dv/2) (这里 Q , K , V Q,K,V Q,K,V 即为 W θ x , W ϕ x , W g x W_{\theta}x,W_{\phi}x,W_{g}x Wθx,Wϕx,Wgx );

第三步,利用 s o f t m a x ( Q T K ) softmax(Q^TK) softmax(QTK) 计算归一化的注意力权重系数;

第四步,将注意力权重系数作用到 V 上,即计算 s o f t m a x ( Q T K ) V softmax(Q^TK)V softmax(QTK)V ,得到一个 T H W × ( d v / 2 ) THW \times (d_v/2) THW×(dv/2) 矩阵;

第五步,将第四步得到的矩阵进行形状变换,得到一个 T × H × W × ( d v / 2 ) T \times H \times W \times (d_v/2) T×H×W×(dv/2) 维张量,将该张量记为 y ;

第六步,对张量 y 进行 1x1x1 的卷积操作(输出特征图通道数为 d y d_y dy ),得到一个 T × H × W × ( d v / 2 ) T \times H \times W \times (d_v/2) T×H×W×(dv/2) 维张量,该张量即为 W z y W_zy Wzy ,然后再将其与 x 相加得到输出 z 。

SlowFast 快慢网络

SlowFast使用了一个慢速高分辨率3DCNN(Slow通道)来分析视频中的静态内容(环境),同时使用一个快速低分辨率3DCNN(Fast通道)来分析视频中的动态内容(动作)。为了更好的提取slow分支特征,slow通道的计算会更加复杂,Slow通道的计算成本要比Fast通道高4倍。

在这里插入图片描述
双分支提取

Slow通道和Fast通道都使用i3D RestNet模型,捕捉若干帧之后立即运行3D卷积操作:

  • Slow通道使用一个较大的时序跨度(即每秒跳过的帧数),通常每隔16帧取1帧(共32帧取4帧)。
  • Fast通道使用一个非常小的时序跨度τ/α,其中α通常设置为8,每隔1帧取1帧(共32帧取32帧)。Fast通道通过使用小得多的卷积宽度(kernel数量=out_channel)来保持轻量化,通常设置为慢通道卷积宽度的⅛,这个值被标记为β。使用小一些的卷积宽度的原因是Fast通道需要的计算量要比Slow通道小4倍,虽然它的时序频率更高。

特征融合

来自Fast通道的数据通过侧向连接被送入Slow通道,这使得Slow通道可以了解Fast通道的处理结果。单一数据样本的shape在两个通道间是不同的,这要求SlowFast对Fast通道的结果进行数据维度变换,然后融入Slow通道。论文给出了三种进行数据维度变换的技术思路,其中第三个思路在实践中最有效。
效果:(3)>(1)>(2)

  • (1)Time-to-channel:将{αT, S², βC} 变形转置为 {T , S², αβC},就是说把α帧压入一帧
  • (2)Time-strided采样:简单地每隔α帧进行采样,{αT , S², βC} 就变换为 {T , S², βC}
  • (3)Time-strided卷积: 用一个5×12的核进行3d卷积, 2βC输出频道,跨度= α.

有趣的是,研究人员发现双向侧链接,即将Slow通道结果也送入Fast通道,对性能没有改善

在每个通道的末端,SlowFast执行全局平均池化,一个用来降维的标准操作,然后组合两个通道的结果并送入一个全连接分类层,该层使用softmax来识别图像中发生的动作。

6.2.4 弱监督

在这里插入图片描述
在这里插入图片描述

IG-65M

在这里插入图片描述

OmniSource

在这里插入图片描述
在这里插入图片描述

6.2.5 Transformer based

基于Transformer的video工作看这篇: Transformer-based Video Understanding

TimeSformer

FBAI团队的TimeSformer,这也是第一篇使用纯Transformer结构在视频识别上的文章。
https://zhuanlan.zhihu.com/p/449323671
在这里插入图片描述
在这里插入图片描述

ViViT

https://zhuanlan.zhihu.com/p/451386368
在这里插入图片描述

Video Swin Transformer

在这里插入图片描述

VATT

对比学习引入视频特征学习
在这里插入图片描述
在这里插入图片描述

BeiT

Bert预训练
在这里插入图片描述
完形填空
在这里插入图片描述
在这里插入图片描述
BeiT
在这里插入图片描述

解耦表征学习

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

高效计算

视频帧内部、帧之间的自注意力计算,计算复杂度非常高
在这里插入图片描述

VideoSwin

在这里插入图片描述

Video MobileFormer

在这里插入图片描述

DynamicViT and AdaViT

在这里插入图片描述

AdaFrame

在这里插入图片描述

Ada3D

在这里插入图片描述

STTS

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

6.3 Dataset

Video领域的数据集(按时间划分): Videos Understanding Dataset

在这里插入图片描述

七、多模态video预训练

多模态video预训练看这篇: Multimodal Video Pre-trainin

第七章:多模态模型实战7.3 视频理解与处理7.3.1 视频内容分析基础
AI天才研究院
01-12 191
1.背景介绍 随着互联网的普及和人工智能技术的发展,视频成为了一种非常重要的信息传播方式。视频内容分析是一种能够从视频中提取有意义信息以便进行处理和分析的技术。这种技术在很多领域有着广泛的应用,例如视频搜索、视频推荐、视频编辑、视频监控等。 在这篇文章中,我们将从多模态模型的角度来讨论视频内容分析的基础知识和实战应用。我们将从以下几个方
基于LLaMA的视频理解以及视频描述生成大模型微调.zip
07-17
本项目是自己研究本领域的demo视频,可以直接部署使用,内含训练模型和部署教程
多模态模型综述】【中文精细翻译】Multimodal Foundation Models
09-25
多模态模型综述】 使用 gpt3.5 精细翻译,完美融合图片等内容 由微软7位华人研究员撰写,足足119页 它从目前已经完善的和还处于最前沿的两类多模态模型研究方向出发,全面总结了五个具体研究主题: - 视觉理解 - 视觉生成 - 统一视觉模型 - LLM加持的多模态模型 - 多模态 agent 本报告一共7位作者。 发起人和整体负责人为 Chunyuan Li。 他是微软雷德蒙德首席研究员,博士毕业于杜克大学,最近研究兴趣为 CV 和 NLP 中的大规模预训练。 他负责了开头介绍和结尾总结以及“利用 LLM 训练的多模态模型”这章的撰写。 核心作者一共 4位: Zhe Gan Zhengyuan Yang Jianwei Yang Linjie Li 他们分别负责了剩下四个主题章节的撰写。
什么是多模态多模态模型综述,看这一篇就够了
EnjoyEDU的博客
09-14 2317
多模态大型语言模型(Multimodal Large Language Models, MLLM)的出现是建立在大型语言模型(Large Language Models, LLM)和大型视觉模型(Large Vision Models, LVM)领域不断突破的基础上的。随着 LLM 在语言理解和推理能力上的逐步增强,指令微调、上下文学习和思维链工具的应用愈加广泛。然而,尽管 LLM 在处理语言任务时表现出色,但在感知和理解图像等视觉信息方面仍然存在明显的短板。
精度76.16%,速度是SlowFast的4.5倍,视频理解模型PP-TSM重磅发布
我爱计算机视觉
06-11 1490
随着多媒体、网络和存储技术的快速发展,视频数据量呈现爆炸式增长。面对如此庞大的视频数据,无论是处理还是监管都成了难题!剪辑人员希望从比赛录像中便捷地提取比赛集锦,上网课的老师希望随时了解电...
多模态模型综述,零基础入门到精通,收藏这一篇就够了
Everly_的博客
09-19 1106
多模态大型语言模型(Multimodal Large Language Models, MLLM)的出现是建立在大型语言模型(Large Language Models, LLM)和大型视觉模型(Large Vision Models, LVM)领域不断突破的基础上的。随着 LLM 在语言理解和推理能力上的逐步增强,指令微调、上下文学习和思维链工具的应用愈加广泛。然而,尽管 LLM 在处理语言任务时表现出色,但在感知和理解图像等视觉信息方面仍然存在明显的短板。
多模态算法在视频理解中的应用
铸精品·释产能·启未来
08-25 5339
现阶段视频分类算法,主要聚焦于视频整体的内容理解,给视频整体打上标签,粒度较粗。较少的文章关注时序片段的细粒度理解,同时也从多模态角度分析视频。本文将分享使用多模态网络提高视频理解精度的解决方案,并在youtube-8m 数据集中取得较大提升。实验表明,上述几种方法均有不同程度的提高,尤其以多模态和图卷积提升比较明显。我们希望在未来探索更多的标签依赖关系。GCN 网络也被证明在这项任务中很有用,我们认为值得我们做更多的实验,将 GCN 网络与其他最先进的视频分类网络结合起来。
【转载】视频理解模型分享
weixin_52898169的博客
07-20 897
关注【Zilliz Towhee 专栏】,快速了解更多前沿模型。 本周一共介绍了5个视频相关的模型“杂食者”Omnivore、“性价比之王”TSM、“进击的纯血”TimeSformer、“回归的高手”VideoSwinTranformer、“国产之光”UniFormer。无论是崛起的新生代,还是与时俱进的OG,总有一款模型为你所爱。...
视频多模态模型: VideoChat、Video-LLaMA、Video-ChatGPT、Video-LLaVA等
ResumeProject的博客
05-22 1756
视频为中心的多模态对话系统通过使用开源视觉模型视频内容文本化,将视频理解表述为自然语言处理 (NLP) 问答。引入了一种以视频为中心的多模态指令微调数据集。创建了一个独特的数据集,其中包含数千个视频,并配以详细的文本描述和对话,这些描述和对话使用密集的字幕按时间顺序提供给 ChatGPT。该数据集强调时空对象、动作、事件和因果关系,为训练以视频为中心的多模态对话系统提供了宝贵的资源。
一文深度解读多模态模型视频检索技术的实现与使用
阿里云视频云的博客
01-25 2451
自然语言视频检索已上线IMS
视频理解模型调研论文《Video Understanding with Large Language Models: A Survey》简要介绍
qq_37261357的博客
04-03 4012
Vid-LLMs在生成视频内容简洁摘要方面起着至关重要的作用,分析视觉和听觉元素以提取上下文感知摘要的关键特征。这种应用在新闻聚合和内容策展中至关重要。它们还对视频编辑领域作出贡献,如现有文献所述。此外,在特定领域,如广告编辑,也存在应用场景。
video_analyst:一系列对视频理解有用的基本算法,包括单对象跟踪(SOT),视频对象分段(VOS)等
05-22
视频分析师 这是一系列对视频理解有用的基本算法的实现,包括单对象跟踪(SOT),视频对象分段(VOS)等。 当前实施清单: SOT SiamFC ++输出示例。 VOS SAT输出示例。 SOT快速入门 设置 请参考 , 演示版 SOT视频演示 # demo with web camera python3 ./demo/main/video/sot_video.py --config ' experiments/siamfcpp/test/vot/siamfcpp_alexnet.yaml ' --device cuda --video " webcam " # demo with video file, and dump result into video file (optional) python3 ./demo/main/video/sot_video.py --
多模态模型微调-基于Lora对Qwen-VL多模态模型进行微调-附项目源码+流程教程-优质项目实战.zip
最新发布
10-16
多模态模型微调_基于Lora对Qwen_VL多模态模型进行微调_附项目源码+流程教程_优质项目实战
Holmes-VAD - 基于多模态大语言模型的无偏且可解释的视频异常检测
07-27
- **多模态大语言模型微调**:微调一个多模态大型语言模型(LLM),以生成具有解释性的内容。 大量的实验结果证明了Holmes-VAD的通用性和解释能力,使其成为现实世界中视频异常分析的一种新型可解释技术。 #### ...
多模态模型:技术原理与实战 微调实战
AI天才研究院
06-25 819
近年来,随着深度学习技术的快速发展,人工智能领域取得了突破性进展,尤其是在自然语言处理和计算机视觉领域。然而,传统的单模态模型往往只能处理一种类型的数据,例如文本或图像,难以捕捉现实世界中多模态信息之间的复杂关系。为了解决这个问题,研究人员开始探索多模态学习,旨在构建能够同时处理和理解多种模态信息的模型多模态模型作为多模态学习的最新进展,通过整合来自不同模态的信息,例如文本、图像、音频和视频,能够实现更全面、更深入的语义理解
多模态模型 - LLaVA系列模型
yiyele的博客
07-08 1080
本文主要介绍了LLaVA系列的多模态模型,详细的介绍了每个版本的优化思路及方法。
多模态模型:技术原理与实战 微调技术介绍
AI天才研究院
05-31 607
多模态模型:技术原理与实战 微调技术介绍 1.背景介绍 1.1 多模态模型的兴起 近年来,随着深度学习技术的不断进步,以及计算能力和数据规模的持续增长,多模态模型(Multimodal Large Models)成为了人工
腾讯多模态模型最新综述,从26个主流大模型多模态效果提升关键方法
weixin_43564920的博客
01-29 4863
在腾讯 2024 数字科技前沿应用趋势中,强调了“通用人工智能渐行渐近,大模型走向多模态,AI智能体(Agent)有望成为下一代平台当下多模态模型不仅仅是学界新宠,也是未来行业发展进步的一大方向,站在这篇综述的基础之上,期待我们可以更快更好的理解未来多模态模型的发展,赶上这波通用人工智能的新浪潮!
视频理解AI模型分类与汇总
zephyr_wang的博客
05-12 2824
人工智能领域视频模型大体也经历了从传统手工特征,到卷积神经网络、3D卷积网络、双流网络、transformer的发展脉络。
模型 transformer模型
08-26
模型是指具有更多参数的神经网络模型。在自然语言处理领域,Transformer模型是一种显著的大模型,广泛应用于机器翻译、文本生成和语言理解等任务。 Transformer模型是由Google在2017年提出的,它主要包括了自注意力机制(self-attention)和位置编码(position encoding)。相比传统的递归和卷积神经网络,Transformer模型能够并行计算,从而加快了训练和推理的速度。 Transformer模型的核心组件是多层的自注意力机制。自注意力机制能够根据输入序列的不同位置信息,动态地为每个位置分配不同的权重,以便更好地捕捉上下文关系。通过多层堆叠自注意力机制,Transformer模型能够学习到更复杂的语言特征。 由于Transformer模型参数众多,需要大量的训练数据和计算资源进行训练。开发者们通常会利用预训练的Transformer模型,在特定任务上进行微调以获得更好的性能。例如,BERT、GPT和T5等模型都是基于Transformer架构的大模型,在各自领域取得了显著的成果。
写文章

热门文章

  • 三维重建(单目、双目、多目、点云、SFM、SLAM) 51954
  • 卷积神经网络学习—Resnet50(论文精读+pytorch代码复现) 39918
  • c语言 [Error] expected declaration or statement at end of input的解决方法 39030
  • RuntimeError: CUDA out of memory. Tried to allocate 50.00 MiB (GPU 0; 4.00 GiB total capacity; 682.9 27881
  • 视频理解多模态大模型(大模型基础、微调、视频理解基础) 24092

分类专栏

  • video understanding 5篇
  • Pytorch学习 18篇
  • 笔记 14篇
  • 深度学习 49篇
  • NLP BigModel 3篇
  • AIGC 5篇
  • PhD系列 2篇
  • 基础论文 6篇
  • Pytorch Model 组件
  • 保研机试算法修炼 5篇
  • 计算机图形学 1篇
  • 自动驾驶-ROS
  • Spa之路
  • c语言基础知识 3篇
  • c语言bug 2篇
  • HPC与CUDA 2篇
  • 微表情识别MER 1篇
  • 数学建模 10篇

最新评论

  • Stable Diffusion 源码解析(1)

    Xueli_Xie: 很清晰,看过质量最高的SD讲解

  • 深度学习中 多尺度、多粒度 理解

    seven@wang: 那是不是可以理解为多尺度是patch embedding 多粒度是window划分

  • 知识蒸馏—原理+代码实战(Distillation CNN 和 Progressive Distillation Diffusion)

    对方0222: 请问Progressive Distillation Diffusion有相关的文献可以阅读吗?

  • 4、解构三个重要的Pipeline(SD-Inpainting, ControlNet, AnimateDiff) [代码级手把手解析diffusers库]

    相似相溶: animatediff求更新!

  • 视频理解多模态大模型(大模型基础、微调、视频理解基础)

    Yuezero_: 就是一个learnable的parameters

大家在看

  • 2024新群体优化算法MISBOA---基于多智能体模拟退火的旅行商问题TSP求解,附带创新方向 392

最新文章

  • Liger Kernel使用Triton优化trnasformers训练
  • 大模型权重加载之——Meta device
  • VLM训练——Trainer源码解读
2024年35篇
2023年79篇
2022年65篇
2021年3篇

目录

目录

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yuezero_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司邛崃网站优化页面瓜州县网站seo优化排名阿克苏网站seo优化哪家好优化网站不能做的事情云阳网站排名优化网站编辑转为seo优化昆明网站优化常识属于网站优化内容虹口区谷歌网站优化娄底网站优化咨询网站优化行不行天津网站排名优化邯郸家具行业网站优化推广怎么样网站优化资质网站优化专业网站快速排名优化报价汕头企业网站关键词优化推广嘉兴网站优化经验网站关键词优化哪家优惠丹阳网站优化报价企业网站排名软件度智能优化服务好的网站设计优化网站优化关键词数量优化空间网站亚马逊网站排名优化大港网站优化哪家专业宿迁网站优化公司方案网站首页的优化广东茂名seo网站优化网站优化的优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化