컴백부터 K-뷰티까지 — K-컬쳐의 모든 것을 메일로 받아보세요메일로 받아보기

METAL MEDIA

AI가 쓴 티를 내는 워터마크, 문장을 여러 번 바꿔써도 잡아내는 탐지법

arXiv:2608.181022026-08-20

Stability-Aware Feature Design for Robust Watermark Detection in Machine-Generated Text

AI가 쓴 티를 내는 워터마크, 문장을 여러 번 바꿔써도 잡아내는 탐지법

AI가 생성한 텍스트에는 눈에 안 띄게 심어둔 통계적 신호(워터마크)가 있는데, 사람이 다른 표현으로 여러 번 바꿔쓰면(패러프레이징) 기존 탐지기는 성능이 확 떨어진다. 이 논문은 텍스트를 여러 구간으로 쪼개 국소적으로 신호를 살피고, 문장을 반복해서 바꿔써도 그 신호가 얼마나 일정하게 유지되는지를 측정하는 PSS(Pattern Stability Score)라는 새 특징을 만들었다. 그 결과 8번 바꿔쓴 극단적인 상황에서도 기존 방식보다 훨씬 안정적으로 AI 생성 여부를 구분해냈다.

METAL MEDIA 해설 도표

AI가 쓴 티를 내는 워터마크, 문장을 여러 번 바꿔써도 잡아내는 탐지법

  1. 01AI 생성 텍스트를 표시하는 워터마크는 단어 선택을 '초록 리스트'로 살짝 편향시키는 방식(greenlist watermarking)인데, 기존 탐지기는 전체 텍스트를 하나의 점수(z-score)로 뭉뚱그려 판단해서 일부 구간만 편집돼도 전체 점수가 희석되는 문제가 있었다
  2. 02연구팀은 텍스트를 작은 창(window)으로 나눠 국소적으로 통계치(평균, 분산, 자기상관, 연속 구간 길이 등 20가지 특징)를 뽑고, 같은 텍스트를 최대 8번 반복해서 바꿔쓴 뒤에도 이 국소 신호가 얼마나 안정적으로 유지되는지를 계산하는 PSS를 도입했다
  3. 03PG-19, CNN/DailyMail, WikiText 세 데이터셋과 Llama-3-8B, Qwen2-7B 등 여러 생성 모델, Mistral·Qwen2·Gemma 등 여러 패러프레이저로 실험한 결과, 1500토큰 기준 8번 바꿔쓴 텍스트에서도 PSS 방식은 91.2%의 판별 정확도(AUC)를 유지한 반면 기존 딥러닝 기반 탐지기(DeepTextMark, Binoculars, RADAR)는 41~44%로 무너졌다
  4. 04짧은 글(300~500토큰)이나 서로 다른 데이터셋·모델 조합에서도, 재학습 없이 하나의 분류기로 87.8% 이상의 AUC를 유지하는 범용성도 확인했다
  5. 05다만 텍스트가 아주 짧으면서 동시에 깊게 반복해서 바꿔쓴 경우, 그리고 워터마크 신호 자체를 없애도록 특별히 학습된 공격 앞에서는 성능이 크게 떨어지는 한계도 있었다
METAL MEDIA이 원문을 바탕으로 재구성한 해설 도표이며, 논문 저자의 원문 figure가 아닙니다.

무엇을 했나

  1. AI 생성 텍스트를 표시하는 워터마크는 단어 선택을 '초록 리스트'로 살짝 편향시키는 방식(greenlist watermarking)인데, 기존 탐지기는 전체 텍스트를 하나의 점수(z-score)로 뭉뚱그려 판단해서 일부 구간만 편집돼도 전체 점수가 희석되는 문제가 있었다
  2. 연구팀은 텍스트를 작은 창(window)으로 나눠 국소적으로 통계치(평균, 분산, 자기상관, 연속 구간 길이 등 20가지 특징)를 뽑고, 같은 텍스트를 최대 8번 반복해서 바꿔쓴 뒤에도 이 국소 신호가 얼마나 안정적으로 유지되는지를 계산하는 PSS를 도입했다
  3. PG-19, CNN/DailyMail, WikiText 세 데이터셋과 Llama-3-8B, Qwen2-7B 등 여러 생성 모델, Mistral·Qwen2·Gemma 등 여러 패러프레이저로 실험한 결과, 1500토큰 기준 8번 바꿔쓴 텍스트에서도 PSS 방식은 91.2%의 판별 정확도(AUC)를 유지한 반면 기존 딥러닝 기반 탐지기(DeepTextMark, Binoculars, RADAR)는 41~44%로 무너졌다
  4. 짧은 글(300~500토큰)이나 서로 다른 데이터셋·모델 조합에서도, 재학습 없이 하나의 분류기로 87.8% 이상의 AUC를 유지하는 범용성도 확인했다
  5. 다만 텍스트가 아주 짧으면서 동시에 깊게 반복해서 바꿔쓴 경우, 그리고 워터마크 신호 자체를 없애도록 특별히 학습된 공격 앞에서는 성능이 크게 떨어지는 한계도 있었다
