如何检测文本(NLP)和图像(计算机视觉)数据漂移

本文涉及的产品
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
简介: 在现实世界中,数据以各种系统和格式记录,并且不断变化。 这些变化可能会随着便携式系统的老化和机械破裂而引入噪音,或者在生产过程发生根本变化或消费者行为变化的情况下发生。 这些变化对预测的准确性有影响,因此有必要测试在模型开发过程中所做的假设在模型投入生产时是否仍然有效。

介绍

在现实世界中,数据以各种系统和格式记录,并且不断变化。 这些变化可能会随着便携式系统的老化和机械破裂而引入噪音,或者在生产过程发生根本变化或消费者行为变化的情况下发生。 这些变化对预测的准确性有影响,因此有必要测试在模型开发过程中所做的假设在模型投入生产时是否仍然有效。

网络异常,图片无法展示
|


在机器学习的背景下,我们认为模型输入数据中的数据漂移会发生变化,从而导致模型性能受损。在本文的剩余部分中,我们将介绍如何检测将图像数据或文本数据作为输入的模型的数据漂移,以防止它们在生产中无声地恶化。

四种不同类型的实时监测技术来检测和减少模型漂移

  • 数据质量——帮助检测数据schema的变化以及因变量和自变量的统计属性,并在检测到偏差时发出警报。
  • 模型质量——通过使用从应用程序收集的实际值并自动将实际值信息与预测数据相结合,实时监控模型性能特征,例如:准确率或精确率。
  • 模型偏差——虽然你的初始数据或模型可能没有偏差,但世界的变化可能会导致偏差在已经训练好的模型中随着时间的推移而发展。
  • 模型可解释性——当特征属性的相对重要性发生变化时,数据漂移会提醒您。


让我们讨论适用于文本数据的数据漂移类型。


NLP 数据漂移


网络异常,图片无法展示
|


NLP 用于许多不同的场景,从聊天机器人和视觉助手到机器翻译和文本摘要。为了确保这些应用程序以预期的性能水平运行,训练和生产区域中的数据来自相同的分布非常重要。

当用于推理的数据(生产数据)与模型训练期间使用的数据不同时,我们会遇到所谓的数据漂移。如果发生数据漂移,该模型将不再对生产中的数据进行操作,并且可能会比预期的更糟。持续监控推理数据并将其与训练期间使用的数据进行比较非常重要。

数据漂移可以根据输入端或输出端是否发生分布变化,或者输入和输出之间的关系是否发生变化而分为三类。


协变量漂移

在协变量漂移中,输入分布随时间变化,但条件分布 P(y∣x)P (y | x)P(yx) 不变。这种类型的漂移称为协变量偏移,因为问题是由于协变量(特征)分布的变化而出现的。例如,在垃圾邮件分割模型中,训练数据(电子邮件语料库)的分布可能与评分期间的数据分布不同。

标签漂移

虽然协变量漂移关注特征分布的变化,但标签变化关注类别可变性的变化。这种类型的移位实际上是反向协变量漂移。正确的思考方式是考虑不平衡的数据集。如果您发送垃圾邮件,我们的训练集中电子邮件的非垃圾邮件率为 50%,但实际上,我们有 10% 的电子邮件不是垃圾邮件,那么目标标签分布发生了变化。

概念漂移

概念的变化不同于协变量和标签的变化,因为它与数据分布或类分布无关,而是与两个差异之间的关系有关。例如,垃圾邮件发件人经常使用各种概念来传达到垃圾邮件过滤模型,而训练期间使用的电子邮件概念可能会随着时间而改变。

模型监控:方法

可以开发一个简单的模型监控系统,计算训练数据和推理数据中的文本 embedding 。然后计算余弦相似度,看看我们的训练数据和推理数据有多接近。


图像数据漂移

鉴于对深度学习的兴趣日益浓厚,将非书面文本和图像等非传统数据形式导入生产的模型正在增长。 在这种情况下,主要依赖数值数据的统计控制和性能研究等方法难以接受,需要一种新的方法来监控生产中的模型。 让我们探索一种可用于检测对图像数据进行分类/评分的模型的数据漂移的方法。

网络异常,图片无法展示
|



模型监控:方法

我们的方法不对所使用的模型做出任何假设,但需要访问用于建模的训练数据和用于评分的推理数据。检测图像数据漂移的最准确方法是构建训练数据集的机器可读表示,并使用它来重建呈现给模型的数据。如果重建误差很高,那么模型中呈现的数据与训练的数据不同。

