# Bài 7 — Data-centric và domain robustness: đổi phân phối nào?

[Điểm vào](00-BAT-DAU-LOP-04.md) · Trước: [augmentation](06-AUGMENTATION-LABEL-EVIDENCE.md) · Tiếp: [inference/scoring](08-INFERENCE-SCORING-FUSION.md).

## Mục tiêu và tiền đề

Tự đọc source×label support, phân biệt data diversity với exposure, và trace domain adversarial/Group DRO/consistency objectives. Cần [dataset/splits](../lop-02-deepfake-bai-toan/07-DATASET-VA-PROTOCOL.md), [cue/confound/shift](../lop-02-deepfake-bai-toan/08-CUE-CONFOUND-DOMAIN-SHIFT.md), [loss/sampling](05-LOSS-SAMPLING-OPTIMIZATION.md). Đây là cơ chế robustness, không chạy experiments hoặc phân tích lại EER của dự án.

## 1. Đổi corpus không chỉ là thêm N

Một mẫu training có audio x, label y, source s, speaker v, language l, generator g cho spoof, channel c và identity của bản gốc/bản phái sinh. Quality/dedup/sampling làm đổi phân phối chung của các yếu tố ấy. Thêm 10.000 utterances từ 10 speakers khác thêm 1.000 utterances từ 1.000 speakers; thêm 10 checkpoints cùng vocoder khác thêm 10 cơ chế sinh. Số audio/giờ độc nhất khác số augmented views và số lần chúng xuất hiện khi tối ưu.

| Data intervention | Cơ chế dự định | Assumption/failure |
|---|---|---|
| Multi-source B/S | Tăng support/context diversity | Label không bị source phân loại dễ hơn |
| Multi-generator S | Mở fake-process coverage | Components/version overlap phải ghi |
| Quality filtering | Bỏ corrupt/uncertain labels | Không loại genuine khó cần ở deployment |
| Dedup | Giảm repeats/leakage | Byte hash chưa thấy re-encode/near duplicates |
| Curriculum/hard mining | Ưu tiên examples theo phase/difficulty | Model-hard chưa chắc reliable/useful; không mine final test |
| Group/source sampling | Điều chỉnh exposures | Groups meaningful, đủ support; high variance ở nhóm nhỏ |

Dedup theo source lineage, speaker/content/derivatives và acoustic near-duplicate cần khác byte equality. Quality policy applied both labels vẫn có thể chọn conditional distributions khác; report số bị loại theo group. Những requirements này không phải cam kết một preprocessing policy mới.

## 2. Ví dụ đầy đủ: balanced classes nhưng source shortcut

Toy train:

| Source | B | S | Tổng |
|---|---:|---:|---:|
| Studio | 90 | 10 | 100 |
| Web | 10 | 90 | 100 |
| Tổng | 100 | 100 | 200 |

Quy tắc studio→B, web→S đúng 180/200=90% dù không dùng synthesis. Test cân bằng bốn ô, mỗi ô 50 mẫu, thì đúng 100/200=50%. Class balance toàn tập không xóa quan hệ source×label. Thêm 800 mẫu B-studio và 800 mẫu S-web giữ classes cân bằng nhưng shortcut accuracy tăng lên 1.780/1.800≈98,89%; điều này không thêm bằng chứng về generator robustness.

Competing explanation: model có thể dùng artifact thật đồng thời source cue. Source-probe accuracy cao chỉ cho decodability, chưa detector reliance. Source-balanced sampling giảm association ở observed support; nếu studio-S thiếu hoàn toàn, reweighting không tạo missing examples. Pair genuine/resynthesized từ cùng source giúp control vài yếu tố, nhưng generation có thể đổi loudness/duration/channel; audit pair construction và group derivatives cùng split.

## 3. Một nguồn data-centric đã kiểm method: DOSS

