社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

机器学习中的数据投毒:人们为何以及如何操纵训练数据

36氪-资讯-AI • 7 月前 • 341 次点击  

你知道你的数据都去了哪里吗?

数据是机器学习乃至人工智能运行不可或缺的重要组成部分,尽管它有时会被忽视。生成式人工智能公司正在全球范围内搜寻更多数据,因为构建模型需要大量的原始数据。任何构建或调整模型的人都必须首先收集大量数据才能开始。

然而,这种现实也带来了一些相互冲突的激励机制。保护数据的质量和真实性是安全的重要组成部分,因为这些原始数据将决定您提供给用户或客户的机器学习模型的成败。不法分子可以策略性地在您的数据集中插入、修改或删除数据,而您可能根本察觉不到这些操作,但这些操作会系统性地改变模型的行为。

与此同时,艺术家、音乐家和作家等创作者正与猖獗的版权侵权和知识产权盗窃行为进行着一场旷日持久的斗争,而这些侵权行为主要来自那些需要更多数据来填充其庞大训练过程的生成式人工智能公司。这些创作者正在寻求能够阻止或遏制这种盗窃行为的措施,而不是仅仅依赖往往行动迟缓的法院。

此外,随着各公司竭尽全力用人工智能搜索取代传统搜索引擎,那些依赖搜索排名来维持业务的公司正面临困境。如果过去几十年在搜索可见性方面的投资不再有效,那么你该如何触达客户,又该如何向公众展现你理想的品牌形象呢?

这三个案例都指向同一个概念——“数据投毒”。

一 、什么是数据投毒

简而言之,数据投毒是指以某种方式改变用于构建机器学习模型的训练数据,从而改变模型的行为。这种影响仅限于训练过程,一旦模型被篡改,损害就无法挽回。模型将出现不可逆转的偏差,甚至可能完全失效,唯一的真正解决办法是使用干净的数据重新训练模型。

这种现象对自动重训练构成威胁,因为自动重训练中人为观察极少;但即使对观察非常充分的训练也存在风险,因为训练数据的改变通常对普通观察者来说是不可见的。 例如,Hartle等人(2025)引用的一项关于掺假医疗错误信息的研究表明,“15名临床医生被要求确定掺假后的结果和基线结果;审阅者无法确定两个结果之间的差异……当特定概念的数据被掺假0.001%时,有害内容增加了4.8%。”

尝试对被污染的数据进行逆向工程并清除,大多以失败告终。虽然人们尝试过“机器学习反学习”等技术,但如果无法检测到问题数据,这些努力就很难取得进展。即使能够检测到数据,研究人员也发现,从模型架构中移除痕迹并不能有效消除损害。

数据投毒可以采取多种不同的形式,因此我将从后往前,讨论数据投毒的三种具体动机、它们的运作方式以及它们的结果:

  • 犯罪活动
  • 防止知识产权盗窃
  • 营销

二、犯罪活动

犯罪分子进行数据投毒的原因有很多。许多模型为了实现其目标(例如,协助用户使用银行软件,或为医疗机构提供最佳治疗方案建议等),需要访问高度敏感或极具价值的数据。如果这些数据可能用于牟利,那么就会有人试图获取或篡改这些数据以达到自身目的。

1.工作原理

数据投毒可能是一个漫长的过程,因为它需要篡改训练数据,但在某些情况下,它仍然非常隐蔽且有效。去年七月,我在IEEE CISOSE会议上了解到一些相关信息。当时Sofiane Bessaï发表了一篇论文,探讨了如何识别此类案例,以期减轻攻击的影响。正如他们所说,“这些攻击会在输入数据中引入难以察觉的扰动,导致模型做出置信度很高的错误预测。”这意味着对训练数据的更改完全不明显,对训练数据进行统计分析也很难发现这些更改。然而,通过仔细评估训练模型的行为,您更有可能逆向工程出发生了什么。

研究还表明,此类攻击所需的数据量并不大。Souly等人(2025)的研究表明,实际上,250份文档就足以在多种不同的应用场景下,针对不同规模的文本模型训练集实施投毒攻击。

2.后果

