# 04 — Taxonomy kỹ thuật trong detector

Bản đồ này có [bộ chín bài sâu của lớp 4](lop-04-ky-thuat-detector/00-BAT-DAU-LOP-04.md): cơ chế, ví dụ đã giải, phản ví dụ, bài tập và [sổ nguồn có mức đọc method](lop-04-ky-thuat-detector/10-SO-DANG-KY-NGUON.md). Dùng chương này để định vị kỹ thuật; dùng bộ lớp 4 để tự trace và giải thích.

## 1. Một detector là chuỗi lựa chọn, không chỉ encoder

$$x\rightarrow\text{preprocess}\rightarrow\text{front-end/encoder}\rightarrow\text{aggregation}\rightarrow\text{head}\rightarrow\text{score}\rightarrow\text{decision}.$$

Cùng encoder nhưng khác crop, pooling hoặc score có thể đổi kết quả đáng kể. Khi đọc một phương pháp mới, đặt mỗi thành phần vào vị trí trong chuỗi này trước khi đánh giá novelty.

**Adaptation là quy tắc cập nhật:** chọn parameters/state nào học bằng loss/data nào. Frozen sang full fine-tune có thể giữ cùng sơ đồ forward và đổi đường gradient/update. Adapter/LoRA có thể thêm một module/nhánh forward thật; chế độ học các tham số của nó là một trục riêng. Xem [hai bản đồ forward và update](lop-04-ky-thuat-detector/01-DETECTOR-NHU-MOT-HE-THONG.md).

## 2. Taxonomy front-end

| Họ | Ví dụ | Ưu điểm/giả định | Rủi ro |
|---|---|---|---|
| Handcrafted acoustic | LFCC, CQCC, phase/group-delay | Feature có ý nghĩa tín hiệu rõ hơn | Cần chọn resolution phù hợp, có thể thiếu context |
| Waveform network | RawNet2, waveform front-end của AASIST | Fixed Sinc filterbank trong recipe được đối chiếu, rồi learned feature hierarchy | Waveform input không có nghĩa mọi bộ lọc đều học; phải ghi version/config |
| Spectrogram network | CNN/AST/ViT | Local time-frequency structure | Mất thông tin do representation, patch geometry |
| Speech SSL | wav2vec2/XLS-R, HuBERT, WavLM, data2vec | Tận dụng pretraining speech lớn | Objective speech-task có thể bỏ forensic details |
| General-audio SSL | AudioMAE, Audio-JEPA | Audio đa loại | Domain/resolution khác tiếng nói |
| Supervised foundation features | Whisper và các model khác | Học từ labeled/weakly supervised corpus lớn | Whisper không phải ví dụ thuần SSL theo cùng nghĩa với HuBERT |
| Forensics-oriented pretrained encoder | Các recipe nhắm deepfake cues | Task alignment | Data/compute/supervision khác, khó so trực tiếp |
| Multi-view | Waveform + magnitude + phase/prosody | Complementarity | Thêm params/data có thể giải thích lợi ích |

**LFCC-GMM** mô hình hai lớp bằng density mixture. Với frame features $v_t$, một score có thể là:

$$s(x)=\frac{1}{T}\sum_t[\log p_B(v_t)-\log p_S(v_t)].$$

Giả định độc lập giữa frame là một xấp xỉ. Baseline này giúp kiểm “model lớn hơn có thực sự giữ cue tốt hơn không”, nhưng phải cài đúng feature, số mixture và protocol.

