Data Filtering Network 论文阅读和理解

目录

一、TL;DR

二、Introduction

2.1 apple的结论

2.2 业界做法:

2.3 我们的做法(Apple)

2.4 如何获取好的DFN

三、未完待续(这周出去购物了,下周继续补充)


一、TL;DR

  1. 核心观点:
    1. 高质量的数据过滤网络与下游的表现是不一致的,下游性能好的网络可能过滤不出高质量数据,性能差的网络可能过滤出高质量数据
    2. 假设存在一个大型未整理数据集。DFNs可以诱导出一个大规模、高质量的预训练数据集。
  2. 实际数据集:DFNs与大型未过滤的图像-文本池配对,产出20亿高质量的图文数据集:DFN-2B(20亿)

二、Introduction

2.1 apple的结论

开局放大招,直接说明高质量数据是可以节省算力+提升性能的:

2.2 业界做法:

   LAION数据集的构建方法:

很显然,上述数据的构建方法非常依赖open AI的clip模型,模型的性能会限制实际过滤出的数据的质量(我理解是某些具备高信息熵的FN会被漏掉,且FP会进来),根据我实际的数据集构建经验也确实如此,不再加一级人工逻辑数据集几乎无法直接使用,clip的判断在图像文本对的描述如果足够细节的情况下,极其容易出错,尤其是在小批量数据增加上,会给实际训练的模型带来退化;

DataComp数据集构建和评估方法:

    Common Crawl包括128亿对图像-文本配对,通过使用各种数据filter技术的效果固定使用open-ai的vit-L14的训练资源来评估imagenet等38个下游任务的性能,将这个基准测试作为评估fiter网络的主要方法; 

    同时,datacomp的作者还发布了DataComp-1B的数据集,该数据集是通过聚类和clip的筛选2个方法来提高数据集质量,从而改进来LAION5B,但该方法依旧依赖clip的模型性能,并且引入了昂贵的聚类算法

2.3 我们的做法(Apple)

适用范围:高效的过滤达数万亿的样本,因此数据池子要求比较大,如果满足数据过滤的网络,则保留数据,如下是伪代码:

对于给定的DFN和数据池子,用于训练DFN的数据池称之为过滤数据集,用于DFN过滤后构建的数据集是诱导数据集,将DFN的性能定义为诱导模型的性能,该性能是通过标准的基准测试上评估得到的(例如DataComp上一样),则DFN的质量就是诱导数据集训练出来的模型的强度,apple是基于DataComp来构建的;

apple使用1.28亿、12.8亿、128亿三个级别的数据池子,且使用每个池子的提供的模型超参数也和DataCOmp一致,此外,通过将300亿非DataComp网络爬取的图像与DataComp超大规模池相结合,将DFN扩展到一个包含420亿图像的更大池中。然后使用DFN诱导出的数据集表示为DFN-5B,最后用它来训练一个ViT-H/14模型。

老实说,这张图有一些致命,常见的思路都是使用当前的模型来做过滤,训练一轮以后在使用新的模型来作为过滤,如此迭代,但是下面这张图说明了模型的的过滤表现和最终Imagenet的下游性能也许是不相关的

上图表示,DFN的下游任务性能哪怕差30个点(0.80-0.45-0.55),但是诱导出来的数据集的Imagenet性能还更高

2.4 如何获取好的DFN

核心理念:数据质量是训练好的过滤模型的关键,

如上图所示,横坐标是噪音数据的占比,也就是网络爬取(CC2M中的采样的1KW原始干净的数据),poison是对里面进行一定高质量数据替换成爬虫数据的比例,我们发现,被替换后10%左右,DFN的性能急剧下降,而后缓慢下降,因此说明训练DFN的数据一定是要高质量的数据,而业务model 本身的表现逐步下降,几乎是一条直线了
 

三、未完待续(这周出去购物了,下周继续补充)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/4701.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ingress-nginx代理tcp使其能外部访问mysql

一、helm部署mysql主从复制 helm repo add bitnami https://charts.bitnami.com/bitnami helm repo updatehelm pull bitnami/mysql 解压后编辑values.yaml文件,修改如下(storageclass已设置默认类) 117 ## param architecture MySQL archit…

浅谈安科瑞电能质量监测和治理产品在分布式光伏电站的应用-安科瑞 蒋静

1 概述 随着对可再生能源需求的增加,分布式光伏电站的建设和发展迅速。然而,分布式光伏电站的运行过程中面临着一系列问题,比如导致企业关口计量点功率因数过低、谐波污染等。这些问题不仅影响光伏电站自身的运行效率,还会对企业…

CSS实现实现票据效果 mask与切图方式

一、“切图”的局限性 传统的“切图”简单暴力,但往往缺少适应性。 适应性一般有两种,一是尺寸自适应,二是颜色可以自定义。 举个例子,有这样一个优惠券样式 关于这类样式实现技巧,之前在这篇文章中有详细介绍: CSS 实现优惠券的技巧 不过这里略微不一样的地方是,两个…

ToDesk云电脑、顺网云、网易云、易腾云、极云普惠云横测对比:探寻电竞最佳拍档

一、云电脑:电竞新宠崛起 在电竞游戏不断发展的今天,硬件性能成为了决定游戏体验的关键因素。为了追求极致的游戏画面与流畅度,玩家们往往需要投入大量资金购置高性能电脑。然而,云电脑技术的出现,为玩家们提供了一种…

Kotlin Bytedeco OpenCV 图像图像50 仿射变换 图像缩放

