斯坦福大学团队提出AI生成文本检测器DetectGPT,通过文本对数概率的曲率进行可解释判断

原文链接:https://www.techbeat.net/article-info?id=4583
作者:seven_

随着以ChatGPT等大型语言模型(large language models,LLMs)的爆火,学界和工业界目前已经开始重视这些模型的安全性,由于ChatGPT强大的知识存储和推理能力,其目前可以针对各种各样的用户输入来产生非常流畅和完整的回答,甚至在一些专业领域以及公共讨论话题中,它也可以从容应对。例如,一些学生可能会使用LLMs来帮助他们完成书面作业,使老师无法准确的判断学生的学习效果,这也的的确确是LLMs带来的负面影响。
在这里插入图片描述

论文链接:
https://arxiv.org/abs/2301.11305
项目主页:
https://ericmitchell.ai/detectgpt/

近日,来自斯坦福大学的研究团队发布了一个名为DetectGPT的检测模型来判断一个文本段落是否是由机器生成的。作者首先观察了LLMs的运行机制,他们发现LLM生成的文本往往占据模型的对数概率函数的负曲率区域。根据这一现象,作者提出想法,能够基于概率函数的曲率标准来对文本进行判定呢

实验结果表明,这种想法完全可行,DetectGPT不需要专门训练一个单独的分类器,也不需要额外收集真实场景中或者机器生成的文本段落数据,它只需要对当前模型计算其对数概率并与另外一个通用的预训练语言模型(例如T5)的段落随机扰动进行比较,即可得出结论。作者发现DetectGPT比现有的zero-shot文本检测方法更具有鉴别能力

一、 引言

如果我们仔细推敲ChatGPT等LLMs生成出的文本回答,会发现它们的答案仍然有明显的机器翻译痕迹。但是这种生成技术确实在一些领域能够以假乱真,甚至取代人工劳动,特别是在学生的论文写作和记者的新闻写作中,这都会带来很大的风险,例如影响学生的学习积极性,也有可能会因为虚假新闻导致公众获得错误的信息。但是幸运的是,目前机器模型生成的文本与人类编写出的文字相比仍然有不小的差距,这使得我们及时开发文本检测方法和工具成为可能。之前已经有很多工作将机器生成的文本检测任务看做是一个二分类问题[1],具体来说,这些方法的目标是对一个候选文本段落的来源进行分类,其中这些文本来源是预定义的类别。但是这种方法有几个明显的缺点,例如它们会非常倾向于参与训练的那些文本来源,并且不具备增量学习功能,如果想要使模型能够识别未知来源的文本,就需要对模型整体重新训练。因此考虑开发具有zero-shot功能的模型才更符合现实场景,即根据文本源模型本身来进行开发,不进行任何形式的微调或适应,来检测它自己生成的样本

zero-shot文本检测任务最常见的方法就是对生成文本的平均token对数概率进行评估,并设置阈值进行判断。本文作者针对此提出了一个简单的假设:机器对自己生成的文本进行改动时往往会比原始样本的对数概率低,而人类对自己所写文本的改动会远超过原本文本的对数概率。换句话说,与人类写的文本不同,模型生成的文本往往位于对数概率函数具有负曲率的区域(例如,对数概率的局部最大值),如下图所示。
在这里插入图片描述
作者基于这一假设设计了DetectGPT,为了测试一个段落是否来自一个源模型 p θ p_{\theta} pθ ,DetectGPT将与 p θ p_{\theta} pθ 相关候选段落的对数概率与对 p θ p_{\theta} pθ 进行随机扰动生成的段落的平均对数概率(例如用T5参与扰动)进行比较。如果被扰动的段落的平均对数概率比原始段落低一些,那么候选段落很可能来自于 p θ p_{\theta} pθ , 这一过程的具体运行如下图所示。
在这里插入图片描述

二、本文方法