Figure 2: AUC vs. paraphrase depth at 1,500 tokens. Mean AUC (solid lines) with ±1 SD bands (shaded) over 30 runs with random 70/30 splits for four methods—Global z threshold, Local z (20) + classifiers, Static features + classifiers, and PSS + Static—all using XGBoost. Local statistics improve robustness relative to the global threshold, and adding PSS further flattens the AUC decline from D​3–D​8.
Figure 2: AUC vs. paraphrase depth at 1,500 tokens. Mean AUC (solid lines) with ±1 SD bands (shaded) over 30 runs with random 70/30 splits for four methods—Global z threshold, Local z (20) + classifiers, Static features + classifiers, and PSS + Static—all using XGBoost. Local statistics improve robustness relative to the global threshold, and adding PSS further flattens the AUC decline from D​3–D​8.
Table 1: Comparison with prior detectors on PG-19 at 1,500 tokens. AUC (%) across paraphrase depths. PSS + Static outperforms statistical baselines (Global z-score, WinMax) by 14–19 percentage points an, the global z-score by 22–24 percentage points, and deep-learning detectors (DeepTextMark, Binoculars, RADAR) by 30–50 percentage points across D​1–D​8.
MethodD1D3D5D8
Global z-score74.270.068.066.8
WinMax (Kirchenbauer et al., 2024)82.176.574.472.3
Static features (20-D)88.183.280.278.6
DeepTextMark (Munyer et al., 2024)65.851.247.543.9
Binoculars (Hans et al., 2024)62.748.644.941.9
RADAR (Hu et al., 2023)58.447.243.740.8
PSS + Static96.193.992.691.2
Figure 3: Window/stride sensitivity (1,500 tokens) for PSS + static. Numbers show mean AUC (%) across depths D​1–D​8.
Figure 3: Window/stride sensitivity (1,500 tokens) for PSS + static. Numbers show mean AUC (%) across depths D​1–D​8.
Table 2: Cross-Domain Transfer. AUC (%) when training on one dataset and testing on another. PSS generalizes effectively while deep learning methods collapse.
Train → TestMethodD1D3D5D8
PG-19 → CNN/DMDeepTextMark46.338.534.232.1
Binoculars44.136.833.130.9
RADAR41.835.131.529.4
PSS + Static88.685.884.783.8
CNN/DM → WikiTextDeepTextMark50.841.237.535.2
Binoculars48.939.836.234.0
RADAR46.738.234.832.6
PSS + Static93.191.290.489.7
WikiText → CNN/DMDeepTextMark43.235.431.328.9
Binoculars41.533.929.827.6
RADAR39.432.128.126.2
PSS + Static88.685.784.683.7
Figure 4: Shorter texts. Mean AUC (solid) with ±1 SD bands (shaded) over 30 random 70/30 splits. Top-left to bottom-left: AUC vs. paraphrase depth for 1,000/500/300 tokens; bottom-right: AUC vs. token length at D​7. All methods degrade with less text, but local/static features mitigate the drop and PSS + Static maintains the strongest performance across depths and lengths, including at D​7.
Figure 4: Shorter texts. Mean AUC (solid) with ±1 SD bands (shaded) over 30 random 70/30 splits. Top-left to bottom-left: AUC vs. paraphrase depth for 1,000/500/300 tokens; bottom-right: AUC vs. token length at D​7. All methods degrade with less text, but local/static features mitigate the drop and PSS + Static maintains the strongest performance across depths and lengths, including at D​7.
Table 3: Universal Classifier Performance. AUC (%) for a single classifier trained on Llama-3 + Mistral + PG-19 + D1-D3, evaluated across varied configurations.
Test ConfigurationChangedD1D3D5D8
Llama-3 + Mistral + PG-19Baseline96.193.992.691.2
Qwen2 + Mistral + PG-19LLM94.291.890.989.6
Llama-3 + Gemma + PG-19Paraphraser89.182.780.680.0
Llama-3 + Mistral + CNNDomain88.685.884.783.8
Qwen2 + Qwen2 + WikiTextALL92.690.589.287.8
Figure 5: Mix paraphrasing (Mistral ↔ Qwen), 1,500 tokens. AUC vs. depth under alternating paraphrasers.
Figure 5: Mix paraphrasing (Mistral ↔ Qwen), 1,500 tokens. AUC vs. depth under alternating paraphrasers.
Table 4: Gemma-7B-IT paraphrasing: AUC (%) vs. depth (D​1–D​8). All classifier entries use XGBoost; values are mean ± std over 30 runs.
MethodD1D2D3D4D5D6D7D8
Global z-score threshold56.50 ± 0.0054.35 ± 0.0053.75 ± 0.0053.55 ± 0.0053.25 ± 0.0053.30 ± 0.0053.05 ± 0.0053.00 ± 0.00
Local z-score (20)66.07 ± 1.4259.03 ± 1.6658.92 ± 1.9957.52 ± 2.2057.81 ± 1.6357.32 ± 1.4057.55 ± 1.5557.80 ± 1.41
Static features72.75 ± 1.8768.95 ± 1.8767.02 ± 1.2968.10 ± 1.3567.48 ± 1.7667.10 ± 1.8366.82 ± 1.5865.16 ± 1.87
PSS + Static83.51 ± 1.4377.85 ± 1.6375.98 ± 1.4576.54 ± 1.2173.69 ± 1.4973.33 ± 1.2372.92 ± 2.03
Table 5: Qwen2-7B-Instruct paraphrasing: AUC (%) vs. depth (D​1–D​8). All classifier entries use XGBoost; values are mean ± std over 30 runs.
MethodD1D2D3D4D5D6D7D8
Global z-score threshold73.25 ± 0.0069.90 ± 0.0069.00 ± 0.0068.40 ± 0.0067.90 ± 0.0067.70 ± 0.0067.35 ± 0.0066.80 ± 0.00
Local z-score (20)58.90 ± 1.6158.15 ± 1.6955.03 ± 1.7155.48 ± 1.6455.86 ± 1.6655.19 ± 1.6454.27 ± 1.6355.27 ± 1.66
Static features82.08 ± 1.4578.64 ± 1.5577.15 ± 1.5177.89 ± 1.4877.47 ± 1.5278.37 ± 1.5078.77 ± 1.4976.36 ± 1.47
PSS + Static94.67 ± 0.6892.68 ± 0.7992.38 ± 0.8292.63 ± 0.7891.90 ± 0.9190.57 ± 0.9890.47 ± 1.02
Table 6: Feature-group ablation. AUC (%) on PG-19 at 1,500 tokens. Components are added incrementally to a global z-score baseline. Every group contributes measurably and PSS provides the largest single jump, confirming that each component captures a distinct, non-redundant aspect of the watermark signal.
Feature SetD1D3D5D8
Global z-score (baseline)74.270.068.066.8
Z-score moments (6-D)83.276.574.172.0
+ Autocorrelations (8-D)85.079.376.074.4
+ Run-length stats (14-D)87.383.279.877.2
+ Run-frequency (full 20-D)88.183.280.278.6
+ PSS (full PSS + Static)96.193.992.691.2
Table 7: PSS with Different Watermarking Schemes. AUC (%) with varying greenlist ratios.
Watermark ConfigD1D3D5D8
Standard (γ=0.25)96.193.992.691.2
Stronger (γ=0.50)97.696.495.594.2
Table 8: Within-domain: Train on CNN/DailyMail (70%) → Test on CNN/DailyMail (30%). AUC (%) across paraphrase depths. All classifier entries use XGBoost; values are mean ± std over 30 runs.
MethodD1D2D3D4D5D6D7D8
Global z-score threshold74.20 ± 0.0070.45 ± 0.0069.60 ± 0.0068.85 ± 0.0068.20 ± 0.0067.70 ± 0.0067.30 ± 0.0066.80 ± 0.00
Local z-score (20)59.80 ± 1.7858.65 ± 1.8256.40 ± 1.7555.50 ± 1.7754.90 ± 1.8054.35 ± 1.8353.80 ± 1.8553.25 ± 1.88
Static features84.30 ± 1.5882.50 ± 1.6278.05 ± 1.6077.65 ± 1.6577.05 ± 1.6876.45 ± 1.7275.85 ± 1.7575.25 ± 1.78
PSS + Static95.30 ± 0.8593.50 ± 0.9292.75 ± 0.9892.35 ± 1.0591.70 ± 1.1291.15 ± 1.1890.60 ± 1.2590.05 ± 1.32
Table 9: Within-domain: Train on WikiText (70%) → Test on WikiText (30%). AUC (%) across paraphrase depths. All classifier entries use XGBoost; values are mean ± std over 30 runs.
MethodD1D2D3D4D5D6D7D8
Global z-score threshold79.85 ± 0.0077.15 ± 0.0076.45 ± 0.0075.90 ± 0.0075.45 ± 0.0075.10 ± 0.0074.80 ± 0.0074.55 ± 0.00
Local z-score (20)65.70 ± 1.5564.90 ± 1.5863.40 ± 1.6262.85 ± 1.6062.50 ± 1.6362.20 ± 1.6561.90 ± 1.6761.65 ± 1.68
Static features88.85 ± 1.4888.10 ± 1.5085.80 ± 1.4685.45 ± 1.4885.15 ± 1.5084.85 ± 1.5284.55 ± 1.5484.30 ± 1.55
PSS + Static98.45 ± 0.5597.25 ± 0.6296.85 ± 0.6896.50 ± 0.7296.15 ± 0.7895.85 ± 0.8295.55 ± 0.8595.30 ± 0.88
Table 10: Cross-domain: Train on WikiText (70%) → Test on CNN/DailyMail (30%). AUC (%) across paraphrase depths. All classifier entries use XGBoost; values are mean ± std over 30 runs.
MethodD1D2D3D4D5D6D7D8
Global z-score threshold59.80 ± 0.0057.20 ± 0.0055.95 ± 0.0055.05 ± 0.0054.40 ± 0.0053.95 ± 0.0053.60 ± 0.0053.30 ± 0.00
Local z-score (20)54.85 ± 2.0253.55 ± 2.1052.10 ± 2.1851.30 ± 2.2450.75 ± 2.2850.30 ± 2.3249.95 ± 2.3549.65 ± 2.38
Static features76.15 ± 1.8274.20 ± 1.9072.75 ± 1.9872.00 ± 2.0571.40 ± 2.1070.95 ± 2.1570.55 ± 2.1870.25 ± 2.20
PSS + Static88.60 ± 1.1287.15 ± 1.2285.70 ± 1.3085.15 ± 1.3884.60 ± 1.4584.15 ± 1.5283.90 ± 1.5883.70 ± 1.65
Table 11: Cross-domain: Train on CNN/DailyMail (70%) → Test on WikiText (30%). AUC (%) across paraphrase depths. All classifier entries use XGBoost; values are mean ± std over 30 runs.
MethodD1D2D3D4D5D6D7D8
Global z-score threshold65.55 ± 0.0063.40 ± 0.0062.40 ± 0.0061.70 ± 0.0061.20 ± 0.0060.80 ± 0.0060.50 ± 0.0060.25 ± 0.00
Local z-score (20)59.35 ± 1.7258.15 ± 1.7856.80 ± 1.8556.10 ± 1.9055.55 ± 1.9455.10 ± 1.9754.70 ± 2.0054.40 ± 2.02
Static features81.45 ± 1.5579.80 ± 1.6278.50 ± 1.6877.90 ± 1.7277.40 ± 1.7577.00 ± 1.7876.65 ± 1.8076.40 ± 1.82
PSS + Static93.10 ± 0.8592.15 ± 0.9291.20 ± 0.9890.80 ± 1.0590.40 ± 1.1290.10 ± 1.1889.85 ± 1.2589.70 ± 1.30
Table 12: Comprehensive Experimental Coverage. Performance across different datasets, LLMs, paraphrasers, and watermark settings.
DatasetLLMParaphraserSettingD1D3D5D8
PG-19Llama-3-8BMistral-7Bγ=0.2596.1%93.9%92.6%91.2%
PG-19Qwen2-7BMistral-7Bγ=0.2594.2%91.8%90.9%89.6%
CNN/DailyMailLlama-3-8BMistral-7Bγ=0.2595.3%93.2%92.3%90.7%
WikiTextLlama-3-8BQwen2-7Bγ=0.2597.5%96.2%95.8%94.8%
PG-19Llama-3-8BMistral-7Bγ=0.5097.6%96.4%95.5%94.2%
Table 13: True Positive Rate at Fixed False Positive Rates. Critical operating points for practical deployment.
FPRMethodD1D2D3D4D5D6D7D8
1%Global z-score0.420.380.350.320.300.280.260.24
Local z-score (20)0.480.440.400.370.350.330.310.29
Static features0.650.600.550.520.490.470.450.43
PSS + Static0.840.800.760.730.700.680.660.64
5%Global z-score0.580.520.470.430.400.370.350.33
Local z-score (20)0.620.570.520.480.450.420.400.38
Static features0.780.730.680.640.610.580.560.54
PSS + Static0.920.890.860.830.810.790.770.75
Table 14: Semantic Preservation and Performance. BERT similarity decreases with depth; PSS remains robust across all depths. All detection values are AUC (%).
DepthBERT Sim.PSS+StaticGlobal zDeepTextMark
D10.9296.1%74.2%58.4%
D20.8994.8%71.5%53.1%
D30.8593.9%68.7%47.6%
D40.8293.2%67.8%45.8%
D50.8092.6%66.8%43.9%
D60.7692.1%66.2%42.8%
D70.7291.6%65.8%42.0%
D80.6891.2%65.3%41.2%
Table 15: Performance Under Realistic Attacks. AUC (%) across various attack scenarios. PSS maintains robust performance.
Attack TypePSS+StaticGlobal zDeepTextMark
1-2 paraphrases (D1-D2 avg)95.4%72.8%54.6%
Manual edits (20% modified)91.8%62.7%46.3%
Manual edits (30% modified)88.9%56.4%40.2%
Chain paraphrasing (Mixed)90.6%67.1%49.1%
Table 16: Computation Time Breakdown (seconds). Mean ± std over 100 runs. PSS detection is highly efficient.
Component300 tok500 tok1000 tok1500 tok
Binary sequence extraction0.12±0.010.18±0.010.28±0.020.41±0.02
Rolling-window features0.35±0.030.58±0.040.95±0.061.45±0.08
Stability score computation0.28±0.020.46±0.030.78±0.051.18±0.07
XGBoost classification0.05±0.010.08±0.010.09±0.010.16±0.02
Feature extraction and classification0.80±0.041.30±0.052.10±0.083.20±0.11
Table 17: Deployment Trade-offs. Practical configurations balancing accuracy and latency.
ConfigurationParaphrasesInference TimeD8 AUCUse Case
Static features only00.8–3.2s83–85%High-throughput screening
PSS (minimal)120–35s89–91%Balanced deployment
PSS (full)72–4 min91–96%High-stakes verification
Baselines
Global z-score0<0.1s62–66%
DeepTextMark02–5s41–44%
Table 18: Performance under the adaptive attack of Diaa et al. (2025). AUC (%) on PG-19 at 1,500 tokens, comparing naive Mistral paraphrasing at D​1 to the DPO-optimized adaptive attack at D​1 and D​2. The adaptive paraphraser is fine-tuned to minimize the global z-score and effectively defeats it. In contrast, PSS + Static maintains >80% AUC, retaining a 30+ percentage point advantage.
NaiveAdaptive (Diaa et al.)
MethodD1D1D2
Global z-score74.252.153.6
PSS + Static96.183.280.6