具体顺序如下:

  1. 学习训练数据低维部分的表示(编码器)
  2. 使用来自第 1 步(解码器)的表示重建验证数据,并将重建损失存储为基线重建损失
  3. 在第 1 步和第 2 步中使用编码器和解码器重建正在发送用于预测的一批数据;储存重建损失

如果用于预测的数据集的重建损失超过基线重建损失预定义的阈值,则发出警报。


相关文章
|
2月前
|
JSON 人工智能 数据格式
AI计算机视觉笔记二十六:YOLOV8自训练关键点检测
本文档详细记录了使用YOLOv8训练关键点检测模型的过程。首先通过清华源安装YOLOv8,并验证安装。接着通过示例权重文件与测试图片`bus.jpg`演示预测流程。为准备训练数据,文档介绍了如何使用`labelme`标注工具进行关键点标注,并提供了一个Python脚本`labelme2yolo.py`将标注结果从JSON格式转换为YOLO所需的TXT格式。随后,通过Jupyter Notebook可视化标注结果确保准确性。最后,文档展示了如何组织数据集目录结构,并提供了训练与测试代码示例,包括配置文件`smoke.yaml`及训练脚本`train.py`,帮助读者完成自定义模型的训练与评估。
|
15天前
|
机器学习/深度学习 自然语言处理 知识图谱
GraphRAG在自然语言处理中的应用:从问答系统到文本生成
【10月更文挑战第28天】作为一名自然语言处理(NLP)和图神经网络(GNN)的研究者,我一直在探索如何将GraphRAG(Graph Retrieval-Augmented Generation)模型应用于各种NLP任务。GraphRAG结合了图检索和序列生成技术,能够有效地处理复杂的语言理解和生成任务。本文将从个人角度出发,探讨GraphRAG在构建问答系统、文本摘要、情感分析和自动文本生成等任务中的具体方法和案例研究。
37 5
|
17天前
|
自然语言处理 Python
如何使用自然语言处理库`nltk`进行文本的基本处理
这段Python代码展示了如何使用`nltk`库进行文本的基本处理,包括分词和词频统计。首先需要安装`nltk`库,然后通过`word_tokenize`方法将文本拆分为单词,并使用`FreqDist`类统计每个单词的出现频率。运行代码后,会输出每个词的出现次数,帮助理解文本的结构和常用词。
|
1月前
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
46 2
|
2月前
|
机器学习/深度学习 编解码 自动驾驶
计算机视觉之图像到图像的翻译
图像到图像的翻译(Image-to-Image Translation)是指将一种图像从一种表示转换为另一种表示的过程。该任务的目标是在保证图像语义信息的前提下,将图像风格、颜色或其他视觉特征进行转换。该技术在计算机视觉领域具有广泛应用,例如图像风格迁移、图像修复、图像增强、超分辨率、语义分割等。
47 4
|
1月前
|
自然语言处理
【NLP自然语言处理】文本特征处理与数据增强
【NLP自然语言处理】文本特征处理与数据增强
|
2月前
|
机器学习/深度学习 自然语言处理 计算机视觉
用于图像和用于自然语言的神经网络区别
主要区别总结 数据结构:图像数据是二维像素矩阵,具有空间结构;文本数据是一维序列,具有时间结构。 网络架构:图像处理常用CNN,注重局部特征提取;自然语言处理常用RNN/LSTM/Transformer,注重序列和全局依赖。 操作单元:图像处理中的卷积核在空间上操作;自然语言处理中的注意力机制在序列上操作。
23 2
|
2月前
|
人工智能 计算机视觉
AI计算机视觉笔记十五:编写检测的yolov5测试代码
该文为原创文章,如需转载,请注明出处。本文作者在成功运行 `detect.py` 后,因代码难以理解而编写了一个简易测试程序,用于加载YOLOv5模型并检测图像中的对象,特别是“人”类目标。代码实现了从摄像头或图片读取帧、进行颜色转换,并利用YOLOv5进行推理,最后将检测框和置信度绘制在输出图像上,并保存为 `result.jpg`。如果缺少某些模块,可使用 `pip install` 安装。如涉及版权问题或需获取完整代码,请联系作者。
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
【自然语言处理】python之人工智能应用篇——文本生成技术
文本生成是指使用自然语言处理技术,基于给定的上下文或主题自动生成人类可读的文本。这种技术可以应用于各种领域,如自动写作、聊天机器人、新闻生成、广告文案创作等。
108 8
|
3月前
|
机器学习/深度学习 存储 人工智能
自然语言处理 Paddle NLP - 检索式文本问答-理论
自然语言处理 Paddle NLP - 检索式文本问答-理论
28 1