对于机器生成的zero-shot文本检测任务设置,即检测一段文本或候选段落 x x x 是否是源模型 p θ p_{\theta} pθ 的样本,在模型训练时无需加入外部数据,其呈现“白盒设置”的特点,模型中的检测器可以评估当前样本对 p θ p_{\theta} pθ 的对数概率情况。此外“白盒设置”也不限制对模型架构和参数规模的选择,因此作者在对DetectGPT的性能评估中也选用了目前通用的预训练Masked模型,用来生成与当前段落比较接近的候选文本,但是这些段落的生成不会经过任何形式的微调和域适应。

2.1 模型扰动假设

上文提到,DetectGPT基于这样一个假设:来自源模型 p θ p_{\theta} pθ 的样本通常位于 p θ p_{\theta} pθ 的对数概率函数的负曲率区域。如果我们对一段话 x ∼ p θ x \sim p_{\theta} xpθ 施加一个小的扰动,产生 x ~ \tilde{x} x~ ,那么与人类编写的文本相比,机器生成的样本的对数值 log ⁡ p θ ( x ) − log ⁡ p θ ( x ~ ) \log p_{\theta}(x)-\log p_{\theta}(\tilde{x}) logpθ(x)logpθ(x~) 应该是比较大的。基于这一假设,作者首先考虑了一个扰动函数 q ( ⋅ ∣ x ) q(\cdot \mid x) q(x) ,它会先在 x ~ \tilde{x} x~ 上给出一个分布,代表意义相近的略微修改过的 x x x 的版本。使用扰动函数的概念,我们可以q轻松的定义出扰动差异指标 d ( x , p θ , q ) \mathbf{d}\left(x, p_{\theta}, q\right) d(x,pθ,q)
在这里插入图片描述
对上述假设更为正式的定义如下:如果 q q q 在数据流形分布上产生样本,对于样本 x ∼ p θ x \sim p_{\theta} xpθ 来说, d ( x , p θ , q ) \mathbf{d}\left(x, p_{\theta}, q\right) d(x,pθ,q) 大概率为正,而对于人类编写文本, d ( x , p θ , q ) \mathbf{d}\left(x, p_{\theta}, q\right) d(x,pθ,q) 对所有 x x x 都趋向于0

如果此时将扰动函数 q ( ⋅ ∣ x ) q(\cdot \mid x) q(x) 定义为来自T5等预训练模型生成的扰动样本,而不是人类改写的样本,就可以以一种自动的、可扩展的方式对上述假设进行经验性测试。对于机器生成样本,这里作者使用了四个不同的LLM进行输出,例如使用T5-3B模型来产生扰动,对于给定样本,按照2个字的跨度进行随机扰动,直到文本中15%的字被覆盖。随后使用经过T5处理的100个样本按照假设进行近似计算,发现扰动差异的分布对于人类编写文本和机器生成样本是明显不同的,机器样本往往有较大的扰动差异
在这里插入图片描述
上图展示了来自GPT-2、GPT-Neo-2.7B、GPT-J和GPT-NeoX 四个模型与人类样本扰动后的分布对比,其中蓝色区域为人类编写文本的分布,橙色为机器生成文本的分布。

2.2 将扰动差异解释为曲率

通过上图,只能看出扰动差异在鉴别文本是否来自人类还是机器方面是有效的,但是其衡量的理论指标还不够清晰。因而作者进一步为扰动差异寻找到了理论依据,作者表明扰动差异近似于候选段落附近对数概率函数的局部曲率的度量,更具体地说,它与对数概率函数的Hessian 矩阵的负迹成正比。为了处理离散数据的不可微性,作者在这里仅考虑了在潜在语义空间中的候选段落,其中的小扰动对应于保留与原始相似含义的文本编辑过程。因为本文选用的扰动函数 (T5) 是经过大量自然文本语料预训练的,所以这里的扰动可以被粗略地认为是对原始段落的有效修改,而不是随意编辑

