识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了

随着生成式大模型的不断进步,它们生成的语料正逐步逼近人类。虽然大模型正在解放无数文书的双手,它以假乱真的强劲能力也为一些不法分子所利用,造成了一系列社会问题:

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了

识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了

识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了

来自北大、华为的研究者们提出了一种识别各式 AI 生成语料的可靠文本检测器。根据长短文本的不同特性,提出了一种基于 PU 学习的多尺度 AI 生成文本检测器训练方法。通过对检测器训练过程的改进,在同等条件下能取得在长、短 ChatGPT 语料上检测能力的可观提升,解决了目前检测器对于短文本识别精度低的痛点。

论文地址:https://arxiv.org/abs/2305.18149代码地址 (MindSpore):https://github.com/mindspore-lab/mindone/tree/master/examples/detect_chatgpt代码地址 (PyTorch):https://github.com/YuchuanTian/AIGC_text_detector

引言

随着大语言模型的生成效果越发逼真,各行各业迫切需要一款可靠的 AI 生成文本检测器。然而,不同行业对检测语料的要求不同,例如在学术界,普遍需要对大段完整的学术文本进行检测;在社交平台上,需要对相对简短而较为支离破碎的假消息进行检测。然而,既有检测器往往无法兼顾各式需求。例如,主流的一些 AI 文本检测器对较短的语料预测能力普遍较差。

对于不同长度语料的不同检测效果,作者观察到较短的 AI 生成文本可能存在着一部分归属上的「不确定性」;或者更直白地说,由于一些 AI 生成短句同时也常常被人类使用,因而很难界定 AI 生成的短文本是否来自于人或 AI。这里列举了几个人和 AI 分别对同一问题做出回答的例子:

识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了

由这些例子可见,很难对 AI 生成的简短回答进行识别:这类语料与人的区别过小,很难严格判断其真实属性。因此,将短文本简单标注为人类 / AI 并按照传统的二分类问题进行文本检测是不合适的。

针对这个问题,本研究将人类 / AI 的二分类检测部分转化为了一个部分 PU(Positive-Unlabeled)学习问题,即在较短的句子中,人的语言为正类(Positive),机器语言为无标记类(Unlabeled),以此对训练的损失函数进行了改进。此改进可观地提升了检测器在各式语料上的分类效果。

算法细节

在传统的 PU 学习设定下,一个二分类模型只能根据正训练样本和无标记训练样本进行学习。一个常用的 PU 学习方法是通过制定 PU loss 来估计负样本对应的二分类损失:

识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了

其中,识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了表示正样本与正标签计算的二分类损失;识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了表示将无标记样本全部假定为负标签计算的二分类损失;识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了表示将正样本假定为负标签计算的二分类损失;识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了表示的是先验正样本概率,即正样本在全部 PU 样本中的预估占比。在传统的 PU 学习中,通常将先验识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了设置为一个固定的超参数。然而在文本检测的场景中,检测器需要处理各式长度不同的文本;而对于不同长度的文本而言,其正样本在所有和该样本相同长度的 PU 样本中的预估占比也是不同的。因此,本研究对 PU Loss 进行了改进,提出了长度敏感的多尺度 PU(MPU)loss 损失函数。

具体地,本研究提出了一个抽象的循环模型对较短文本检测进行建模。传统的 NLP 模型在处理序列时,通常是一个马尔可夫链的结构,如 RNN、LSTM 等。此类循环模型的这个过程通常可以理解为一个逐渐迭代的过程,即每个 token 输出的预测,都是由上一个 token 及之前序列的预测结果和该 token 的预测结果经过变换、融合得到的。即以下过程:

识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了

为了根据这个抽象的模型进行先验概率的估计,需要假定该模型的输出为某个句子为正类(Positive)的置信度,即判定为人说出的样本的概率。假设每个 token 的贡献大小为句子 token 长度的反比,是非正(Positive)即无标记(Unlabeled)的,且为无标记的概率远远大于为正的概率。因为随着大模型的词汇量逐渐逼近人类,绝大部分词汇会同时出现在 AI 和人类语料中。根据这个简化后的模型和设定好的正 token 概率,通过求出不同输入情况下模型输出置信度的总期望,来得到最终的先验估计。

识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了

