機器之心專欄
機器之心編輯部
# AI 造假的成功率很高,前幾天「10 分鐘騙 430萬」還上了熱搜。在最熱門的大語言模型上,研究人員最近探索了一種識別方法。
隨著生成式大模型的不斷進步,它們所產生的語料正逐步逼近人類。雖然大模型正在解放無數文書的雙手,它以假亂真的強勁能力也為一些不法分子所利用,造成了一系列社會問題:
來自北大、華為的研究者提出了一種識別各式 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 分別對同一問題做出回答的例子:
由這些例子可見,很難對 AI 生成的簡短回答進行識別:這類語料與人的區別過小,很難嚴格判斷其真實屬性。因此,將短文本簡單標註為人類 / AI 並按照傳統的二分類問題進行文本檢測是不合適的。
針對這個問題,本研究將人類/ AI 的二分類檢測部分轉化為了一個部分PU(Positive-Unlabeled)學習問題,即在較短的句子中,人的語言為正類(Positive),機器語言為無標記類別(Unlabeled),以此對訓練的損失函數進行了改進。此改進可觀提升了偵測器在各式語料上的分類效果。
演算法細節
在傳統的 PU 學習設定下,一個二分類模型只能根據正訓練樣本和無標記訓練樣本進行學習。一個常用的 PU 學習方法是透過制定 PU loss 來估計負樣本對應的二分類損失:
其中,表示正樣本與正標籤計算的二分類損失;表示將無標記樣本全部假定為負標籤計算的二分類損失;表示將正樣本假定為負標籤計算的二分類損失;表示的是先驗正樣本機率,即正樣本在全部PU 樣本中的預估佔比。在傳統的 PU 學習中,通常將先驗設定為一個固定的超參數。然而在文字偵測的場景中,偵測器需要處理各式長度不同的文字;而對於不同長度的文字而言,其正樣本在所有和該樣本相同長度的PU 樣本中的預估佔比也是不同的。因此,本研究對 PU Loss 進行了改進,提出了長度敏感的多尺度 PU(MPU)loss 損失函數。
具體地,本研究提出了一個抽象的循環模型對較短文本檢測進行建模。傳統的 NLP 模型在處理序列時,通常是馬可夫鏈的結構,如 RNN、LSTM 等。這類循環模型的這個過程通常可以理解為一個逐漸迭代的過程,即每個 token 輸出的預測,都是由上一個 token 及之前序列的預測結果和該 token 的預測結果經過變換、融合得到的。即以下流程:
為了根據這個抽象的模型進行先驗機率的估計,需要假定該模型的輸出為某個句子為正類別(Positive)的置信度,即判定為人說出的樣本的機率。假設每個 token 的貢獻大小為句子 token 長度的反比,是非正(Positive)即無標記(Unlabeled)的,且為無標記的機率遠大於為正的機率。因為隨著大模型的詞彙量逐漸逼近人類,絕大部分詞彙會同時出現在 AI 和人類語料中。根據這個簡化後的模型和設定好的正 token 機率,透過求出不同輸入情況下模型輸出置信度的總期望,來得到最終的先驗估計。
透過理論推導和實驗,估計得到先驗機率隨著文本長度的上升而上升,最終逐漸穩定。這種現像也符合預期,因為隨著文字變長,偵測器可以捕捉的資訊更多,文本的 「來源不確定性」也逐漸減弱:
之後,對於每個正樣本,根據其樣本長度得到的獨特先驗對 PU loss 進行計算。最後,由於較短文本僅有部分「不確定性」(即較短文本也會含有一些人或AI 的文本特徵),可以對二分類loss 和MPU loss 進行加權相加,作為最終的最佳化目標:
此外要注意的是,MPU loss 適配的是長度較為多樣的訓練語料。倘若既有的訓練資料單質化明顯,大部分語料為大段冗長的文本,則無法全面發揮 MPU 方法的功效。為了使得訓練語料的長度更多樣化,本研究也引入了一個在句子層面進行多尺度化的模組。此模組隨機遮蓋訓練語料中的部分句子,並對餘下句子在保留原有順序的前提下進行重組。經過訓練語料的多尺度化操作,訓練文本得到了長度上的極大豐富,從而充分利用了 PU 學習進行 AI 文字偵測器訓練。
實驗結果
如上表所示,作者先在較短的 AI 生成語料資料集 Tweep-Fake 上檢驗 MPU loss 的效果。此資料集中的語料均為推特上較為短小的語段。作者又在傳統的語言模型微調基礎上將傳統二分類 loss 替換為含有 MPU loss 的最佳化目標。改進之後的語言模型偵測器效果較為突出,超過了其它基線演算法。
作者又對chatGPT 生成文本進行了檢測,經過傳統微調得到的語言模型檢測器在短句上表現較差;經過MPU 方式在同等條件下訓練得到的檢測器在短句上表現良好,且同時能夠在完整語料上取得可觀的效果提升,F1-score 提升了1%,超越了OpenAI 和DetectGPT 等SOTA 演算法。
如上表所示,作者在消融實驗中觀察了每個部分所帶來的效果增益。 MPU loss 加強了長、短語料的分類效果。
作者也對比了傳統 PU 和 Multiscale PU(MPU)。由上表可見 MPU 效果更勝一籌,能更適配 AI 多尺度文字偵測的任務。
總結
作者提出基於多尺度 PU 學習的方案,解決了文字偵測器對於短句辨識的難題,隨著未來 AIGC 生成模型的氾濫,對於這類內容的偵測將會越來越重要。這項研究在 AI 文字偵測的問題上邁出了堅實的一步,希望未來會有更多類似的研究,把 AIGC 內容進行更好的管控,防止 AI 生成內容的濫用。
以上是辨識ChatGPT造假,效果超越OpenAI:北大、華為的AI生成檢測器來了的詳細內容。更多資訊請關注PHP中文網其他相關文章!