作者首先利用Hutchinson提出的迹估计器[3]给出矩阵 A A A 迹的无偏估计:
在这里插入图片描述
随后使用有限差分来近似这个表达式:
在这里插入图片描述
联立上述两式子并使用 h = 1 h = 1 h=1 进行简化,就可以得到负Hessian矩阵的迹估计:
在这里插入图片描述
作者观察到上式其实对应于扰动差异 d ( x , p θ , q ) \mathbf{d}\left(x, p_{\theta}, q\right) d(x,pθ,q) ,其中扰动函数 q ( ⋅ ∣ x ) q(\cdot \mid x) q(x) 可以使用Hutchinson迹估计器中使用的分布 q z ( z ) q_{z}(z) qz(z) 代替。这里, x ~ \tilde{x} x~ 是一个高维的token序列,而 q z q_{z} qz 是一个嵌入语义空间中的向量。由于扰动文本模型生成的句子与 x x x 相似,语义变化较小,因此可以将扰动文本模型视为与当前采样相似的语义嵌入 ( z ~ ∼ q z ) \left(\tilde{z} \sim q_{z}\right) (z~qz) ,然后将其映射到token序列中 ( z ~ ↦ x ~ ) (\tilde{z} \mapsto \tilde{x}) (z~x~) 。 这样做,可以保证语义空间中的采样都保持在数据流形附近,当随机扰动发生后,对数概率就会产生明显下降,这样就可以将扰动差异解释为近似限制在数据流形上的曲率。

三、实验效果

本文的实验部分作者使用了六个数据集,涵盖了各种日常领域,例如使用XSum数据集中的新闻文章来进行假新闻检测实验,使用SQuAD上下文中的维基百科段落来表示机器编写的学术论文,以及使用Reddit WritingPrompts数据集来表示机器生成的创意写作。此外,为了评估分布变化的稳健性,作者还使用了WMT16的英语和德语部分以及人类专家在PubMedQA数据集中编写的标准答案。

作者首先对DetectGPT的zero-shot文本检测能力进行评估,实验结果如下表所示,可以看出,DetectGPT在所有15种数据集和模型组合中的14种实验组合上都得到了最准确的检测性能。尤其是DetectGPT最大程度地提高了XSum数据集的平均检测精度(0.1 AUROC 改进),在SQuAD维基百科上下文数据集上也有明显的性能提升(0.05 AUROC 改进)。
在这里插入图片描述
此外,作者还选取了一部分监督学习训练的检测器进行对比。作者着重探索了几个领域,或者说几种语境,对比结果如下图所示。例如在英语新闻数据上,监督检测器可以达到与 DetectGPT 接近的检测性能,但在英语科学写作数据下,其性能明显低于本文方法。而在德语写作中监督学习方法会完全失败。相比之下,以DetectGPT为代表的零样本方法更容易泛化到新的语言和领域中
在这里插入图片描述

四、总结

随着LLMs的不断发展和改进,我们应该一方面对它们在越来越多的领域中减轻人类工作者的创作压力感到高兴,另一方面也更应该同步发展针对它们的安全检测技术,这对于这一领域未来的健康发展至关重要。本文从这些大模型本身的运行机制出发设计了DetectGPT方法,DetectGPT通过一个简单的数据分布特点即可判断出文本的来源,此外作者还对本文方法进行了详尽的理论推导,这使得DetectGPT具有更高的可信度和可解释性。此外DetectGPT的zero-shot特性使它相比那些使用数百万数据样本定制训练的检测模型更具有竞争力。此外作者在文章的最后还谈到了DetectGPT的未来计划,他们会进一步探索对数概率曲率属性是否在其他领域(音频、视频或图像)的生成模型中也能起到很好的检测作用,这一方向也具有非常重要的现实意义,让我们一起期待吧。

参考文献