Kotlin Bytedeco OpenCV 图像图像50 仿射变换 图像缩放 1 添加依赖2 测试代码3 测试结果 在OpenCV中,仿射变换(Affine Transformation)和透视变换(Perspective Transformation)是两种常用的图像几何变换方法。 变换方…

回归预测 | MATLAB基于TCN-BiGRU时间卷积神经网络结合双向门控循环单元多输入单输出回归预测

效果一览 基本介绍 回归预测 | MATLAB基于TCN-BiGRU时间卷积神经网络结合双向门控循环单元多输入单输出回归预测 一、引言 1.1、研究背景及意义 在当今数据驱动的时代,时间序列预测已成为金融、气象、工业控制等多个领域的关键技术。随着人工智能和机器学习技术的…

TMC2208替代A4988

前言 TMC2208 是一款先进的 1 轴步进驱动器,支持 stealthChop ™和 256 微步。本应用说明介绍了如何设置 TMC2208 以替代 A4988(传统模式)。 引脚比较 与其他电机驱动器相比,TMC2208 具有附加功能:256 微步。 自动…

多层 RNN原理以及实现

数学原理 多层 RNN 的核心思想是堆叠多个 RNN 层,每一层的输出作为下一层的输入,从而逐层提取更高层次的抽象特征。 1. 单层 RNN 的数学表示 首先,单层 RNN 的计算过程如下。对于一个时间步 t t t,单层 RNN 的隐藏状态 h t h_t…

数据结构——AVL树的实现

Hello,大家好,这一篇博客我们来讲解一下数据结构中的AVL树这一部分的内容,AVL树属于是数据结构的一部分,顾名思义,AVL树是一棵特殊的搜索二叉树,我们接下来要讲的这篇博客是建立在了解搜索二叉树这个知识点…

【日志篇】(7.6) ❀ 01. 在macOS下刷新FortiAnalyzer固件 ❀ FortiAnalyzer 日志分析

【简介】FortiAnalyzer 是 Fortinet Security Fabric 安全架构的基础,提供集中日志记录和分析,以及端到端可见性。因此,分析师可以更有效地管理安全状态,将安全流程自动化,并快速响应威胁。具有分析和自动化功能的集成…

【KOA框架】koa框架基础及swagger接口文档搭建

koa是express的一层封装,语法比express更加简洁。所以有必要了解下koa的相关开发方法。 代码实现 package.json {"name": "koapp","version": "1.0.0","main": "index.js","scripts": {…

[深度学习]机器学习和深度学习

机器学习和深度学习 文章目录 机器学习和深度学习人工智能与机器学习和深度学习的关系侠义的机器学习深度学习的概念常见的神经网络的输入形式想要的输出(任务类别)深度学习的流程 线性函数与多层神经元 人工智能与机器学习和深度学习的关系 所谓人工智能就是,让计算…

【QT】已解决:Qt4.11.0无法使用MSVC编译器问题

目录 一、背景 1.本机环境 2.问题描述 3.问题解决前后对比图 二、详细操作 1.下载项目二所需qt环境 2.解决思路 3.安装VS2017 4.安装MSVC调试器 5.打开qtCreator查看编译器 5.编译运行项目二 三、参考 一、背景 1.本机环境 windows11 qtCreator4.11.0 minGW 64位…

C++ 模拟真人鼠标轨迹算法 - 防止游戏检测

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序,它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言,原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势: 模拟…

从零开始:Spring Boot核心概念与架构解析

引言 在当今的Java开发领域,Spring Boot已经成为构建企业级应用的首选框架之一。它以其简洁、高效、易于上手的特点,极大地简化了Spring应用的开发过程。本文将从Spring Boot的核心概念入手,深入解析其架构设计和运行原理,帮助读…

【EdgeAI实战】(1)STM32 边缘 AI 生态系统

【EdgeAI实战】(1)STM32 边缘 AI 生态系统 【EdgeAI实战】(1)STM32 边缘 AI 生态系统 1. STM32 边缘人工智能1.1 X-CUBE-AI 扩展包1.2 STM32 AI Model Zoo1.3 ST AIoT Craft 2. STM32N6 AI 生态系统 (STM32N6-AI)2.1 STM32N6 AI 产…

SSE 实践:用 Vue 和 Spring Boot 实现实时数据传输

前言 大家好,我是雪荷。最近我在灵犀 BI 项目中引入了 SSE 技术,以保证图表的实时渲染,当图表渲染完毕服务端推送消息至浏览器端触发重新渲染。 什么是 SSE? SSE 全称为 Server-Send Events 意思是服务端推送事件。 SSE 相比于 …

关于机器学习的一份总结

在之前的文章中分别有详细的关于机器学习中某一学习算法的介绍,但缺少一个总体关于机器学习的总结,所以在这篇文中就是关于机器学习的一份总结。 在最近的日子中,人工智能日益火热起来,而机器学习是其中举足轻重的一部分&#xf…

浅谈计算机网络03 | 现代网络组成

现代网络组成 一 、网络生态体系1.1网络生态系统的多元主体1.2 网络接入设施的多样类型 二、现代网络的典型体系结构解析三、高速网络技术3.1 以太网技术3.2 Wi-Fi技术的深度剖析3.2.1 应用场景的多元覆盖3.2.2 标准升级与性能提升 3.3 4G/5G蜂窝网的技术演进3.3.1 蜂窝技术的代…

数据结构漫游记:队列的动态模拟实现(C语言)

嘿,各位技术潮人!好久不见甚是想念。生活就像一场奇妙冒险,而编程就是那把超酷的万能钥匙。此刻,阳光洒在键盘上,灵感在指尖跳跃,让我们抛开一切束缚,给平淡日子加点料,注入满满的pa…