首页
常用链接
关于
Search
1
Pytorch DDP
2,093 阅读
2
Pytorch 常见问题
1,211 阅读
3
视频时序切分
854 阅读
4
Semi-Supervised + Noisy Label
747 阅读
5
中文场景下的CLIP图文预训练
738 阅读
阅读
论文阅读
多模态理解
计算机视觉
Video Understanding
Segmentation
AIGC
机器学习
编程开发
C++
Python
LeetCode
Shell
Pytorch
模型加速
广告
广告基础知识
推荐算法
创意优选
购房/投资
职场经验复盘
默认分类
Search
标签搜索
python
Pandas
transformer
视觉传统方法
创意质量
git
shell
视频理解
Pytroch
nlp
DDP
图像自监督预训练
安装包
视频流行度
Jefxiong
累计撰写
50
篇文章
累计收到
7
条评论
首页
栏目
阅读
论文阅读
多模态理解
计算机视觉
Video Understanding
Segmentation
AIGC
机器学习
编程开发
C++
Python
LeetCode
Shell
Pytorch
模型加速
广告
广告基础知识
推荐算法
创意优选
购房/投资
职场经验复盘
默认分类
页面
常用链接
关于
搜索到
50
篇与
人工智能炼丹师
的结果
2024-08-04
多模态预训练模型之CogVLM
CogVLM:VISUAL EXPERT FOR LARGE LANGUAGE MODELS 被多个文生图模型广泛使用,包括SD3、可图用作Caption模型 图像 & 文本分别建模的思想在SD3中的MMDIT中也被应用到 1. Motivation 浅层对齐的缺陷:例如BLIP2的QFormer或者LLAVA的MLP,作者认为是导致幻觉的一个重要原因 浅层对齐 + 图文联合训练(LLM+Vision+adapter)会损害NLP的能力: Qwen-VL 等模型,会导致文本理解能力的灾难性遗忘【只要训练数据配比得当,就能避免这个问题?】 2. 主要贡献 模型结构: 引入视觉专家(QKV matrix+ FFN): 冻结LLM,100%保留文本对话能力 视觉位置编码:图像特征共享一个位置编码,对于高分辨率理解有帮助。 3. 一些细节 3.1 消融实验(caption 任务 + VQA任务) 模型结构 & 微调的部分:【视觉专家 + MLP adapater】比其他更好,(为什么没有微调视觉+LLM+adapter全量实验,在下游任务上全量FT应该可以更好),该部分影响最大 采用LLM的权重来初始化Visual Expert能够提升性能(应该能加速训练,和LLM expert融合会更容易) 视觉部分,单向注意 or 双向注意的影响,使用单向注意反而更好 视觉部分的自回归监督,没有提升 EMA可以多数任务上均能带来提升 3.3 训练数据细节 3.3.1 预训练数据 LAION-2B + COYO-700M-> 1.5B Visual grouding: 40M(GLIP v2预测的bounding box作为GT),从LAION-115M中过滤出来的40M(75%的图片包含至少两个目标框) 3.3.2 SFT数据(50w) LLaVA-Instruct (corrected) LRV-Instruction LLaVAR in-house data 3.4 训练细节 在SFT阶段,对LLM进行训练,学习率为base其他参数的10%,VIT始终保持固定
2024年08月04日
123 阅读
0 评论
0 点赞
2024-06-09
DiT文生图系列之Pixart-∑
PixArt-Σ: Weak-to-Strong Training of Diffusion Transformer for 4K Text-to-Image Generation Motivation 高分辩率图像生成: Transformer架构中序列越长,计算复杂度是O(n^2),越长的分辨率,对于计算推理时间和训练成本来说就越高。如何实现更好更快的生成是一大难点。 高质量的图文对数据:爬虫图文对在图片质量和文本质量上都存在问题,不够美观,图文相关性弱。利用MLLM进行recaption通常会出现幻觉问题,提升MLLM的精度对于图文一致性非常重要。 从弱到强的训练策略:对于低分辨率训练模型、vae模型切换,从已经训练好的base模型,继承之前的训练权重,如何更好的迁移到新模型非常重要,节约训练成本。 主要贡献 高分辩率图像生成 根据self-attention的计算原理,KV矩阵的长度可以比原序列更短。注意力维度由NxN变成Nx(N/(RxR)): $QK^{T}$的维度变换(NC) (CxN/(RxR))-> N x (N/(RxR))。这样可以实现计算的压缩,并且相邻token存在语义的相似性,这样相当于引入了空间的局部先验。这里压缩的函数$f_{compress}$可以是global average pooling或者是stride为R的卷积层(可以用avg的kernel初始化加速训练)。 高质量的图文对数据 PixArt-Σ采用更好的ShareCaptioner替代原始的LLava模型,幻觉率更低,训练时采用60%概率选择,让模型能够适用caption文本和更多样范式的其他文本。收集了8百万4K分辨率的真实摄影图片。 从弱到强的训练策略: VAE: 从SD1.5的VAE替换到SDXL的VAE,2k训练steps 512分辨率提升到1024分辨率:结合位置编码插值(PE Interp),可以实现更快的尺度适应 KV压缩并采用avg的kernel权重初始化可以加速训练 继承原有的权重训练,PixArt-Σ具有非常高的训练效率 一些思考 局部窗口进行kv的压缩对于用Transformer架构的生成模型来说都是适用的,也可以用于自回归范式的图像生成模型
2024年06月09日
120 阅读
0 评论
2 点赞
2024-04-05
基于LLM做多模态生成系列文章-Make-A-Scene
基于LLM做多模态生成系列文章-Make-A-Scene Make a Scene (Meta-2022): Make-A-Scene: Scene-Based Text-to-Image Generation with Human Priors Motivation 提升生成的可控性:Make-A-Scene同期工作主要以文生图为主,生成结果的可控性低。(ControlNet之前的工作) 人类感知优化:人类对于人脸/人体显著物体的畸形容忍程度较低,生成图片需要增强这些方面的能力 主要贡献 1. 可控生成:实现除文本控制外,增加图片分割图的可控生成,结构一致性 2. 压缩优化:优化图片tokenizer,增强对显著物体(人脸/人体等)的重建效果 3. 推理优化:提出针对自回归图片生成模型的CFG方案【可以舍弃CLIP rerank的环节】,极大提升FID和图文对齐 一些思考 分割图与类别相关,推理过程中有OOD的类别,有一定的限制性 提高对显著物体的重建效果,通过加入“感知Loss”实现,Face Embedding or Vgg Embedding进行约束 CFG对于提升图文一致性效果非常显著。 其中系数经验值取3-5
2024年04月05日
161 阅读
0 评论
0 点赞
2024-03-24
基于LLM做多模态生成系列文章-Parti和Dalle
基于LLM做多模态生成系列文章-Parti和Dalle Parti: Scaling Autoregressive Models for Content-Rich Text-to-Image Generation Dalle: Zero-Shot Text-to-Image Generation 基于LLM的图片生成预期达成目标:复杂指令生成(多主体,属性绑定、空间位置关系等)、世界性知识 模型 模型结构图 图片离散化方式 自回归网络 参数量 生成图片大小 Dalle d-VAE Decoder-only 12B 256x256 Parti vit-VQGAN Encoder-Decoder 350M、750M、3B、20B 1024 = 256 + 4倍SR 参考链接 -知乎 多模态预训练:DALL-E
2024年03月24日
177 阅读
0 评论
0 点赞
2024-03-24
基于LLM做多模态生成系列文章-VideoPoet
VideoPoet: A Large Language Model for Zero-Shot Video Generation Motivation 用扩散模型还是LLM做视觉生成?:LLM相比于Diffusion的优势,基设好,模型架构统一,多任务友好。但是当前主流的视觉生成还是以扩散模型为主,主要的原因在于训练一个基础模型的成本很高,以SD开源模型为代表。基于开源SD进行优化实现成本小很多,通过各种adapter在下游任务做适配。扩散模型对于任意多模态生成不利于统一(比如,如何用扩散模型做QA问答?),LLM会更友好。 主要贡献 多模态生成统一架构,实现图片、视频、音频的自回归生成,其中文本采用T5,视觉采用Magvit-v2,音频采用SoundStream Encoder进行离散化 级连的两阶段超分(两个2x超分):超分辨率受限于token长度,采用局部窗口的attention方式。采用将水平、垂直、时间三个维度解耦。 一些细节 模型参数量:8B模型 语言模型选择:UL2: Unifying Language Learning Paradigms 图文数据量:1B 视频数据量:270M(其中100M带有文字描述) tokeinzer词表:视觉采用Magvit-v2【26w词表】、音频:SoundStream Encoder【4096词表】 一些思考 关于文本编码:只用64个Token进行文字编码,并且使用预训练的文本编码器(T5-XL)。虽然提高了效率,但是受限预训练模型,并且转换到中文场景也会有限制(中文语义编码不准确)。端到端训练时,能够训练文本编码,如果有足够的数据量,理论上应该是更适配的。另外,该设计方案不考虑文本生成,不太符合全模态输出的设计。 视觉Tokenizer:Tokenizer在整个框架中非常重要,提升压缩率,能用更少的token来表示,以提升自回归的效率。Tokenizer应该是分层级的,有些场景对细节要求很高,则需要非常低损失的压缩,如小人脸、文字。对于风景,需要压缩损失可以更大些,提升自回归的效率。 预训练任务+下游多任务Finetune: 预训练任务越多越丰富,在使用时zero-shot性能和需要的下游数据量越少。具体需要哪些预训练任务,需要仔细考量。
2024年03月24日
183 阅读
0 评论
0 点赞
2023-12-17
Imagen 2(Google DeepMind)
Imagen2 概览 参考链接 https://deepmind.google/technologies/imagen-2/
2023年12月17日
312 阅读
0 评论
2 点赞
2023-11-25
Emu & Emu-edit (Meta)
Emu: Enhancing Image Generation Models Using Photogenic Needles in a Haystack Emu的主要发现: 采用少量的人工挑选标注数据(2k),即可大幅提升生成图像的美学质量。可能存在的问题:在少量数据集下Finetune需要严格控制训练steps,否则可能会出现过拟合问题、主体概念遗忘问题 Emu 训练测试流程 Emu 模型结构 模型结构主要改进点: 文本Encoder集成 CLIP和T5-XXL两种不同类型特征 提升VAE编码的特征通道数,让有损压缩丢失的信息更少 参考之前工作,利用noise-offset & 分尺度多阶段训练方法。前期学习语义生成,后期提升生成细节。 Emu Edit: Precise Image Editing via Recognition and Generation Tasks TODO
2023年11月25日
205 阅读
0 评论
3 点赞
2023-04-19
LLM course
stanford-cs324 winter2022 Large Language Models COS 597G (Fall 2022): Understanding Large Language Models huggingface NLP course Understanding Large Language Models -- A Transformative Reading List github Awesome-LLM
2023年04月19日
291 阅读
0 评论
0 点赞
2023-04-01
中文场景下的CLIP图文预训练
1. 写在前面 被广泛使用的CLIP模型,采用英文描述和图片对数据集(WebImageText 400M),进行对比学习训练,限制了其在中文场景下的应用。例如,在文生图应用中,国外开源模型Stable Diffusion需要采用英文作为输入,要支持中文描述生成图片得先翻译为英文。此外利用英文语料库训练的模型,对于【红烧狮子头、佛跳墙、对联和中文的成语、历史典故等】中文语境理解不够 在中文场景下的图文理解,近期也有相应的算法提出,包括智源的AltCLIP、阿里的ChinseCLIP、IDEA研究院的Taiyi、Wenlan、Wukong、R2D2等。这些算法各有优劣,本文将对上述算法和相关的数据集进行总结对比。 2. 中文-图文数据集 数据集 说明 机构 下载链接 WuKong 100M 数据集大小100M 华为 https://wukong-dataset.github.io/wukong-dataset/ Zero-Corpus 开源数据集大小23M(共250M) ,通过用户CTR行为数据进行过滤匹配的图文对 360 https://zero.so.com/index.html Laion5B-CN 包含多语言的图文数据,其中中文约143M LAION https://laion.ai/blog/laion-5b/ M6-Corpus 60M 阿里 数据未开源 TaiSu 166M 中科院自动化所 https://github.com/ksOAn6g5/TaiSu 3. 现有中文CLIP综合对比 多数的中文CLIP均采用固定图像侧模型参数,只训练文本Encoder的方法。为进一步提升性能,ChinseCLIP 采用两阶段训练方案:先只训练文本Encoder,再联合训练图像Encoder+文本Encoder; AltCLIP也采用两阶段训练方案: 利用模型蒸馏,学习不同语种之间的文本语义对齐,再利用图文对对比学习,Finetune文本Encoder。 多数方法虽然提升了模型在中文数据上的指标,但是同时在英文数据上的性能(zero-shot 检索任务)却下降了。截止到目前(2023/04),AltCLIP方法能够在中文和英文数据集上均取得SOTA的结果。 算法 开源日期 训练集 算法概括 Wukong-CLIP 2022-02 Wukong(100M/500M) 冻结图像encoder(ResNet50/VIT/Swin), 只训练文本Encoder,对比学习损失参照FILIP的方式学习细粒度的文本和图像块对齐 Taiyi-CLIP 2022-09 Wukong(100M)+Zero(23M) 基于OpenCLIP,冻结视觉编码器并且只微调语言编码器 ChinseCLIP 2022-11 LAION-CN(108M)+Wukong(72M)+翻译数据(20M, Visual Genome/MSCOCO) 基于OpenCLIP,两阶段训练方案: 1) 先Finetune文本Encoder2) 再结合ImageEncoder联合训练; 模型的缺点: 在英文任务上的指标大幅下降 AltCLIP 2022-12 Wudao + LAION 基于XLM-R文本Encoder+OpenCLIP图像Encoer,两阶段训练方案: 1) 先只是使用平行语料文本(相同含义的中英文数据)来进行蒸馏(平行语料相对于图文对更容易获取且数量更大)2) 再使用少量的2M中/英图像-文本对来训练文本编码器(图像侧固定)
2023年04月01日
738 阅读
1 评论
5 点赞
2023-02-28
生成内容真实度判别调研 & 模型选型
1. 背景概述 调研出发点: 利用判别模型对生成内容进行真假打分,根据模型输出属于“真”类的得分进行排序,可以筛选出生成“质量”更高的内容 任务难点: 简单的二分类任务(真假判别),泛化性能不足(没学到期望的关键信息) 简单整图二分类模型的解释性不强。如果能够在空间上“检测”到不真实部分的位置,则模型的可解释性更强 本文主要围绕DeepFake相关工作和近期文本/图像生成模型和强化学习结合的Reward函数设计两方面展开调研 2. 相关工作 2.1 真假图像鉴别 2.1.1 粗暴二分类方案 【CVPR 2020】【Adobe Research】CNN-generated images are surprisingly easy to spot... for now Motivation:提升真假鉴别器在不同数据集上的泛化性,实验分析影响模型泛化性的因素 Method & Results: 模型结构:利用ImageNet预训练的ResNet50进行真假鉴别二分类训练 数据增广:Gaussian blur、JPEG压缩的数据增广,提升模型在不同数据集下的泛化性能 定性分析: 鉴别器不能稳定表征图像的真实度/虚假度,在部分数据集上可观测到规律 4. 生成图片 vs 真实图片频域差异:大部分生成图片在频域有棋盘效应(low-level CNN artifacts) 5. 在PS结果上的泛化性:模型在Photoshope处理过的数据集上预测结果近乎随机 2.1.2 关注局部细节的鉴别方法 【CVPR 2021】【Microsoft Cloud AI】Multi-attentional Deepfake Detection Motivation:真假图片分类和Fine-grained图片分类相似,更关注图像的局部细节,而不是整体轮廓 or 背景语义信息。借鉴Fine-grained classification中的part-based方法提升细节鉴别能力 Method & Results:采用浅层纹理特征 & 深层语义特征融合的方式,进行二分类网络训练 局部边缘纹理增强模块(Texture enhancement block): 输入浅层特征Feature map,减去模糊(pooling)后的Feature mAP得到边缘纹理 空间局部注意力模块[Attnetion Module] & Bilinear Attention Pooling:输入高层语义特征,经过1x1卷积获得M个不同的Attention Map(Fk),利用这些注意力引导浅层&深层特征 增强注意力多样性: 基于注意力的显著性区域模糊AGDA(Attention Guided Data Augmentations):I′ = I × (1 − A) + Id × A (Id为高斯模糊图像,A为随机一张attention MAP) 注意力特征图metric learning约束(Regional Independence Loss):同一个注意力图关注区域特征相近,不同注意力图关注区域特征远离 【CVPR 2022】【Youtu Lab, Tencent】End-to-End Reconstruction-Classification Learning for Face Forgery Detection Motivation:当训练集中Fake类别图像分布不够丰富时(Fake图片的种类通常是多样且日益增长),判别式模型的泛化性能存在问题 Method & Results:通过生成式模型AutoEncoder进行像素级重建,学习真实图像的数据分布 模型结构优化: 像素级AutoEncoder重建(只对真实样本进行) & 重建误差注意力引导 在多个图像尺度下进行Encoder、Decoder之间的信息聚合: 度量学习损失优化:只约束真实样本特征之间尽可能接近(不同方法生成样本分布差异大),约束真假图像之间距离远离 模型泛化能力验证:训练不做数据扰动,测试时进数据增广,验证模型性能 2.1.3 基于频域的检测方法 【ECCV 2020】【SenseTime】Thinking in Frequency: Face Forgery Detection by Mining Frequency-aware Clues Motivation: 生成图像的“伪影”在频域更为明显,通过引入频域特征,提升模型鉴别能力;当图像被JPEG压缩后,伪影在像素空间上不显著,但在频域响应中可见 Method & Results: 论文方法整体还是一个二分类的框架,为了能够充分利用频域信息,作者采用了FAD提取空间域特征,LFS提取频域特征,最后再进行两类特征融合。 Frequency-aware 空间域特征(FAD):利用DCT将输入图像转换到频域,在频域进行高通、低通、和带通滤波,每个频带的滤波结果转换回空间域之后,就实现了图像分解,图像分解之后再进行CNN特征提取。 Local Frequency Statistics (LFS频域特征):利用滑动窗口DCT,对空间局部快进行频域分布统计特征 LFS 与FAD虽然都利用了频域信息,但是LFS是显式地以频域幅值作为特征,而FAD则通过DCT反变换回空间域再进行CNN特征提取。局部窗口统计特征 & 空间像素特征具有平移不变形,所以能适用CNN。(不直接在整图的频域上使用CNN) two-stream融合模块:Cross Attnetion 进行两类特征融合 模型优点 & 实验验证:在低画质图像上(压缩),模型的性能优越 【CVPR 2021】【Kuaishou】Frequency-aware Discriminative Feature Learning Supervised by Single-Center Loss for Face Forgery Detection Motivation: 1)基于softmax的分类损失没有约束类内距离紧凑 & 类间距离尽可能远离,为了实现这一目标提升鉴别器模型的泛化能力,作者提出针对真假二分类的度量学习损失函数;2)频域与像素空间域特征互补,提升精度 Method & Results: 模型整体流程:输入RGB图像,分别提取空间像素域和频域特征,对融合后的特征进行Softmax loss和Single-Center Loss两种损失函数进行监督: 频域特征提取:与JPEG压缩的方法类似,将RGB-〉YCbCr后,对局部块(8*8)进行DCT变换,并合并相同频率系数到当个channel(局部块 & reshape等操作和F3Net相似) Single-Center Loss:最小化真实图像特征与Natural(真实图像)类中心之间的距离 & 最大化,最大化每个生成图像与Natural类别中心之间的相对距离 模型效果验证: 2.2 生成内容排序 2.2.1 文本生成 【InstructGPT】【OpenAI】Training language models to follow instructions with human feedback Reward Model方法:对于一个prompt生成N个结果,让标注员对生成内容进行排序。对于一条排序好的标注数据,选择组样本对,并构建pairwise网络,学习对选择的两个生成内容进行质量高低判断。不做绝对打分而做排序的原因:排序标注更容易达成一致意见,标准更统一,而打绝对分数标注更困难(进而导致标注质量低,模型训练困难)。 2.2.2 图片生成 【Google】 Aligning Text-to-Image Models using Human Feedback Reward Function:学习文本与生成图像之间的匹配程度,采用0/1二分进行监督(背景/计数/颜色三方面综合考量) 模型输入:prompt T + 生成图像 I 模型输出:利用clip的文本 & 视觉 encoder分别提取文本和图像特征,经过两层MLP直接输出匹配度 监督目标:监督信号包含有监督和自监督两种 有监督:Reward模型输出的匹配度与人工标注的0/1匹配值,进行MSEloss监督 自监督:随机采样N个文本与生成图像I计算匹配度,最后得到N+1个匹配度score,进行CrossEntropy损失函数监督 3. 方案选型 3.1 网络结构选型 3.2 监督目标选型 4. 参考文献 https://github.com/Daisy-Zhang/Awesome-Deepfakes-Detection https://docs.qq.com/doc/DVG9pRHBFTUxYa0t1?&u=b0613c6debd74375ab98960a2d73d708
2023年02月28日
418 阅读
0 评论
2 点赞
2022-11-02
公开音频数据集和语音预训练模型总结
开源数据集 数据集 说明 Google-AudioSet 2084k, 527个类别, youtube视频 Youtube-100M 100M Youtube视频,根据标题/描述/评论自动生成的标签,标签集合约3w WeneSpeech 中文1w小时+音频数据集, 包括有声书、解说、纪录片、电视剧、访谈、新闻、朗读、演讲、综艺和其他等10大场景 VGG-Sound short clips of audio sounds, 200k个Youtube视频, 310个类别 LibriSpeech Large-scale (1000 hours) corpus of read English speech Libri-Light open-source audio books from the LibriVox project GigaSpeech audiobooks, podcasts and YouTube VoxPopuli multilingual corpus, 23种语言,100k小时 开源预训练模型 模型 训练数据 备注 Vggish YouTube-100M 2017年 腾讯游戏开源wav2vec2.0 & hubert WeneSpeech 2021年 FaceBook data2vec LibriSpeech 2022年 MSRA WavLM Libri-Light, GigaSpeech, VoxPopuli 2021年
2022年11月02日
300 阅读
0 评论
3 点赞
2022-09-17
2022年微信大数据比赛(多模态短视频分类)总结
写在前面 今天(2022.09.17), 微信大数据比赛进行了现场决赛答辩。由于工作内容和比赛比较相关,所以一直有关注。简单总结下听完线上现场答辩直播后的一些感受。近年来随着短视频的发展,多模态视频分类任务变得越来越火,多模态分类算法方案从最开始的: 多模态特征提取后简单concat拼接的baseline方案,演进到目前主流采用在大规模数据下进行预训练方式,来充分利用无标注数据获取更好的特征表示和将不同模态特征对齐,参赛选手都是基于预训练+Finetune方式来做的,但答辩现场给我影响最深刻的就是,评委张正友老师谈到的: 选手针对赛题本身问题做的优化太少。我们在做算法优化的时候,应该优先去做哪些算法优化点, 我相信这也是算法工程师经常遇到的问题。本文主要围绕这个谈谈个人的想法,最后总结下比赛中多模态分类里的一些上分优化点。 从数据分析问题出发还是“无脑堆好模型”? 这道赛题的难点如果去做数据分析,我们大概率会发现是这些问题:1) 数据类别分布不均衡;2) ASR/OCR/Title文本数据存在噪声(识别不准确 + 标签党视频文本不匹配等等),直接做对视频/文本对比学习可能噪声大;3)ASR/OCR相比较于标题而言噪声更大,如何区分处理不同类型的文本;4)标签体系是层次的,包括一级分类和二级分类,做层次分类可能对比模型精度能够有提升 5)标注数据GT是有噪声的, 如何做带噪学习训练,和标签数据清洗等方面。6) 如何利用大量无标注数据。这类问题每个都能找到很多论文来解决,但到底最后能对最终的评测指标能有多少提升却很难准确预估。 比赛的第一名GDY的方案,最大的不同的地方是利用单流/双流等差异性足够大的模型做集成,最后再利用模型蒸馏的想法将未标注的数据集利用起来。想法其实也很简单,利用好而不同的模型集成和模型蒸馏也是教科书里面会涉及的知识点,但就是这拉开了和其他选手之间的比分差距。对于数据分析能表现出来的问题,没有在最终方案中体现出来。比如数据不均衡问题,第一名没有做特殊处理优化,只是简单地使用了训练数据类别重采样,和利用蒸馏得到的伪标签样本进行类别平衡。 所以,这就引发我思考: 我们在做算法优化的时候,应该优先去做哪些算法优化。基于数据分析问题出发,还是直接无脑把先各种最好的模型堆叠起来,去快速不断尝试刷新指标。如果基于数据分析到的问题来解决问题,我们可能会采取以下一些方案: 比如标注数据GT带噪,可能最无脑的方式是顾一大批人,来人工把数据智能清洗一遍(有钱好办事) 更高效一点的方式,是利用聚类算法,基于规则对数据进行清洗 偏学术的做法,基于带噪训练的框架, 选择对噪声更鲁邦的损失函数等 这些针对具体问题出发的解决方法和“选择一个更好的模型”,那个应该优先做?对于选手来说,在限定时间的比赛阶段来看,能够快速做模型迭代是很重要的。对在岗工程师而言,如果抓不住主要矛盾,而导致项目不能在deadline前完成也不好交差。 一些想法(欢迎留言讨论) 我觉得 数据分析 + 堆好模型两个都很重要,在不同的时期,需要给两者分配不同的权重 1.项目初期: 数据分析很重要,把事情做对而不是做最好。在工业界做算法开发,不像参加比赛,已经有人给我们准备好了训练和测试集。这些都需要我们自己构建(或外包标注团队),标注数据很可能有错标/缺失的问题,这个时候我们需要结合数据分析把数据做对,而不是疯狂堆好模型。不同的模型在有问题的数据上的测试结果可能就是随机数,不可信。 2.项目中期: 抓住主要矛盾,优先做最大投入产出比的事。 这个时候不能陷入到细节中,要有大局意识,找到投入产出比最大的方面进行优化。但如何找到主要矛盾也是门学问,我觉得主要依赖两点: 足够的经验积累和有效的数据分析。在比赛中,我们无法通过数据分析提前知道模型蒸馏是不是投入产出比最大的优化点,这部分只能试,但试的前提的有自己的insight,知道为什么试这个方案,这个方案预期能带来哪些增益,这就依赖于我们历史积累的经验和读过的论文来大致估计这部分的增益。数据分析也是项目中期需要特别关心的。包括混淆矩阵/PR指标/具体badcase归类等。 3.项目后期: 问题针对性优化,到这个时候已经基本满足业务需求了,基本是精益求精的时候,就更需要结合具体问题逐个击破(对于业务而言,这个时候再做任何模型优化,可能投入产出比并不大~) 多模态分类算法优化点总结 下面主要从数据处理、模型选取、优化tricks、模型集成等方面归纳总结下方案 1.数据处理: 视频抽帧在训练阶段随机采样,增加训练的多样性 文本可以采用分词而不是分字的方式,缓解文本长度过长问题,roberta-base-word-chinese-cluecorpussmall 2.模型选取: 模型选取,能选large就不选base,选择预训练数据集大和模型规模大的模型(clip-large) R2D2 参考BEIT3等 3.优化tricks防止过拟合: EMA模型平均,这个按经验一般有1%左右提升 FGM 文本对抗训练 Finetune时加预训练任务防止过拟合 RDrop: 一致性约束 4.模型集成: 好而不同,选择差异性大的好模型进行集成(单流&双流), 有利于模型蒸馏; 只用单个模型预测的伪标签,自己学自己,提升效果可能不理想 5.模型加速 TensorRT量化,可用选择对backbone模型进行量化,具体的分类模型在量化后的特征上进行训练,以保证精度不降的情况下提升模型推理效率 FasterTransformer Fp16推理 6.预训练任务选择 选手基本都是基于后验评测指标来综合考虑是否加mlm/mfm/vtm等预训练任务 参考链接 复赛结束后微信群内参赛选手讨论内容
2022年09月17日
719 阅读
0 评论
4 点赞
1
2
...
5
粤ICP备2021042327号