# WBDC_2022_RANK8
2022微信大数据挑战赛 第8名 方案
官网链接 : [link](https://algo.weixin.qq.com/) <br>
## 环境配置
Python 版本:3.8<br>
PyTorch 版本:1.9.0<br>
CUDA 版本:11.1<br>
所需环境在 `requirements.txt` 中定义。
## 数据
* 使用大赛提供的未标注数据进行无监督预训练(100万)
* 使用大赛提供的有标注数据进行微调(10万)。
## 简介
### 模型简介
(1) 单流模型: visual-bert [郭大分享链接](https://developers.weixin.qq.com/community/minihome/article/doc/000e22f25e0cc026a4fd55bce51013)
(2) 双流模型:lxmert
* 文本:bert-base
* 视频:vit-base
* 融合层:三层cross attention
### 视频特征抽取
* 使用了 huggingface 上提供的 `openai/clip-vit-base-patch32` 模型。[link](https://huggingface.co/openai/clip-vit-base-patch32)
### 单流预训练
(1) Mask language model 任务<br>
* title 随机 30% 进行 mask,预测 mask 词。<br>
(2) Mask frame model 任务<br>
* 对 frame 的随机 15% 进行 mask,mask 采用了全 0 的向量填充。<br>
采用了 Nce loss,最大化 mask 帧和预测帧的互信息<br>
(3) frame text match 任务<br>
* 打乱 batch 中 50%的视频帧, 预测 frame 和 text 是否配对<br>
(4) frame text clip 任务<br>
* 参考 郭大QQ浏览的 Inverse Cloze Task 的做法,[link](https://pcg-kandian-alg-race-1251316161.cos.ap-guangzhou.myqcloud.com/ws/topic1/top2/%E8%8B%9F%E8%BF%9B%E5%86%B3%E8%B5%9B.pdf) <br>
* 具体实现:<br>
* title 单独输入bert 得到 title_embedding<br>
* frame ocr asr 拼接后 输入 bert 得到 frame_ocr_asr_embedding<br>
* 构建 title_embedding 和 frame_ocr_asr_embedding 对比loss<br>
(5) mask modality clip 任务<br>
* 针对模态缺失的问题:设计 mask 掉 全部 frame 或 全部 text 的 任务<br>
* 参考论文: VLM: Task-agnostic Video-Language Model Pre-training for Video Understanding [link](https://arxiv.org/abs/2105.09996)<br>
### clip预训练
(1) video text clip 任务<br>
* 参照论文:ActionCLIP: A New Paradigm for Video Action Recognition [link](https://arxiv.org/abs/2109.08472)
* 具体实现
* 使用 clip-vit-base 提取 每个视频4帧的图像特征后 mean pooling 代表 video_embedding
* 使用 bert 提取 tilte 的特征 代表 title_embedding
* video_embedding 和 title_embedding 做 clip loss
### 微调
| 模型 id | 模型结构 | bert 初始化权重 | vit 初始化权重 | trick | F1-mean |
| ------- | ------- | -------------- | ------------- | ----- | ------- |
| model-1 | 单流 | 单流预训练 epoch 15 | clip-vit-base-32 | ema fgm | 71.4 (单折)<br>72.2 (全量) |
| model-2 | 单流 | 单流预训练 epoch 15 | clip 预训练 epoch 15 | ema fgm | 71.7(单折) 72.1(全量) |
| model-3 | 双流 | macbert-base | clip-vit-base-32 | ema fgm | 71(单折) |
| model-4 | 单流 | 单流预训练 epoch 15 | clip-vit-base-32 | ema pgd | - |
4个模型 ensemble 复赛 F1-mean:0.731633
## 最后
* 历时两个半月,非常感谢主办方提供的数据和计算资源,感谢工作人员的辛苦答疑。
* 此外, 也感谢QQ浏览器Ai算法大赛第一名、第二名和初赛周周星各位大佬们的分享和无私开源,我从中学到了许多无监督预训和训练技巧的新知识。
没有合适的资源?快使用搜索试试~ 我知道了~
2022微信大数据挑战赛 第8名 方案.zip
共51个文件
py:26个
pyc:22个
txt:1个
需积分: 3 0 下载量 8 浏览量
2024-01-15
10:43:21
上传
评论
收藏 116KB ZIP 举报
温馨提示
方案是为解决特定问题或达成特定目标而制定的一系列计划或步骤。它的作用是提供一种系统性的方法,以有效地应对挑战、优化流程或实现目标。以下是方案的主要作用: 问题解决: 方案的核心目标是解决问题。通过系统性的规划和执行,方案能够分析问题的根本原因,提供可行的解决方案,并引导实施过程,确保问题得到合理解决。 目标达成: 方案通常与明确的目标相关联,它提供了一种达成这些目标的计划。无论是企业战略、项目管理还是个人发展,方案的制定都有助于明确目标并提供达成目标的路径。 资源优化: 方案在设计时考虑了可用资源,以最大化其效用。通过明智的资源分配,方案可以在有限的资源条件下实现最大的效益,提高效率并减少浪费。 风险管理: 方案通常会对潜在的风险进行评估,并制定相应的风险管理策略。这有助于减轻潜在问题的影响,提高方案的可行性和可持续性。 决策支持: 方案提供了决策者所需的信息和数据,以便做出明智的决策。这种数据驱动的方法有助于减少不确定性,提高决策的准确性。 团队协作: 复杂的问题通常需要多个人的协同努力。方案提供了一个共同的框架,帮助团队成员理解各自的职责和任务,促进协作并确保整个团队朝着共同的目标努力。 监控与评估: 方案通常包括监控和评估的机制,以确保实施的有效性。通过定期的评估,可以及时调整方案,以适应变化的环境或新的挑战。 总体而言,方案的作用在于提供一种有序、有计划的方法,以解决问题、实现目标,并在实施过程中最大化资源利用和风险管理。
资源推荐
资源详情
资源评论
收起资源包目录
2022微信大数据挑战赛 第8名 方案.zip (51个子文件)
SJT-code
readme.md 3KB
utils
loss.py 7KB
ema_util.py 1KB
util.py 7KB
adv_util.py 5KB
category_id_map.py 4KB
__pycache__
ema_util.cpython-38.pyc 1KB
category_id_map.cpython-36.pyc 5KB
util.cpython-38.pyc 8KB
loss.cpython-38.pyc 7KB
adv_util.cpython-38.pyc 4KB
category_id_map.cpython-38.pyc 5KB
.ipynb_checkpoints
util-checkpoint.py 9KB
loss-checkpoint.py 7KB
data_prepare.py 2KB
dataset
pretrain_helper.py 7KB
dataset_helper.py 13KB
__pycache__
dataset_clr.cpython-38.pyc 5KB
dataset_helper.cpython-38.pyc 9KB
dataset_e2e.cpython-38.pyc 11KB
pretrain_helper.cpython-38.pyc 6KB
dataset_clip.cpython-38.pyc 5KB
.ipynb_checkpoints
pretrain_helper-checkpoint.py 7KB
dataset_e2e-checkpoint.py 17KB
dataset_clip-checkpoint.py 7KB
dataset_helper-checkpoint.py 13KB
extract_feature.py 5KB
inference.py 3KB
finetune_model_2.py 8KB
requirements.txt 76B
pretrain_clip.py 5KB
models
model_2_pretrain.py 6KB
model_1_pretrain.py 15KB
model_clip.py 1KB
model_1.py 7KB
model_2.py 6KB
__pycache__
model_1_pretrain.cpython-38.pyc 11KB
model_2_pretrain.cpython-38.pyc 4KB
model_clr.cpython-38.pyc 1KB
model_3.cpython-38.pyc 6KB
model_2.cpython-38.pyc 5KB
classifier.cpython-38.pyc 2KB
model_1.cpython-38.pyc 7KB
model_clip.cpython-38.pyc 1KB
model_e2e.cpython-38.pyc 8KB
finetune_model_1.py 8KB
.gitignore 5B
__pycache__
config.cpython-38.pyc 6KB
config.cpython-36.pyc 6KB
pretrain_model_1.py 4KB
config.py 10KB
共 51 条
- 1
资源评论
JJJ69
- 粉丝: 6236
- 资源: 5778
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功