research

The Telltale Wobble: Spotting AI-Generated Images Without Training a Thing

Generative AI makes fakes look real. A 2024 method called RIGID offers a counter-intuitive trick: train nothing — just give an image a tiny "nudge" and watch how far it moves inside a frozen vision model. Real photos barely budge; AI images slide. A richly illustrated walkthrough.

By Reef · Walking Whale

科普 · AI 影像鑑識

輕輕一推,假圖現形

要分辨一張照片是真拍的還是 AI 生成的,已經越來越難。2024 年的一項研究「RIGID」用了一個簡單到像作弊的方法破解它:不訓練任何模型——只要「推一下」圖片,看它動多少。

免訓練 不綁生成器 零標註 2024 預印本 arXiv 2405.20112

你幾乎肯定已經被騙過了

2023 年,一張教宗穿著蓬鬆白色名牌羽絨外套「出門散步」的照片,萌翻了數百萬人——直到大家發現:根本沒有那件外套,也沒有那次散步。那是 Midjourney 幾秒鐘生成的。同年春天,一張五角大廈旁冒出黑煙的模糊照片在社群瘋傳;在事實查核跟上之前的短短幾分鐘,美股真的應聲下挫。那也是 AI 生成的。每逢大型風災,一張張孩子緊抱寵物、身陷災難的催淚影像被分享數百萬次、募到真金白銀——而那些畫面,從未真實發生。

這些假圖,沒有一張是「多看兩眼」就能識破的。手指正常、光線合理、臉孔完美無瑕。一個令人不安的事實是:你的眼睛已經不再是可靠的偵測器——我的也不是。於是問題不再是「你看得出來嗎?」,而是更尖銳的一問:像素裡,是不是藏著一種連人眼都讀不到、機器卻能讀到的訊號?

一句話版本:真實照片落在自監督視覺模型「壓平過」的谷底裡,輕輕一推幾乎不動;AI 圖則落在谷底外的斜坡上,同樣一推就滑很遠。量一量這個「滑動量」,你就有了一個完全不需要訓練資料的偵測器。

>25%精確率勝過前一代最強的免訓練偵測器
0需要的訓練影像或標註
2每張圖只跑兩次模型——這就是全部成本
1一顆凍結的視覺模型,永不更新

1 · 問題:一場注定落後的軍備競賽

抓 AI 圖最直覺的做法,是拿大量真圖與假圖去訓練一個分類器。它有效——直到下一代生成器問世。生成模型每幾個月就換一代,用昨天的假圖訓練出來的偵測器,常常認不得明天的新假圖。

訓練式方法的三個痛點

它很貴(得蒐集並標註龐大的假圖資料集)、每出現一個新生成器就得重跑一次、而且對沒見過的風格泛化很差。於是學界開始問一個更尖銳的問題:有沒有一種訊號,能在完全不看任何一張標註過的假圖的情況下,就把真假分開?

2 · 點子:推一下,再比一比

RIGID(He、Chen、Ho,2024)對每張圖只做三件事。不訓練、也不需要知道是哪個生成器做的——純推論。

1 · 推一下(加一點雜訊) 2 · 用凍結模型各編碼一次 3 · 比較兩者——動了多少?

這顆凍結模型是 DINOv2——一個「自監督」視覺基座,靠著研讀數百萬張沒有標註的真實照片,自學出「真實世界長什麼樣」。它從不被微調、也從沒看過任何生成器,只是一雙固定的眼睛,把圖片變成一串數字(「嵌入向量」)。RIGID 只問一個問題:輕輕一推之後,這串數字是幾乎不變,還是猛然一跳?

authenticity-probe · demo
真實照片 原圖 vs. 推一下後的嵌入
餘弦相似度
0.98
移動量
極小
判定:偏向真實
authenticity-probe · demo
AI 生成影像 原圖 vs. 推一下後的嵌入
餘弦相似度
0.71
移動量
明顯
判定:偏向 AI 生成
RIGID 概念示意(He et al., 2024)。數字為直覺示意、非實際數據,也不是任何產品畫面。

下面這張,正是前面那些故事裡的那一種影像。它看起來像一張真實、溫柔的女孩與狗合照——但它不是:這是 Midjourney 一個像素一個像素生成出來的。接著,我們對它做一件「精神上與 RIGID 相同」的事——施加一個很小的擾動,看看什麼會動。(RIGID 用的是微弱的隨機雜訊;這裡改用你可以自己調的高斯模糊,因為當你能親手讓它動起來,「一推」這件事最好懂。)

A Midjourney-generated photo: a girl holding a dark short-haired dog outdoors, sharp / Midjourney 生成的影像:女孩在戶外抱著一隻深色短毛狗,清晰版
原圖 —— 100% AI 生成(Midjourney)
The same image after a gentle 1-pixel Gaussian-blur perturbation / 同一張影像,施加輕微 1px 高斯模糊擾動後
施加輕微 1px 高斯模糊「一推」之後
知道往哪看,破綻就藏不住

乍看很有說服力。但仔細看這三個地方——當前的生成器在這裡仍會露餡:

這些在縮圖大小下都不明顯——這正是為什麼像 RIGID 這種像素層級的訊號值得擁有。

3 · 為什麼有效:谷底與斜坡

精彩之處在這裡。DINOv2 在真實照片上自學時,等於把它們周圍的地形「壓平」了——真圖落在一片寬而平緩的谷底裡。碗底的彈珠推一下幾乎不動;而 AI 圖再逼真,位置仍略微偏離谷底、停在斜坡上,同樣一推就滾很遠。所謂「動了多少」,其實量的是它腳下地形有多陡。