[1] Jawahar, G., Abdul-Mageed, M., and Lakshmanan, L. V. S. Automatic detection of machine generated text: A critical survey. In International Conference on Computational Linguistics, 2020.
[2] Narayan, S., Cohen, S. B., and Lapata, M. Don’t give me the details, just the summary! Topic-aware convolutional neural networks for extreme summarization. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, Brussels, Belgium, 2018.
[3] Hutchinson, M. A stochastic estimator of the trace of the influence matrix for laplacian smoothing splines. Communications in Statistics - Simulation and Computation, 19(2):433–450, 1990. doi: 10.1080/ 03610919008812866. URL https://doi.org/10. 1080/03610919008812866.

Illustration by Bittu Designs from IconScout

-The End-

关于我“门”

将门是一家以专注于发掘、加速及投资技术驱动型创业公司的新型创投机构,旗下涵盖将门创新服务、将门-TechBeat技术社区以及将门创投基金。
将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。
如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”:
bp@thejiangmen.com

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

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

相关文章

张勇发全员信:阿里云将分拆上市;ChatGPT官方iOS应用上线,支持中文语音;Bun 0.6发布|极客头条...

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&#…

搭建Gpt OpenAI 人工智能写作助手和内容创SaaS系统

该源码是一个SaaS平台,允许你的用户使用OpenAI人工智能技术来生成独特的内容和图像。它可以生成新的无抄袭内容,并以多种语言改进现有内容。用户还可以通过OpenAI DALL-E和稳定扩散,通过描述图像来生成图像。用户还可以通过OpenAi Whisper模型…

建议熟知:2023谷歌新搜索规则!

谷歌作为全球最大的搜索引擎之一,不断更新和调整其搜索算法和规则,以提供更精准、高质量的搜索结果。2023年,谷歌搜索将迎来一系列新的搜索规则,同时,AI工具的快速发展也为谷歌搜索带来了全新的应用场景和可能性。 这…

马云创办的「中国黄页」上线 | 历史上的今天

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 5 月 9 日,在 1993 年的今天,第一届东亚运动会在上海隆重开幕,这是亚洲体育运动史上的新篇章。来自东亚地区的中国、日本、中…

迎战ChatGPT风口 | 冰山数据发布多轮对话标注系统

近期,科技领域最火爆的话题无疑是由OpenAI推出的ChatGPT,通过ChatGPT可以帮助个人用户和企业生成文章、撰写视频脚本、写小说、写诗歌、谱曲、解答各种专业问题、甚至可以解答数学问题和写代码。 谷歌、百度、苹果等科技和互联网巨头也在该领域进行跟进&…

ChatGPT Plus使用指南:解锁人工智能模型的强大功能

引言: 想要利用世界上最先进的AI语言模型优化您的工作任务吗?OpenAI的ChatGPT Plus正是您的理想选择。本篇博客将为您介绍ChatGPT Plus,并展示其友好的用户界面。 一、ChatGPT Plus的使用步骤 1、访问ChatGPT官方网站 登录ChatGPT&#xff0c…

基于深度学习股票预测系统

摘要 股票市场的发展对于市场经济具有重要的意义,许多研究者也对股票市场的走势进行预测研究。通过一些技术来预测股票未来的发展趋势,预测其后面涨跌。股票指数是预判经济的一个重要指标,股票指数表示的就是股票市场中总体的发展水平和走向…

如何借助现有股票量化交易平台编写策略和回测分析

每个交易日的股票都会上涨或者下跌,在这个过程中笔者们偶尔会想针对部分股票进行股价的涨跌幅进行监控,或者自动进行交易,在这个需求前提下,现有券商、股票分析软件都会带有机器人自动交易策略功能,大部分都需要收费或…

Tushare简单股票预测,仅用于交流学习

第一次做Tushare简单股票预测,仅用于交流学习,若有错误欢迎批评指正 下面是用Tushare进行中石化的股票预测 import tushare as ts import pandas as pd import keras from keras import layers from keras import models from keras import Sequential from keras.…