这类攻击可能存在几种不同的目标。例如,如果模型被削弱且性能下降,网络安全模型可能无法识别网络入侵。或者,攻击者可以做出虚假预测。这可能非常有效,因为当输出通常“正常”,但少数情况偏离标准模型行为时,缺陷更难被发现,模型也更有可能继续在生产环境中运行。只要模型的行为只是略微偏向攻击者想要的结果,其他人就很难察觉到任何异常。试想一下,如果有一个模型用于决定谁能获得贷款批准,或 者贷款金额是多少——如果这个模型只向极少数人提供条件苛刻的高额贷款,而大部分时间表现正常,那么这可能是一次非常有利可图的攻击。

但数据投毒并非仅用于犯罪活动——它实际上还有其他用途。

三、防止知识产权盗窃

当我们谈到通过数据投毒来防止或惩罚知识产权盗窃时,我们指的是数据投毒的目的并非改变模型的特定行为,而是试图让模型训练失败,尤其是在未经授权或许可使用某些内容的情况下。其目标可能是使模型无法学习特定数据中的模式,或者由于训练中使用的内容被盗用而导致模型推理性能极差,从而使模型完全无法使用。

1.工作原理

与其将其视为攻击,不如将其视为内容创作者的一种防御机制。当创作者使用Nightshade等工具在作品中运用此类技术时,他们可以添加一些肉眼几乎无法察觉的效果,但这些效果对于神经网络的训练过程却意义重大。研究表明,这种方法只需创作者拥有少量训练图像即可奏效,并不依赖于海量图像。

然而,这并非数据投毒领域中唯一的知识产权保护方案。还有一种名为Glaze的工具,它可以阻止模型复现图像风格,但通常不会干扰训练过程。创作者可以在不影响图像的情况下,更改图像的标签或文本描述方式,因为训练文本到图像生成人工智能模型需要图像-文本对。某些数据投毒行为实际上可以导致版权侵权,以此证明训练中使用了受版权保护的内容,这可以作为法庭案件的关键证据。

这些策略或许也适用于其他媒体。AntiFake是一款能够改变录音中声波的工具,它可以防止个人的声音被用于模型训练,就像 Glaze 一样,从而避免模型学习到单个样本。理论上,也可以通过有意改变语言语义来扭曲文本生成模型。语言学习模型 (LLM) 会学习人类语言模式中词语之间的关系,因此,如果训练中包含一段故意违反或篡改这些模式的文本,就会干扰模型的学习过程。如果 LLM 学习到不准确的人类语言模式,它生成的语言就会显得缺乏说服力,甚至完全怪异。

在每种情况下,期望的结果要么是使训练数据不将其特征贡献给模型的底层架构,从而防止复制或模仿该数据,要么是使模型的行为如此出乎意料或如此不恰当,以至于只要训练中包含受版权保护的材料,用该数据训练的模型就无法使用。

2.后果

在这种情况下进行数据投毒的用户通常希望引起注意——这不是隐蔽攻击,他们也不是想通过改变模型行为来牟利。相反,他们希望基于其知识产权训练的模型变得毫无用处,无论是在总体上还是在复制和复现其作品方面。最终,这将使窃取其知识产权或内容的行为对相关生成式人工智能公司而言无利可图。

许多开发者希望利用被污染的数据进行训练所带来的经济损失能够降低到足以改变行 业行为的程度。因为这种形式的数据污染的影响往往在训练开始或至少已经进行之前难以察觉,所以开发者已经在计算能力、电力和数据收集方面投入了一定的资金,一旦发现训练数据已被篡改,这些投入就可能付诸东流。

四、营销

数据投毒的第三个应用领域是广义的营销领域。它是搜索引擎优化(SEO)的一种新演变。

1.SEO

在搜索引擎优化中,营销人员会创建一些网页,供搜索引擎抓取,这些网页的内容要对客户的品牌特别有益或互补。然后,营销人员会在这些网页之间建立链接,因为搜索引擎会将链接数量作为算法的一部分,以此来决定在搜索结果中推荐哪些网页。通过创建更多相互链接的网页,如果这些网页包含对客户有益的内容,搜索引擎就会在相关的搜索结果中给予这些网页更高的排名。

2.工作原理

人工智能优化与此类似。营销人员不再为了吸引搜索引擎算法的注意力而创建网络内容,而是创建会被抓取用于生成式人工智能模型开发的训练数据的内容。根据预期效果的不同,这可能需要相当大的数据量,但正如我们在讨论犯罪数据投毒时所了解到的,对模型行为的影响往往可以用比你想象中更少的数据量来实现。