Nguồn chương 04/07 được xác minh là **Wen Huang, Yuchen Mao, Yanmin Qian, A Data-Centric Approach to Generalizable Speech Deepfake Detection**, ACL 2026, DOI 10.18653/v1/2026.acl-long.796. Agent kiểm metadata final và trích PDF tạm; root đọc method ở arXiv v3 để kiểm cơ chế, không tuyên bố final/preprint giống hệt từng kết quả. [ACL primary](https://aclanthology.org/2026.acl-long.796/), [v3 §§3–5 và Algorithms 1–2](https://arxiv.org/html/2512.18210v3#S4).

Theo method, real domain là source, fake domain là source×generator. DOSS-Select cap/prune per-domain counts; DOSS-Weight giữ pool nhưng dùng capped counts và temperature để tạo domain sampling weights, rồi chỉnh tổng real/fake ratio. Assumption ưu tiên diversity/equal attack importance là thiết kế của tác giả, không target prior được chứng minh.

**Toy hẹp minh họa bước fake weights**, không toàn DOSS: hai fake domains n₁=900, n₂=100; cap N_c=100, τ=2. sᵢ=min(nᵢ,N_c)=100; wᵢ=sᵢ^(1/τ)=10; normalize cho p₁=p₂=0,5. Nếu chọn đều trong domain, mỗi file domain 1 có xác suất 0,5/900, domain 2 có 0,5/100: file ở domain nhỏ xuất hiện nhiều hơn 9 lần. Sampling weights theo **domain** không được đưa nguyên giá trị 10 cho mỗi file cả pool: làm thế domain có 900 files lại chiếm 90%.

Full algorithm còn map fake domains về source và enforce ratioρ. Cần biết sampling domain→sample hay convert sang per-sample weights để tái tạo. Bài nghiên cứu cho recipe-specific diversity/scaling observations; language/model/compute coverage hữu hạn, không guarantee mọi unseen shift hoặc proof DOSS phù hợp checkpoint Audio-JEPA.

## 4. Domain adversarial: gradient reversal không xóa domain bằng phép thuật

Encoder h=f_θ(x), detection head g_ψ và domain head r_ω. L_y là label CE, L_d là domain CE. Domain head minimize L_d; encoder có gradient:

$$\nabla_\theta L_y-\lambda\nabla_\theta L_d.$$

Encoder descent cố giảm label loss, tăng domain loss với domain head hiện tại; domain head descent cố đoán domain tốt hơn. GRL forward identity, backward −λI. Đây là custom gradient procedure, không derivative thông thường của identity function. Detection head không nhận reversed domain gradient nếu branches đúng. [Ganin et al., DANN §4/equations10–17](https://jmlr.org/papers/volume17/15-239/15-239.pdf).

DANN gốc dùng labeled source và unlabeled target; multi-source nuisance-adversarial detector là recipe khác cần ghi access/groups. Domain labels có thể source/language/channel/generator; “remove domain” phải định nghĩa rõ.

Phản ví dụ tự biên soạn: domain d=y hoàn toàn, representation chỉ h=d. Nếu giữ đủ thông tin để một head mạnh đoán y hoàn hảo thì head mạnh cũng đoán d hoàn hảo; không thể đồng thời độc lập vô điều kiện với domain và giữ đủ label signal trong toy này. Class-source confound làm adversarial pressure cạnh tranh với main task. Ngay cả domain head accuracy 50% còn có thể do capacity/optimization/sample mismatch, chưa chứng minh independence hay detector không dùng domain.

## 5. Group DRO: worst group trong một uncertainty set

Groups g=1..G có risks R_g(θ)=E_(x,y|g)[ℓ_θ]. ERM minimizeΣp_gR_g; groupDRO minimize max_gR_g, tương đương maximize over mixture weights q thuộc simplex trước minimizeθ:

$$\min_\theta\max_{q\in\Delta_G}\sum_g q_gR_g(\theta).$$

Group definition và labels training phải có. Mixture set gồm các group conditionals đã định nghĩa; unseen generator/channel làm conditionals đổi không tự thuộc set. Empirical worst-group training loss thấp cũng không bảo đảm worst-group test risk; source paper nhấn regularization/generalization. [Sagawa et al., v2 §§2–3,5](https://arxiv.org/html/1911.08731v2#S2).

Toy có hai nhóm với tỷ trọng 0,9/0,1: model A có risks 0,1/0,9, cho mean 0,18 và max 0,9; model B có risks 0,2/0,3, cho mean 0,21 và max 0,3. ERM có thể ưu tiên A; worst-group criterion ưu tiên B. Đây là tradeoff; model B chưa chắc tốt trên mọi target.

Một update exponentiated weights minh họa: q_g←q_gexp(ηR̂_g), normalize. Init[0,5;0,5], losses[0,1;0,9],η=1 cho q≈[0,310026;0,689974]. Nhóm loss cao được ưu tiên; noisy tiny group cũng có thể thắng. Không có samples của group trong minibatch cần estimator/sampling handling rõ, không xem risk=0.

## 6. Consistency và curriculum cần semantics

Consistency có thể phạt ||p(a₁(x))−p(a₂(x))||² hoặc KL giữa views/teacher. Nếu biến đổi giữ task evidence, nó khuyến khích stability; nếu crop/codec xóa hoặc chuyển label thì pressure có thể sai. Teacher/pseudo-label confident sai có thể reinforce; target stop-grad/EMA khác hai-view gradients. [Mean Teacher §2](https://arxiv.org/pdf/1703.01780), [augmentation label cases](06-AUGMENTATION-LABEL-EVIDENCE.md).

Curriculum easy→hard thay exposure theo thời gian; hard mining theo loss chọn informative mistakes lẫn mislabels/source outliers. So với random sampling cần cùng budget/exposure baseline và development-only choices. Data thêm nhiều hơn còn đổi number steps nếu epochs fixed; không quy gain riêng diversity khi compute chưa control.

## 7. Liên hệ paper và bài tập

Paper của mình train ASVspoof 2019 LA rồi đánh giá nhiều corpora; không báo DOSS/DANN/Group DRO. Shared source pattern là giả thuyết có competing explanations, chưa causal proof. Lớp 4 học kỹ thuật để biết claim cần điều kiện gì; metrics/uncertainty sâu dành lớp 5.

1. Toy có classes cân bằng toàn tập có ngăn source classifier đạt 90% không?
2. Reweight có tạo studio-S khi số mẫu ô đó bằng 0 không?
3. DANN domain classifier kém có đủ chứng minh detector không dùng source không?
4. Model B trong toy Group DRO có guarantee tốt cho generator mới chưa thuộc groups không?
5. Toy DOSS weights 10/10 được dùng làm sample weight 10 mỗi file có giữ p_domain=0,5 không?

<details>
<summary>Đáp án giải thích</summary>

1. Không: global labels cân bằng nhưng conditionals theo source khác 90/10.
2. Không;support gap cần data hoặc assumptions bổ sung.
3. Không:head capacity, optimization và main-head reliance là các câu hỏi khác; cần probes/interventions thích hợp.
4. Không:uncertainty set của toy chỉ mixtures hai nhóm đã cho.
5. Không: domain có 900 files chiếm 90%. Phải dùng domain sampling hoặc per-file weights p_g/n_g.

</details>