是涨是跌?用Python预测股票价格趋势

来源数据:STUDIO,作者:云朵君 导读:在本文中我们尝试研究白酒股票市场的数据。使用baostock来获取股票信息,可视化它们的不同,最后将使用一些方法来分析股票的风险。还将通过长期短期记忆(LSTM)方法来预测未…

股票分析,利用线性回归实时预测股价,只需要提供股票代码即可爬取相应股票数据并建模

这里参考了别人的代码,并引用了tushare模块中定义的接口自动获取了依据 股票代码来获取数据 此篇文章提供了 1.一个简单通过接口爬取csv数据的方法 2.一个处理csv数据的简单方法 3.依据数据进行特征提取建立简单的股价预测模型 如下: 使用的话只需要修改…

大幅提升预测性能,将NSTransformer用于股价预测

写在前面 NSTransformer模型来自NIPS 2022的一篇paper《Non-stationary Transformers: Exploring the Stationarity in Time Series Forecasting》。NSTransformer的目的主要是为了解决其他方法出现过平稳化处理的问题。其通过提出序列平稳化以及去平稳化注意力机制可以使得模型…

利用神经网络实现股票预测 | 附Pyhon代码

神经网络(NeuralNetworks)是一种用训练数据拟合目标函数的黑箱模型,只要数据量足够大,它可以拟合出输入到输出之间的任意函数关系。 本篇教程我们将使用神经网络进行股市的预测,利用数据样本学习,得到相关因…

基于LSTM进行股票趋势预测(tushare)

注: 本文章仅用于算法&工具学习与使用,不具有任何投资建议。 前言: 笔者最近在研究时序趋势预测,而股票天然具有时序性,故使用某一股票数据进行学习。下面将使用代码预测一只股票的每日最高价,当然也可…

Python预测股票走势

最新代码:股票预测配套代码(jupyter版)-机器学习文档类资源-CSDN下载 视频:基于python进行股票趋势预测_哔哩哔哩_bilibili Python的功能可谓相当强大,在很多行业具有相当的优势,这种优势很大程度上来源于各种第三方库。本文介绍…

使用python对股票数据分析预测

安装quandl 安装Pandas_Datareader 1、获取数据 import Pandas_Datareader.data as web import datetime startdatetime.datetime(2018,1,1) enddatetime.datetime.now() SZ000001web.DataReader(000001.SZ,yahoo,start,end) 可以获取最高价,最低价&#xf…

使用新闻预测股票走势-----Kaggle经典ph.D操作分析

General information Two Sigma金融新闻竞赛是一项独特的竞赛:不仅仅是内核竞争,而且我们不应该下载数据,在第二阶段,我们的解决方案将用于预测未来的真实数据。 我将尝试为本次比赛进行广泛的EDA,并尝试找到一些有关…

tushare单个股票过去五年的数据整理与预测

文章目录 前言:1. 导入相关包2. 数据预处理3. 构建模型3. 模型训练4. 检查数据6. 工作中其他常用包记录 前言: %md 在量化投资中,计算收益率是更常见的做法,而不是仅计算股价。计算收益率可以更好地反映投资的回报情况&#xff0c…

使用chatSonic代替chatGPT实现代码智能编写与应答

WriteSonic地址 WriteSonic—其中,提供chatSonic功能app. 注册 使用google账户登录即可. 界面 登录后的界面](https://img-blog.csdnimg.cn/bff0283f8b5f43dd8483caef62784b37.png) 使用 点击上图中的chatSonic链接. 问答窗口 测试智能编码 在文本框中输入…

有了ChatGPT 微软对元宇宙不香了?

押注ChatGPT是微软最近的主要发力点,另一边,它开始向元宇宙业务挥出裁员“大刀”。海外消息称,微软解散了成立仅四个月的工业元宇宙团队,约100名员工被全被解雇。 这只是微软放缓元宇宙战略的长尾动作,此前&#xff0…