通过理论推导和实验,估计得到先验概率随着文本长度的上升而上升,最终逐渐稳定。这种现象也符合预期,因为随着文本变长,检测器可以捕捉的信息更多,文本的 「来源不确定性」也逐渐减弱:

识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了

之后,对于每个正样本,根据其样本长度得到的独特先验对 PU loss 进行计算。最后,由于较短文本仅有部分 “不确定性”(即较短文本也会含有一些人或者 AI 的文本特征),可以对二分类 loss 和 MPU loss 进行加权相加,作为最终的优化目标:

识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了

此外需要注意的是,MPU loss 适配的是长度较为多样的训练语料。倘若既有的训练数据单质化明显,大部分语料为大段冗长的文本,则无法全面发挥 MPU 方法的功效。为了使得训练语料的长度更多样化,本研究还引入了一个在句子层面进行多尺度化的模块。该模块随机遮盖训练语料中的部分句子,并对余下句子在保留原有顺序的前提下进行重组。经过训练语料的多尺度化操作,训练文本得到了长度上的极大丰富,从而充分利用了 PU 学习进行 AI 文本检测器训练。

实验结果

识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了

如上表所示,作者先在较短的 AI 生成语料数据集 Tweep-Fake 上检验 MPU loss 的效果。该数据集中的语料均为推特上较为短小的语段。作者又在传统的语言模型微调基础上将传统二分类 loss 替换为含有 MPU loss 的优化目标。改进之后的语言模型检测器效果较为突出,超过了其它基线算法。

识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了

作者又对 chatGPT 生成文本进行了检测,经过传统微调得到的语言模型检测器在短句上表现较差;经过 MPU 方式在同等条件下训练得到的检测器在短句上表现良好,且同时能够在完整语料上取得可观的效果提升,F1-score 提升了 1%,超越了 OpenAI 和 DetectGPT 等 SOTA 算法。

识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了

如上表所示,作者在消融实验中观察了每个部分带来的效果增益。MPU loss 加强了长、短语料的分类效果。

识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了

作者还对比了传统 PU 和 Multiscale PU(MPU)。由上表可见 MPU 效果更胜一筹,能更好地适配 AI 多尺度文本检测的任务。

总结

作者通过提出基于多尺度 PU 学习的方案,解决了文本检测器对于短句识别的难题,随着未来 AIGC 生成模型的泛滥,对于这类内容的检测将会越来越重要。这项研究在 AI 文本检测的问题上迈出了坚实的一步,希望未来会有更多类似的研究,把 AIGC 内容进行更好的管控,防止 AI 生成内容的滥用。

以上就是识别「ChatGPT造假」,效果超越OpenAI:北大、华为的AI生成检测器来了的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/535174.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
鸣潮气动漂泊者技能是什么 气动漂泊者技能介绍
上一篇 2025年11月9日 12:31:42
java框架选型误区和最佳实践分享
下一篇 2025年11月9日 12:31:46