flowchart TD
  N["推一下 Nudge"]
  N --> R["真圖 Real:谷底 valley"]
  N --> F["AI 圖 AI:斜坡 slope"]
  R --> RR["幾乎不動 barely moves"]
  F --> FF["滑很遠 slides far"]
  RR --> V["判定:真 REAL"]
  FF --> W["判定:假 AI"]

論文甚至給出嚴謹證明:隨機的一推,等於在探測一個「平滑化相似度函數」的梯度(也就是局部陡峭度)。假圖的梯度更大、斜坡更陡——這正是 RIGID 讀取的訊號。

4 · 怎麼量「動了多少」

兩串數字之間,可以用它們的「夾角」來比較——這就是餘弦相似度。方向一致是 1.0;方向偏開,分數就往 0 掉。它只看方向、不看長度,因此對亮度、縮放這類干擾比較穩健。

movement = 1 − cos( f(x) , f(x + λ·δ) )

從左讀到右:f 是凍結模型,x 是圖片,δ 是那一點隨機雜訊,λ 決定推得多用力。若「移動量」超過門檻,就判為 AI。而這個門檻只用真實影像來校準——真圖,正好是全世界最容易蒐集的圖片。

5 · 真的有用嗎?出乎意料地好

在涵蓋九種不同生成器(擴散模型、GAN、Transformer)的 ImageNet 基準上,零訓練的 RIGID 打敗了那些用數十萬張標註假圖訓練出來的偵測器。下圖是各方法的平均 AUROC(越高越好;50 = 丟銅板)。

  { "type": "bar", "title": "平均 AUROC · Average AUROC (ImageNet, 9 generators)",
    "data": { "labels": ["Wang","Gragnaniello","Corvi","DIRE","AEROBLADE","RIGID"],
      "datasets": [ { "label": "AUROC %", "data": [67.6, 57.0, 59.3, 53.9, 59.3, 86.7] } ] } }
  

9 種 ImageNet 生成器的平均 AUROC:RIGID 86.7%,遙遙領先訓練式偵測器(Wang 67.6、Corvi 59.3、DIRE 53.9)與前一代最強免訓練法 AEROBLADE(59.3)。

真正的重點是「泛化」。把 RIGID 和前一代最強的免訓練偵測器 AEROBLADE 放在四種差異很大的生成器上比一比:AEROBLADE 在多數上接近丟銅板,因為它依賴某一特定模型家族的自動編碼器;RIGID 則處處穩定,因為它只依賴那顆凍結基座、別無其他。

  { "type": "bar", "title": "跨生成器泛化 · Generalization across generators (AUROC %)",
    "data": { "labels": ["ADM (diffusion)","BigGAN","StyleGAN","DiT-XL"],
      "datasets": [
        { "label": "RIGID", "data": [87.8, 93.9, 85.9, 72.1] },
        { "label": "AEROBLADE", "data": [52.2, 50.1, 51.2, 73.0] } ] } }
  

在 ADM、BigGAN、StyleGAN、DiT-XL 上,RIGID 的 AUROC 為 72–94%;AEROBLADE 除了在 DiT-XL(剛好符合它的自動編碼器假設)外,幾乎都貼近 50%(丟銅板)。

偵測器 訓練所需標註假圖 平均 AUROC
Wang et al.720,00067.6
Corvi et al.400,00059.3
DIRE80,00053.9
AEROBLADE 免訓練059.3
RIGID 免訓練086.7
加分:撐得住真實世界

現實中的圖片會被壓縮、模糊、加雜訊。RIGID 在高斯雜訊、JPEG 壓縮與模糊下都維持穩健——而且它從未針對這些劣化做過訓練;甚至它所加的雜訊可以來自好幾種不同分布,準確率幾乎不變。

6 · 誠實的但書

沒有方法是魔法。由於 RIGID 建立在一個預訓練模型之上,它也繼承了那個模型的盲點;而最頂尖的生成器(位置最靠近谷底)最難抓。2026 年的獨立稽核也顯示,這整個家族在重度重壓縮與縮圖下可能失準。它是一個強大、便宜、通用的訊號——最好當成「多方意見中很有份量的一票」,而非唯一的神諭。


由 Reef 推動

Reef Walking Whale 出品 · 影像真偽與 AI 內容智慧
Reef logo — coral-reef motif in brand colors / Reef 標誌 — 珊瑚礁造型 凍結基座原生 影像智慧 研究驅動
Reef —— Walking Whale 平台。
很榮幸為創意競賽把關真偽

當「真偽」與「來源」越來越成為創作的核心議題,Reef 很榮幸成為協助多項設計與攝影競賽把關的技術夥伴之一。(本文為公開研究的科普介紹,並不代表任何特定賽事採用了任何特定方法。)

下一篇預告

如果這篇談的是「認出」合成影像,下一篇要談的是「守住」生成內容的安全:用平易近人的方式深入 ShieldGemma——以視覺語言模型做影像內容審核。敬請期待。

參考文獻

  1. Zhiyuan He、Pin-Yu Chen、Tsung-Yi Ho。〈RIGID:一個免訓練、不綁模型的強健 AI 生成影像偵測框架〉。arXiv 預印本 arXiv:2405.20112,2024 年。https://arxiv.org/abs/2405.20112(doi:10.48550/arXiv.2405.20112)。本文所有圖表與數字皆取自該論文自身的基準;不同論文使用的生成器與資料集各異,數字不能直接互比。

Articles