왜 중요한가

AI가 만든 글을 표시해두는 워터마크 기술이 실제로 쓰이려면 사람이 문장을 살짝 다듬거나 여러 번 바꿔써도 흔적이 남아야 하는데, 이 연구는 탐지기 쪽만 손봐서 그 문제를 해결하는 실용적인 방법을 보여준다. 교육, 언론, 저작권 검증처럼 AI 생성물 여부를 가려야 하는 현장에서 바로 적용 가능한 접근이라는 점에서 의미가 있다.

이 논문의 용어

  • 워터마킹(watermarking) · AI가 생성한 문장에 사람 눈에는 안 보이지만 통계적으로 검출 가능한 표식을 몰래 심어두는 기법
  • greenlist 워터마킹 · 단어를 생성할 때마다 어휘 일부를 '초록 리스트'로 정해 그쪽 단어가 더 자주 나오게 살짝 편향시키는 방식
  • z-score · 관측된 값이 우연히 나올 확률적 기준에서 얼마나 벗어났는지를 나타내는 통계 수치, 워터마크 탐지의 기본 판별 기준
  • 패러프레이징(paraphrasing) · 같은 의미를 다른 표현으로 바꿔 쓰는 것, 워터마크를 지우려는 대표적 공격 방법
  • AUC(area under the curve) · 탐지 모델이 진짜와 가짜를 얼마나 잘 구분하는지 나타내는 성능 지표, 1에 가까울수록 정확

본문에 싣지 못한 그림

  • Figure 1: End-to-end PSS pipeline. Human and AI-watermarked texts undergo up to eight paraphrasing rounds, with binary sequences extracted at each iteration (D0–D8). Watermarked text maintains stable patterns across iterations while human text shows random variation. An XGBoost classifier uses these stability features alongside static features for final classification.
원문에서 그림 보기 →

저자 · Sina Mansouri, Mohit Marvania, Abolfazl Safikhani

arXiv에서 원문 보기

최신 논문

논문 전체 보기 →

METAL MEDIA 최신 기사

그림 출처: Sina Mansouri et al., arXiv:2608.18102, CC BY 4.0