Data Filtering Network论文浅析

time2023-09
paperhttps://arxiv.org/abs/2309.17425
codehttps://huggingface.co/apple/DFN5B-CLIP-ViT-H-14-378
org.Apple
个人博客地址http://myhz0606.com/article/dfn

Motivation

训练一个好的CLIP模型依赖大规模高质量的训练数据。通过爬虫,可以很容易从互联网爬取大量(上千亿)的图文数据,满足大规模的要求是容易的。但是,互联网中的图文数据含有大量噪声,为了提升质量,数据治理(data curation)必不可少。如何设计一个鲁棒、低成本的data curation方案也是目前的一个研究热点,也是这篇文章的主题。

Main Idea

Data Filtering Network 的核心流程如下:

STEP1: 用高质量的数据训练DFN(data filter network)

STEP2: 用训练好的DFN对uncurated data进行过滤,得到DFN induced Dataset

filtering的代码逻辑

def apply_dfn (dfn , data_pool): 
    return [x for x in data_pool if dfn(x)]

STEP3: 用DFN induced Dataset训练CLIP

总体是一个二阶段的训练过程,先训练DFN,再训练CLIP。

在这里插入图片描述

实验

部分英文名词进行说明

description
uncurated data/data pool未清洗的大规模爬取数据集
filter dataset用来训练DFN的数据集
induced dataset对data pool用DFN进行过滤的数据集
induced model用induced dataset训练的CLIP模型

Data Filtering Network的形式探究

DFN的本质上是一个判别模型。给定一个sample,DNF判别其是否为正例。作者主要探究了3种DFN的形式:

  1. 仅考虑图片信息,建模为binary classification。具体来说,将CC12M和imageNet的图片作为正例(高质量图片),CommonCrawl的图片作为负例(低质量图片),训练一个分类模型来filter。
  2. 建模为重建任务。以mask区域的重建质量作为判别依据。具体来说,用高质量的图文数据训练M3AE。推理阶段计算data pool 图片mask区域的重建损失,高的作为噪声。
  3. CLIP形式。用CLIP score进行filter。(作者最后用该方法训练DFN)

在这里插入图片描述

DFN和之前常用的CLIP filtering算法形式上一致。主要区别在于DFN中的CLIP是在高质量数据上训练的,过滤效果好一些。另外论文提供的一些实验上的insighting可以参考。

数据质量对DFN性能的影响

作者用induced model在下游任务的性能来间接评估DFN的性能。

作者评估用不同的高质量数据训练的DFN所产生的induced model的性能。实验发现:DFN的训练数据质量低时,induced model的性能明显下降。

在这里插入图片描述

Induced Dataset的构建

作者迁移OpenAI CLIP的权重,在HQITP-350M 高质量图文对数据上对其进行微调,得到DFN,随后用该模型对data pool数据进行打分,过滤得到DFB2BDFN5B数据集,具体流程:

datasetdata poolfiterring rule
DFN2BDataComp-xlarge (12.8B)将score得分在前2B(约15%)的数据作为induced dataset
DFN5BDataComp-xlarge (12.8B) + 30B 额外的爬取数据将score得分在前5B的数据作为induced dataset

DFN二阶段训练范式必要性研究

作者进一步探究所提出的二阶段范式的必要性

stage1: 训练DFN。“high quality filter dataset → DFN”,

stage2: 训练induced model。“data-pool → DFN (trained)→ induced dataset → induced model”

具体结果见表:

在这里插入图片描述

作者对比用DFN filter 和用OpenAI的CLIP fileter(OAI ViT-B/32 Induced Dataset ) 在评估数据集的效果。有点困惑的是:作者的DFN2B用的是前15%的数据。而baseline 似乎用的是clip score > 0.3的数据。似乎不太公平?

Data Pool 对DFN性能的影响

从下表可知,DFN的性能随data pool size的增加而增加。这也很好理解,data pool越大,经过DFN过滤后,排在前2B的数据平均score就越高。

在这里插入图片描述

由于HQITP-350M 数据是闭源的。作者也在开源高质量数据上训练DFN,验证其方法的有效性

在这里插入图片描述

上表也间接验证了数据质量对DFN性能的影响。同样规模induced dataset, HQITP-350M 训练的DFN相较开源高质量数据,induced model的性能在不通data pool下都下降了7-8个点。

小结

文本从data curation的方向研究如何提升CLIP的performance。本文核心是提出了一个二阶段的训练范式:

  • Stage1: 用高质量数据训练DFN。“high quality filter dataset → DFN”;
  • Stage2: 用DFN清洗后的数据训练induced model (即CLIP)。“data-pool → DFN (trained)→ induced dataset → induced model”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值