相关推荐

  • Golang JSON序列化:控制敏感字段暴露的最佳实践

    本教程探讨golang中如何高效控制结构体字段在json序列化时的可见性。当需要将包含敏感信息的结构体数组转换为json响应时,通过利用`encoding/json`包提供的结构体标签,特别是`json:”-“`,可以轻松实现对特定字段的忽略,从而避免敏感数据泄露,确保api…

    2026年5月10日
    000
  • 比特币新手教程 比特币交易平台有哪些

    比特币是一种去中心化的数字货币,基于区块链技术实现点对点交易,具有匿名性、有限发行和不可篡改等特点;新手可通过交易所购买,P2P交易获得比特币,常用平台包括Binance、OKX和Huobi;交易流程包括注册账户、实名认证、绑定支付方式、充值法币并下单购买,可选择市价单或限价单;比特币存储方式有交易…

    2026年5月10日
    000
  • c++中的SFINAE技术是什么_c++模板编程中的SFINAE原理与应用

    SFINAE 是“替换失败不是错误”的原则,指模板实例化时若参数替换导致错误,只要存在其他合法候选,编译器不报错而是继续重载决议。它用于条件启用模板、类型检测等场景,如通过 decltype 或 enable_if 控制函数重载,实现类型特征判断。尽管 C++20 引入 Concepts 简化了部分…

    2026年5月10日
    000
  • Go语言mgo查询构建:深入理解bson.M与日期范围查询的正确实践

    本文旨在解决go语言mgo库中构建复杂查询时,特别是涉及嵌套`bson.m`和日期范围筛选的常见错误。我们将深入剖析`bson.m`的类型特性,解释为何直接索引`interface{}`会导致“invalid operation”错误,并提供一种推荐的、结构清晰的代码重构方案,以确保查询条件能够正确…

    2026年5月10日
    100
  • Golang goroutine与channel调试技巧

    使用go run -race检测数据竞争,结合runtime.NumGoroutine监控协程数量,通过pprof分析阻塞调用栈,利用select超时避免永久阻塞,有效排查goroutine泄漏、死锁和数据竞争问题。 Go语言的goroutine和channel是并发编程的核心,但它们也带来了调试上…

    2026年5月10日
    000
  • 使用 Jupyter Notebook 进行探索性数据分析

    Jupyter Notebook通过单元格实现代码与Markdown结合,支持数据导入(pandas)、清洗(fillna)、探索(matplotlib/seaborn可视化)、统计分析(describe/corr)和特征工程,便于记录与分享分析过程。 Jupyter Notebook 是进行探索性…

    2026年5月10日
    000
  • 《魔兽世界》将于6月11日开启国服回归技术测试

    《魔兽世界》将于6月11日开启国服回归技术测试《魔兽世界》将于6月11日开启国服回归技术测试《魔兽世界》将于6月11日开启国服回归技术测试《魔兽世界》将于6月11日开启国服回归技术测试

    《%ign%ignore_a_1%re_a_1%》官方宣布,将于6月11日开启国服回归技术测试,时间为7天,并称可以在6月内正式开服,玩家们可以访问官网下载战网客户端并预下载“巫妖王之怒”客户端,技术测试详情见下图。 WordAi WordAI是一个AI驱动的内容重写平台 53 查看详情 以上就是《…

    2026年5月10日 用户投稿
    200
  • 如何在HTML中插入表单元素_HTML表单控件与输入类型使用指南

    HTML表单通过标签构建,包含action和method属性定义数据提交目标与方式,常用input类型如text、password、email等适配不同输入需求,配合label、required、placeholder提升可用性,结合textarea、select、button等控件实现完整交互,是…

    2026年5月10日
    000
  • 创建指定大小并填充特定数据的Golang文件教程

    本文将介绍如何使用Golang创建一个指定大小的文件,并用特定数据填充它。我们将使用 `os` 包提供的函数来创建和截断文件,从而实现快速生成大文件的目的。示例代码展示了如何创建一个10MB的文件,并将其填充为全零数据。掌握这些方法,可以方便地在例如日志系统或磁盘队列等场景中,预先创建测试文件或初始…

    2026年5月10日
    000
  • Python命令怎样使用profile分析脚本性能 Python命令性能分析的基础教程

    使用Python的cProfile模块分析脚本性能最直接的方式是通过命令行执行python -m cProfile your_script.py,它会输出每个函数的调用次数、总耗时、累积耗时等关键指标,帮助定位性能瓶颈;为进一步分析,可将结果保存为文件python -m cProfile -o ou…

    2026年5月10日
    000
  • 如何插入查询结果数据_SQL插入Select查询结果方法

    如何插入查询结果数据_SQL插入Select查询结果方法如何插入查询结果数据_SQL插入Select查询结果方法如何插入查询结果数据_SQL插入Select查询结果方法如何插入查询结果数据_SQL插入Select查询结果方法

    使用INSERT INTO…SELECT语句可高效插入数据,通过NOT EXISTS、LEFT JOIN、MERGE语句或唯一约束避免重复;表结构不一致时可通过别名、类型转换、默认值或计算字段处理;结合存储过程可提升可维护性,支持参数化与动态SQL。 将查询结果数据插入到另一个表中,可以…

    2026年5月10日 用户投稿
    000
  • 使用 WebCodecs VideoDecoder 实现精确逐帧回退

    本文档旨在解决在使用 WebCodecs VideoDecoder 进行视频解码时,实现精确逐帧回退的问题。通过比较帧的时间戳与目标帧的时间戳,可以避免渲染中间帧,从而提高用户体验。本文将提供详细的解决方案和示例代码,帮助开发者实现精确的视频帧控制。 在使用 WebCodecs VideoDecod…

    2026年5月10日
    000
  • Debian Copilot的社区活跃度如何

    debian copilot是codeberg社区维护的ai助手,旨在为debian用户提供服务。尽管搜索结果中没有直接提供关于debian copilot社区支持活跃度的具体数据,但我们可以通过debian社区的整体活跃度和特点来推断其活跃性。 Debian社区的一般情况: Debian拥有详尽的…

    2026年5月10日
    000
  • Discord.py 交互按钮超时与持久化解决方案

    本教程旨在解决Discord.py中交互按钮在一段时间后出现“This Interaction Failed”错误的问题。我们将深入探讨视图(View)的超时机制,并提供通过正确设置timeout参数以及利用bot.add_view()方法实现按钮持久化的具体方案,确保您的机器人交互功能稳定可靠,即…

    2026年5月10日
    000
  • JavaScript 动态菜单点击高亮效果实现教程

    本教程详细介绍了如何使用 JavaScript 实现动态菜单的点击高亮功能。通过事件委托和状态管理,当用户点击菜单项时,被点击项会高亮显示(绿色),同时其他菜单项恢复默认样式(白色)。这种方法避免了不必要的DOM操作,提高了性能和代码可维护性,确保了无论点击方向如何,功能都能稳定运行。 动态菜单高亮…

    2026年5月10日
    200
  • c++如何实现UDP通信_c++基于UDP的网络通信示例

    UDP通信基于套接字实现,适用于实时性要求高的场景。1. 流程包括创建套接字、绑定地址(接收方)、发送(sendto)与接收(recvfrom)数据、关闭套接字;2. 服务端监听指定端口,接收客户端消息并回传;3. 客户端发送消息至服务端并接收响应;4. 跨平台需处理Winsock初始化与库链接,编…

    2026年5月10日
    000
  • JavaScript函数中插入加载动画(Spinner)的正确方法

    本文旨在解决在JavaScript函数中插入加载动画(Spinner)时遇到的异步问题。通过引入async/await和Promise.all,确保在数据处理完成前后正确显示和隐藏加载动画,提升用户体验。我们将提供两种实现方案,并详细解释其原理和优势。 在Web开发中,当执行耗时操作时,显示加载动画…

    2026年5月10日
    000
  • 使用 Pydantic v2 实现条件性必填字段

    本文介绍了如何在 Pydantic v2 模型中实现条件性必填字段。通过自定义验证器,可以根据模型中其他字段的值来动态地控制某些字段是否为必填项,从而满足 API 交互中数据验证的复杂需求。本文提供了一个具体的示例,展示了如何确保模型中至少有一个字段被赋值。 在 Pydantic v2 中,虽然没有…

    2026年5月10日
    000
  • 三星不再独享,消息称搭载骁龙 8 Gen 3 领先版处理器新机即将发布

    三星不再独享,消息称搭载骁龙 8 Gen 3 领先版处理器新机即将发布三星不再独享,消息称搭载骁龙 8 Gen 3 领先版处理器新机即将发布三星不再独享,消息称搭载骁龙 8 Gen 3 领先版处理器新机即将发布三星不再独享,消息称搭载骁龙 8 Gen 3 领先版处理器新机即将发布

    6 月 15 日消息,据博主@肥威 今日爆料,搭载骁龙 8 Gen 3 领先版%ign%ignore_a_1%re_a_1%的新机即将发布,把之前的 for Galaxy 改成“for Everybody”。 Pic Copilot AI时代的顶级电商设计师,轻松打造爆款产品图片 158 查看详情 …

    2026年5月10日 用户投稿
    000
  • 动态更新圆形进度条:JavaScript成绩计算器集成指南

    本文档旨在指导开发者如何将JavaScript成绩计算系统与动态圆形进度条集成,实现可视化展示平均成绩。我们将详细讲解如何修改现有的JavaScript代码,使其在计算出平均分后,能够动态更新圆形进度条的进度,从而提供更直观的用户体验。本文档包含详细的代码示例和注意事项,帮助开发者轻松实现这一功能。…

    2026年5月10日
    000

发表回复

登录后才能评论
关注微信