**AASIST** dùng attention giữa thông tin phổ và thời gian trong một graph design cụ thể. Không phải bất kỳ graph head gắn lên bất kỳ embedding nào cũng tương đương AASIST. Nguồn: [AASIST](https://arxiv.org/abs/2110.01200).

## 3. Taxonomy downstream adaptation

| Chế độ | Tham số thay đổi | Câu hỏi nó giúp trả lời |
|---|---|---|
| Frozen + linear probe | Affine classifier trên readout cố định | Label information có truy cập tuyến tính được từ readout ấy không? |
| Frozen + nonlinear head | Pooling/MLP/backend | Representation dùng được với head mạnh hơn thế nào? |
| Partial fine-tune | Một số blocks, norms, patch embed | Layer nào cần thích nghi? |
| Full fine-tune | Toàn encoder + head | Có thể tối ưu hệ cho training distribution tới đâu? |
| Adapters | Module nhỏ thêm vào | Thích nghi bằng pathway mới với budget nhỏ |
| LoRA | Low-rank weight updates | Hạn chế không gian update, giảm số params học |
| Distillation | Student học teacher outputs/features | Giảm model/compute; chất lượng phụ thuộc teacher |
| Continued SSL | Encoder/predictor được học lại bằng SSL | Target/domain pretraining thay đổi có tác động gì? |
| Test-time adaptation | Cập nhật từ dữ liệu test theo protocol | Có truy cập target; khác frozen deployment |

Không nên xếp các chế độ thành thang “frozen < LoRA < full”. Full fine-tune có thể làm mất representation hữu ích; frozen có thể giữ domain mismatch. Kết quả phụ thuộc loss, LR, data diversity và target task.

PEFT giảm params học, nhưng encoder vẫn chạy. Cache frozen features giúp nhiều head trials rẻ hơn, song nếu augmentation tác động waveform online thì cache một feature/mẫu sẽ không tương đương recipe online đó.

## 4. Taxonomy layer aggregation và pooling

Encoder cho $H_l\in\mathbb R^{N\times D}$ ở nhiều layer. Có thể dùng last layer, concatenate, learned weighted sum hoặc layerwise backend. Các layer có thể mang cue khác nhau; last layer không tự là tốt nhất.

Trong paper:

$$\alpha_l=\operatorname{softmax}(a)_l,\qquad H=\sum_l\alpha_l H_l.$$

Softmax weights là tham số phối hợp các representation, không trực tiếp là lượng thông tin nhân quả mỗi layer đóng góp. Các layer tương quan nên weight thay đổi không nhất thiết đồng nghĩa feature importance thay đổi.

| Pooling | Công thức/ý tưởng | Phù hợp và giới hạn |
|---|---|---|
| Mean | Trung bình token/frame | Rẻ; rare artifact bị pha loãng |
| Max | Cực đại theo feature | Nhạy cue ngắn; nhạy outlier/noise |
| Statistics | Concat mean + std | Giữ mức và dispersion, mất thứ tự |
| Attentive mean/statistics | Học weights trên token | Tập trung cue; attention có thể học shortcut |
| Multi-head pooling | Nhiều summary khác nhau | Có thể đa cue nhưng không bảo đảm head diversity |
| Temporal sequence head | TDNN/RNN/Transformer/state-space | Giữ dynamics nhưng thêm model assumptions |
| Graph head | Node/edge quan hệ tần số–thời gian | Phải bảo toàn ý nghĩa topology của input |
| Multiple-instance learning | Clip fake nếu có segment fake | Hợp partial-fake nhưng cần label/sampling phù hợp |

Attentive statistics:

$$\mu=\sum_i a_i h_i,\quad \sigma=\sqrt{\max(\epsilon,\sum_i a_i h_i^2-\mu^2)}.$$

Trong cơ chế có mask, attention weights $a_i$ chuẩn hóa trên **valid positions**. Template ASP của paper được đọc ở lớp 4 chuẩn hóa toàn fixed token grid, không có mask argument; chưa xác minh padding policy của một run. Padding, tiled silence hoặc fixed prefix có thể ảnh hưởng score nếu không được xử lý nhất quán. Nguồn pooling: [Attentive Statistics Pooling](https://www.isca-archive.org/interspeech_2018/okabe18_interspeech.html); [ví dụ mask/variance và giới hạn source](lop-04-ky-thuat-detector/04-LAYER-FUSION-POOLING.md).

Với 2D spectrogram patches, flatten rồi pool gộp cả hai trục. Nếu backend cần chuỗi thời gian, phải quyết định cách gộp/giữ frequency positions. 128 token trong paper tương ứng 32 temporal positions, không phải 128 time frames.

## 5. Taxonomy learning objectives của detector

| Nhóm loss | Mục tiêu | Điều cần kiểm |
|---|---|---|
| CE/BCE, weighted variants | Binary decision boundary | Class weights, priors, calibration |
| Focal loss | Tập trung ví dụ khó | Hard samples có thể là mislabeled/domain outliers |
| Margin/angular losses | Cấu trúc separation embedding | Không suy ra unseen generators cũng separated |
| Supervised contrastive/metric | Quan hệ embedding theo label | Fake gồm nhiều family; ép tất cả gần nhau có thể hại |
| Multi-task | Detection + speaker/source/segment | Task phụ hỗ trợ hay đưa thêm shortcut? |
| Domain adversarial | Làm domain khó dự đoán từ features | Có thể xóa cue liên quan cả domain và spoof |
| Group DRO | Giảm lỗi nhóm tệ nhất | Cần group labels và group definition hợp lý |
| Consistency | Scores/features ổn định giữa views | Views phải giữ thông tin/label mong muốn |
| Distillation | Match teacher scores/features | Teacher error được truyền sang student |
| One-class density/distance/error | Modeling genuine/anomaly | Unusual genuine và natural fake gây lỗi |

Class-balanced sampling và class-weighted loss khác nhau. Sampling đổi examples xuất hiện và batch statistics; weighting đổi gradient contribution. Dùng cả hai có thể tăng trọng số lớp quá mức nếu không tính mục tiêu tổng thể.

## 6. Taxonomy augmentation

Augmentation không chỉ để tăng số mẫu. Nó dạy model những khác biệt nào nên bỏ qua và những điều kiện nào cần tiếp tục phân biệt.

| Nhóm | Ví dụ | Mục đích | Rủi ro |
|---|---|---|---|
| Channel/filter | Bandpass, impulse response, reverb | Đa dạng thiết bị/phòng | Xóa artifact; augmentation bất cân giữa lớp tạo shortcut |
| Noise | Stationary, background, impulsive | Chống nuisance | SNR cực thấp có thể xóa evidence |
| Codec | MP3, AAC, Opus, telephony | Training gần transmission thực | Codec có thể là label-relevant trong task khác |
| Temporal | Crop, shift, speed perturbation | Chống phụ thuộc prefix/timing | Crop có thể bỏ toàn vùng fake trong partial task |
| Spectral masks | Time/frequency masks | Regularize representation | Che đúng artifact discriminative |
| Mixup/CutMix | Trộn input và label | Làm mượt classifier | Semantics label và boundary của forensics không hiển nhiên |
| Synthesis/vocoder augmentation | Sinh/resynthesize thêm | Tăng attack coverage | Cue synthetic pipeline quá dễ; family overlap với test |
| Feature-space | Dropout/noise/masking embeddings | Regularize backend | Không mô phỏng được mọi waveform-level shift |

[RawBoost](https://arxiv.org/abs/2111.04433) kết hợp các loại nhiễu/biến dạng trên waveform để mô hình hóa nuisance. Nó khác SpecAugment che vùng feature. “RawBoost là chuẩn phổ biến” không có nghĩa nó đã giúp Audio-JEPA của mình; phần này chưa được kiểm trong lịch sử đã đọc.

### Bốn câu hỏi trước khi tin augmentation

1. Biến đổi có giữ nhãn theo định nghĩa task không?
2. Có áp dụng cân bằng giữa genuine và spoof không?
3. Train transformations có overlap với evaluation generator/channel không?
4. Improvement do diversity hay do tăng steps/compute?

Nếu xóa artifact làm hai lớp không thể phân biệt từ audio còn lại, accuracy tối đa cũng bị giới hạn. Không thể yêu cầu model vừa bất biến hoàn toàn với một biến đổi vừa dùng đúng cue mà biến đổi đó xóa.

## 7. Taxonomy data-centric techniques

| Kỹ thuật | Cái thay đổi | Cần tránh |
|---|---|---|
| Multi-source genuine | Đa dạng $p(x\mid B)$ | Chỉ genuine đa nguồn, fake một nguồn làm source tương quan label |
| Multi-generator spoof | Coverage của $p(x\mid S)$ | Nhiều checkpoints cùng family không bằng nhiều cơ chế |
| Source/attack-balanced sampling | Weight từng domain/family | Đánh đồng nhóm nhỏ ít tin cậy và nhóm lớn sạch |
| Quality filtering | Chọn duration, SNR, loudness, silence | Bỏ genuine khó khiến triển khai dễ false reject |
| Deduplication | Giảm overlap | Chỉ hash file bỏ sót cùng audio encode khác |
| Curriculum/hard mining | Thứ tự và sampling | Chọn “hard” bằng test feedback |
| Scaling analysis | Samples/data/compute tăng | Tăng giờ data và tăng optimization cùng lúc |

Kỹ thuật “thêm data” cần taxonomy đủ cụ thể: thêm unique speakers, sources, languages, generators hay chỉ thêm utterances cùng loại? [Nghiên cứu data-centric tại ACL 2026](https://aclanthology.org/2026.acl-long.796/) là nguồn đọc cho câu hỏi diversity và sampling; nó không chứng minh cách trộn nào sẽ giúp checkpoint của mình.

## 8. Taxonomy inference và scoring

| Cách chấm | Ý nghĩa | Khác biệt protocol |
|---|---|---|
| Fixed crop | Một đoạn cố định của clip | Evidence ngoài crop bị bỏ |
| Sliding windows | Scores nhiều cửa sổ | Tăng compute; cách aggregation quyết định nhạy partial fake |
| Mean/max/top-k score pooling | Gộp score các đoạn | Đo những giả định khác về fake coverage |
| Score fusion | Hợp nhất detector/view/seed | Cần fit weights/calibration trên dev |
| Embedding fusion | Gộp features trước head | Head/params đổi; phải baseline cùng capacity |
| Prediction/reconstruction error | Đo mismatch với model | Không tự là detection score đúng hướng |
| Streaming | Chấm khi audio đến | Causal context, latency, look-ahead phải công bố |

Hai logits $z_B,z_S$ cho:

$$P(B\mid x)=\sigma(z_B-z_S).$$

Logit difference bảo toàn thứ tự posterior của cùng model; một logit riêng không bảo đảm. Strictly increasing score transform giữ ranking/EER về nguyên tắc; scaling/clipping làm ties hoặc finite-precision saturation có thể đổi kết quả thực.

Calibration fit trên dev có thể giúp threshold deployment nhưng không tạo khả năng phân biệt mới nếu phép biến đổi chỉ tăng đơn điệu. Fusion nhiều scores có thể đổi ranking và cần kiểm riêng.

## 9. Taxonomy phân tích representation

| Phương pháp | Câu hỏi | Đủ để kết luận chưa? |
|---|---|---|
| Label/domain/speaker probes | Thông tin nào truy cập được? | Domain decodability chưa chứng minh detector dùng domain |
| Layerwise probes | Thông tin thay đổi qua depth thế nào? | Cần head/compute/splits tương ứng |
| Controlled perturbation | Cue nào ảnh hưởng score? | Perturbation phải tránh đổi nhiều yếu tố đồng thời |
| Feature ablation | Bỏ cue có mất performance? | Retraining vs inference ablation đo khác nhau |
| CKA/spectrum/rank | Geometry thay đổi thế nào? | Chưa nói cue có ích hay nuisance |
| Attention/gradient saliency | Vùng nào liên quan calculation? | Cần perturbation evidence; heatmap không đủ causal |
| Counterfactual/paired resynthesis | Cùng source/content, process khác | Pair alignment và channel matching cần audit |

Khi học một kỹ thuật mới, viết một câu: **“Nó thay đổi ___, để giảm/tăng ___, dựa trên giả định ___; phép đo ___ sẽ kiểm tra giả định đó.”** Nếu chưa viết được, hãy quay về cơ chế trước khi nghĩ tới ghép module.