值得注意的是,LLM(语言学习模块)也为创建所有这些培训内容提供了支持。如今,生成海量看似真人撰写的文本内容比以往任何时候都更加便捷且成本更低,因此大规模高效地生成营销文案在经济上是完全可行的。

通过向训练数据中添加对客户品牌有利的目标内容,您开始以某种方式扭曲训练数据池,这意味着模型可能会偏袒您的客户品牌和/或以微妙的方式对竞争对手表现出偏见。

3.后果

微妙之处至关重要,因为营销人员并不希望这种做法被人察觉——如果过于明显,可能会显得用力过猛,而且生成式人工智能模型提供商可能会注意到并试图纠正。相反,他们追求的是一种微妙但具有统计学意义的品牌偏好,而这种偏好会在用户实际使用该模型时,从客户和用户数据中逐渐显现出来。

虽然这未必是我们通常意义上的攻击或恶意行为,但它试图违背模型设计者的意愿来扭曲模型结果,这违反了大多数生成式人工智能产品的服务条款和可接受使用政策。然而,要准确界定这种不当行为究竟是什么却并非易事。毕竟,营销人员并没有强迫研究人员使用这些数据来训练逻辑逻辑模型(LLM)。生成式人工智能公司会尽可能地抓取互联网上的所有数据,收集他们能找到的每一个网页,以充实可用的训练数据— —有时这其中就包含这类数据。这种行为的出现似乎是意料之中的。

4.当模型搜索时

此外,主流的LLM系统现在也将网络搜索纳入其代理工具包,一些AIO(一体化营销)营销人员也在努力确保网络内容能够根据进行网络搜索的LLM的“偏好”进行定制。通过实验,有时可以识别出哪些词组会出现在网络搜索结果中,并最终出现在LLM生成的用户回复中。这并非训练数据污染策略,而是更接近于提示工程或上下文工程,因为模型会接收搜索结果并利用它们来生成输出。然而,其效果与LLM对用户的回复带有品牌偏好或反感的倾向相同。

五、应对数据中毒

因此,如果您使用从您无法控制的来源提取/由他人创建的数据来训练模型,您应该如何避免数据中毒?

首先,不要窃取数据用于训练。这不仅在道德上站得住脚,而且你无法保证数据不会被篡改——一方面,如果数据属于他人的知识产权,而你没有获得使用授权;另一方面,如果数据已被恶意人员获取。你或许运气好,数据本身没有问题,但很可能在你投入资源后才会发现问题。

其次,要监控和控制数据收集,并对训练数据进行审核和清理。即使是流行的开源免费数据,背后也可能存在恶意行为。务必采取谨慎的步骤来清理和分析数据,并养成良好的数据卫生习惯。不要把垃圾数据直接扔进训练集,然后指望它能神奇地生成一个好模型。

第三,管理和观察你的训练过程。如果模型自动重新训练,你可以对训练数据进行一些测试;你也可以运用一些科学方法来识别模型是否受到了“毒害”,正如我之前提到的。这是一个新兴的研究领域,这些技术会随着时间的推移而不断改进,但目前已经有一些不错的想法。

第四,在实际环境中测试你的模型。生成式人工智能的异常行为很难被发现,部分原因是其应用场景非常广泛,但尽可能在接近真实世界的场景中评估和测试模型至关重要。

现在,我意识到所有这些解决方案都有代价。人们使用免费数据或窃取他人的知识产权,因为为训练机器学习模型所需的所有数据付费可能极其昂贵。我并不声称自己有解决办法,但“我负担不起,所以我要窃取”这种想法在生活的其他任何领域都站不住脚,所以我认为我们不应该在这里也接受这种做法。更广泛的 机器 学习社区,例如数据溯源倡议组织(Data Provenance Initiative),正在探索创建授权数据集和寻找数据可用性的方法,我鼓励读者对此进行更深入的了解。其他解决数据污染的方案也需要投入人力和精力,但要开发出满足我们需求和期望的模型,总是需要权衡取舍。

除此之外,如果您无法控制所用数据或模型的创建过程,则始终存在一定的风险。一 般来说,切勿盲目信任模型输出,而应评估和测试您计划使用的模型,尤其是在模型由他人训练的情况下。模型行为是一个充满争议的领域——各方都希望控制生成式人工智能模型的运行方式及其与人类的交互方式,因此我们需要相应地应对这些挑战。

本文来自微信公众号“数据驱动智能”(ID:Data_0101),作者:晓晓,36氪经授权发布。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/191926