# 05 — Đánh giá, thiết kế thực nghiệm và sức mạnh của bằng chứng

Chương này giữ vai trò bản đồ. Học sâu tại [Lớp 5 — mười bài từ quyết định đến claim](lop-05-danh-gia-thuc-nghiem/00-BAT-DAU-LOP-05.md), với finite-score examples, paired group draws, bài tập và [sổ nguồn có mức đọc](lop-05-danh-gia-thuc-nghiem/11-SO-DANG-KY-NGUON.md). Học liệu đã biên soạn không đồng nghĩa người học đã đạt.

## 1. Trước metric: xác định quyết định

[Học sâu: quyết định, population và estimand](lop-05-danh-gia-thuc-nghiem/01-QUYET-DINH-VA-ESTIMAND.md).

Quy ước chương này: score cao là bona fide. Accept nếu $s(x)\ge\tau$.

$$P_{miss}(\tau)=P(s<\tau\mid B),\qquad P_{fa}(\tau)=P(s\ge\tau\mid S).$$

Miss là từ chối genuine; false acceptance là chấp nhận spoof. Nếu paper dùng score cao là fake, các định nghĩa và dấu phải đổi tương ứng. Luôn kiểm score convention trước khi so số.

## 2. Taxonomy metric

Học sâu: [ranking/ROC/PR/EER](lop-05-danh-gia-thuc-nghiem/02-RANKING-ROC-PR-EER.md), [DCF/LLR/calibration](lop-05-danh-gia-thuc-nghiem/03-DCF-LLR-CALIBRATION.md), [tandem/SASV/localization](lop-05-danh-gia-thuc-nghiem/04-TANDEM-SASV-LOCALIZATION.md).

| Metric | Đo gì? | Giới hạn |
|---|---|---|
| EER | Giao điểm hai error rates theo curve/convention; finite scores có thể cần nội suy | Không mô tả operating point thật |
| ROC-AUC | Ranking qua nhiều thresholds | Có thể che failure tại vùng FPR rất thấp |
| PR-AUC/AP | Precision–recall với positive class chỉ định | Phụ thuộc class prevalence; phải nói positive là gì |
| Accuracy/F1 | Decisions ở một threshold | Nhạy prior và threshold; không bị “cấm” nhưng không đủ đứng một mình |
| minDCF | Chi phí tốt nhất trên tập score khi quét threshold | Oracle threshold biết evaluation labels |
| actDCF | Chi phí tại threshold đã chọn theo rule | Nhạy calibration và prior/cost assumptions |
| $C_{llr}$ | Chất lượng score được diễn giải như LLR | Kết hợp ảnh hưởng discrimination và calibration |
| t-DCF | CM kết hợp ASV theo một thiết kế tandem | Không thay EER cho mọi standalone detector |
| a-DCF/SASV metrics | Quyết định có target, non-target, spoof | Cần đúng priors/costs và protocol |
| Segment/boundary metrics | Temporal detection/localization | Frame rate, collar/tolerance, overlap quan trọng |
| Worst-group/macro metrics | Cân bằng hoặc kiểm nhóm khó | Nhóm ít mẫu có uncertainty lớn |

Metric chính thức thay đổi theo challenge/track. Nguồn để học các lựa chọn ở ASVspoof5: [evaluation plan](https://www.asvspoof.org/file/ASVspoof5___Evaluation_Plan_Phase2.pdf). Khi triển khai cần dùng đúng bản protocol, không suy từ tên challenge.

### EER không phải accuracy và không dùng threshold triển khai

EER quét score với labels của tập được đo; $\tau_{EER}$ là điểm mô tả benchmark. Lấy threshold đó rồi báo “deployment error” trên cùng tập là oracle evaluation, không phải threshold transfer.

Nếu dùng strictly increasing transform $s'=f(s)$, ranking không đổi nên EER về nguyên tắc không đổi. Vì vậy temperature scaling đơn điệu không sửa được separation yếu. EER có thể trên 50% nếu score direction/ranking kém; không tự đảo dấu bằng test labels để làm đẹp số.

### DCF đưa chi phí vào quyết định

$$DCF(\tau)=C_{miss}\pi_B P_{miss}(\tau)+C_{fa}\pi_S P_{fa}(\tau).$$

Với calibrated LLR, Bayes threshold theo convention trên là:

$$\tau_{Bayes}=\log\frac{C_{fa}\pi_S}{C_{miss}\pi_B}.$$

Chuẩn hóa DCF có thể khác protocol. Ghi cả costs, priors, score definition và threshold source.

### Calibration khác discrimination

Hai hệ có cùng ranking/EER có thể có score scale rất khác. Một hệ cho genuine score 0.99 rất tự tin nhưng vẫn nhiều genuine domain mới bị score thấp: confidence không đáng tin.

Calibration có thể dùng logistic/affine score mapping hoặc temperature scaling trên dev. Không fit calibration bằng test labels. $C_{llr}$ của scores LLR có thể viết:

$$C_{llr}=\frac{1}{2\log2}\left[\frac{1}{N_B}\sum_{B}\log(1+e^{-s})+\frac{1}{N_S}\sum_{S}\log(1+e^s)\right].$$

PAV fit trên cùng labelled sample cho empirical minimum dưới ràng buộc đơn điệu; chênh lệch observed–minimum là diagnostic calibration loss theo convention ấy. Đây là oracle in-sample, không bằng chứng calibrator chuyển giao tốt. Một scalar observed $C_{llr}$ không chỉ là “độ calibration”.

## 3. Pooling kết quả khác nhau đo khác nhau

[Học sâu: pooled, macro, weights và groups](lop-05-danh-gia-thuc-nghiem/05-POOLED-MACRO-NHOM.md).

- **Pooled EER:** gộp utterance scores rồi tính một threshold. Domain nhiều mẫu ảnh hưởng lớn; cross-domain score offsets cũng ảnh hưởng.
- **Macro EER:** trung bình EER từng corpus/group. Mỗi group có threshold riêng trong EER, không mô phỏng một threshold dùng chung.
- **Worst-group:** tập trung failure group, cần ghi kích thước và interval.
- **Per-attack/per-channel:** tách heterogeneity; genuine reference phải định nghĩa nhất quán.

Ví dụ: hệ phân biệt tốt trong từng corpus nhưng scores toàn corpus A cao hơn mọi score corpus B. Per-corpus EER có thể tốt, pooled EER kém vì một threshold chung không ổn. Đây là lý do cross-domain calibration đáng học.

Một bảng trung bình không thể thay toàn bộ phân rã; nhưng phân rã quá nhiều rồi chỉ kể ô thắng cũng là selection bias.

## 4. Taxonomy split và leakage

[Học sâu: group split, access và model selection](lop-05-danh-gia-thuc-nghiem/06-SPLIT-LEAKAGE-SELECTION.md).

| Split | Chặn điều gì | Không tự chặn |
|---|---|---|
| Utterance-disjoint | Cùng utterance exact không lặp | Cùng speaker/text/source |
| Speaker-disjoint | Học identity cụ thể | Cùng channel/generator |
| Generator-disjoint | Học generator đã biết | Shared family/vocoder/pretraining |
| Family-disjoint | Shared architecture/process giảm | Generator chưa biết cùng channel cue |
| Source-disjoint | Memorize recording corpus giảm | Nhiều confounds đổi cùng source |
| Channel-disjoint | Codec/device chưa thấy | Nguồn và speaker có thể vẫn overlap |
| Temporal split | Train trước, eval sau | Data đã xuất hiện trên nguồn pretraining |
| Compositional split | Tổ hợp mới | Chưa chắc từng thành phần đều mới |

### Những dạng contamination cần phân biệt

1. **Exact sample overlap:** file/audio giống nhau.
2. **Near-duplicate overlap:** cùng recording qua encode/crop khác.
3. **Parent-source overlap:** khác sample nhưng cùng corpus ancestry.
4. **Group overlap:** cùng speaker/text/generator family.
5. **Pretraining exposure:** encoder từng thấy evaluation source hoặc samples.
6. **Development contamination:** dùng test feedback để chọn config/hypothesis.

Shared VCTK source chưa chứng minh exact sample leakage. LibriSpeech và LibriTTS cùng ancestry tạo nguy cơ cần audit, không có nghĩa mọi sample overlap. Train split của một dataset xuất hiện trong training rồi test split của nó dùng evaluation có thể hoàn toàn hợp lệ cho **in-domain evaluation**; nó chỉ không tương đương unseen-domain evaluation.

PDF đã nộp §3.1, §4.1 và §8 báo cáo exploratory evaluation feedback ảnh hưởng configuration choices. Vì vậy phần dữ liệu đã dùng cho development không thể gọi lại là untouched test chỉ bằng đổi tên. Đây là reported history; chưa có audit từng lần truy cập từng corpus hay bằng chứng exact sample overlap ở lượt này. Một confirmatory evaluation mới cần holdout độc lập với selection đã chốt.

## 5. Taxonomy so sánh: mỗi setup cho một loại claim

[Học sâu: fixed recipe, search và contrasts](lop-05-danh-gia-thuc-nghiem/08-SO-SANH-ABLATION-CO-CHE.md).

| Setup | Giữ giống | Claim hợp lệ hơn | Claim vượt bằng chứng |
|---|---|---|---|
| Released checkpoints + common head/recipe | Downstream recipe | Hệ/checkpoint nào chuyển giao tốt trong recipe đó | Objective A nhân quả tốt hơn B |
| Same encoder/data/budget, khác SSL objective | Nhiều confounds pretraining | Effect của objective trong thiết lập kiểm soát | Mọi objective variant và scale đều tương tự |
| Same SSL objective, khác corpus | Objective, architecture, compute | Effect của data domain/diversity theo thiết kế | Chỉ domain nếu scale/quality cũng đổi |
| Each model tuned, same search budget | Cơ hội tuning | Khả năng tốt nhất tìm được dưới budget | So sánh objective thuần túy |
| Fixed recipe across models | Công thức triển khai | Sensitivity/transfer với common recipe | Tối ưu riêng cho từng model |
| Same inference cost | Deployment budget | Trade-off chất lượng–compute | Causal effect của kiến trúc nếu data khác |

**Common recipe** và **fair tuning budget** là hai mục tiêu công bằng khác nhau. Cần nói muốn đo transferability với một recipe hay attainable performance sau tuning.

Giữ seeds giống nhau không đảm bảo mọi stochastic path giống nhau giữa kiến trúc. Nhưng pairing seeds, data orders và mask draws có thể giảm một phần biến thiên nếu thật sự được kiểm soát.

## 6. Từ association đến mechanism

[Học sâu: probe, reliance và ablation counterexample](lop-05-danh-gia-thuc-nghiem/08-SO-SANH-ABLATION-CO-CHE.md).

Giả sử hệ tốt trên VCTK-source corpora, kém trên web và LibriTTS. Ít nhất có các khả năng:

- Dùng source/channel shortcut.
- Artifacts của generator ở DFADD dễ hơn với representation này.
- Ngôn ngữ/style/speaker distribution khác.
- Crop, silence và codec pipeline khác.
- Training objective tạo interactions giữa representation và dataset.

Correlation chưa chọn được khả năng nào.

### Các bậc bằng chứng

| Bậc | Ví dụ | Cách đọc |
|---|---|---|
| Observation | EER thấp ở hai corpus | Mô tả kết quả |
| Association | Hai corpus cùng genuine source | Gợi ý giả thuyết |
| Decodability | Probe đoán được source từ features | Source info có thể truy cập |
| Reliance | Can thiệp source relation làm decisions đổi | Model có dùng cue, tùy kiểm soát intervention |
| Mechanistic explanation | Cue retention thay đổi dự đoán và performance theo giả thuyết | Cần đối chứng competing explanations |
| General result | Lặp qua models/data/scales/protocols | Phạm vi phát biểu rộng hơn |

Một t-SNE plot tách source không đủ chứng minh detector dùng source. Một probe domain mạnh cũng chỉ chứng minh thông tin có sẵn. Cần intervention vào source–label relation hoặc cue, kiểm content/generator/channel tương ứng.

Với JEPA vs MAE, đo perturbation sensitivity có thể giúp kiểm artifact hypothesis; nhưng perturbation đồng thời làm speech khó hơn thì effect chưa đặc hiệu forensic cue.

## 7. Uncertainty: ba seed có ích nhưng không giải quyết mọi thứ

[Học sâu: paired/group draws, CI, matched tests và equivalence](lop-05-danh-gia-thuc-nghiem/07-UNCERTAINTY-SO-SANH.md).

| Nguồn biến thiên | Cách đo | Không được thay bằng |
|---|---|---|
| Training seed | Nhiều training runs | Bootstrap scores của một model |
| Evaluation samples | Bootstrap/sampling interval | Std qua seeds |
| Speaker/recording clusters | Grouped resampling | IID utterance bootstrap nếu phụ thuộc mạnh |
| Generator/domain choice | Nhiều heldout groups, phân rã | Hàng triệu samples cùng generator |
| Hyperparameter search | Development protocol, repeated selection | Seed của config thắng sau test search |

Sample standard deviation:

$$s=\sqrt{\frac{1}{n-1}\sum_j(e_j-\bar e)^2}.$$

Với $n=3$, mean ± sample SD không phải confidence interval. Không chồng seed ranges là mô tả, chưa là significance test. Cũng không thể kết luận equivalence chỉ vì chênh nhỏ hơn SD.

Để so hai hệ trên cùng evaluation samples: bootstrap **paired** giữ cùng sampled IDs cho cả hai. Nếu nhiều utterances cùng speaker/source recording, ưu tiên resample theo group phù hợp. Bootstrap EER phải tính lại EER mỗi resample; không bootstrap một “error bit” cố định rồi gọi đó là interval của EER.

Training-seed uncertainty và sample uncertainty có thể được báo riêng; mỗi seed chấm trên cùng samples thường tạo hai factors crossed, không nested tự động. Muốn kết hợp phải nêu estimand và resampling theo experimental design; không mặc định bootstrap có coverage đúng cho EER. Với rất ít attack families, đừng để CI nhỏ trên nhiều utterance tạo ảo giác chắc chắn về unseen-generator generalization.

## 8. Reproducibility là kiểm số thực sự được tạo thế nào

[Học sâu: score-ID join, provenance và reproduction gates](lop-05-danh-gia-thuc-nghiem/09-PROVENANCE-REPRODUCIBILITY.md).

Những thứ cần lưu:

- Dataset version, file/utterance IDs, labels, protocol hashes và overlap audit.
- Checkpoint exact identity/hash, encoder branch, patch/positional config.
- Preprocessing và valid-length behavior, sampling/crop/tile policy.
- Seeds, optimizer/scheduler/augmentation config, steps, checkpoint rule.
- Per-utterance raw scores theo ID, score direction, metric version.
- Baseline runtime verification và wrapper-vs-direct equivalence.

**Baseline gate** khớp là evidence pipeline hợp lý; không phải bằng chứng mọi model wrapper đều đúng. **Shape khớp** là cần nhưng chưa đủ: pos embedding grid sai vẫn load được, checkpoint prefix lookup vẫn có thể chọn nhầm file.

Đừng gọi lệch baseline là “protocol sai” nếu chưa kiểm version hoặc audio preprocessing. Lệch là tín hiệu điều tra; nguyên nhân cần evidence riêng.

## 9. Taxonomy efficiency

[Học sâu: latency, cache, exposures và cost frontier](lop-05-danh-gia-thuc-nghiem/10-EFFICIENCY-CLAIM.md).

| Đại lượng | Vì sao cần |
|---|---|
| Total vs trainable parameters | Frozen ViT vẫn lớn ở inference |
| Training wall time / accelerator hours | Backward, optimizer, I/O và token count ảnh hưởng |
| Samples seen / optimization steps | So sánh fixed compute với fixed epochs |
| Peak memory | Không suy từ params học được alone |
| Inference latency / RTF | Batch size, clip length, device và warm-up phải ghi |
| Cache/storage | Feature cache và checkpoint state có chi phí riêng |
| Quality vs budget curve | Một config nhỏ không đủ chứng minh Pareto optimal |

Giữ 20 epochs khi data từ 100h lên 300h làm cả data diversity và compute tăng. Giữ sample exposures/steps giúp nghiên cứu diversity dưới budget nhất định, nhưng không trả lời hiệu năng tối ưu sau hội tụ của từng dataset size. Hai estimands khác nhau đều có thể đáng nghiên cứu.

## 10. Cách đọc và viết một claim mạnh

[Học sâu: claim năm phần và evidence requirements](lop-05-danh-gia-thuc-nghiem/10-EFFICIENCY-CLAIM.md).

Một claim có năm phần: **setting → intervention → observation → uncertainty → scope**.

Ví dụ đúng với bài hiện tại: “Dưới common downstream recipe, checkpoint Audio-JEPA có EER thấp hơn checkpoint AudioMAE ở ba trong bốn comparisons; ba comparisons có seed ranges không chồng. Vì recipes tiền huấn luyện còn khác, đây chưa là causal test của SSL objective.”

Một bài có thể mạnh nhờ method, cơ chế, benchmark, data hoặc reliability. Thêm module chỉ là đóng góp nếu nó giải quyết một vấn đề rõ, có evidence loại được lời giải thích đơn giản hơn và được kiểm trên protocol phù hợp. Sự phù hợp với hội nghị lớn còn phụ thuộc novelty và chất lượng evaluation; không có checklist nào bảo đảm acceptance.

## 11. Tự kiểm tra

1. Vì sao EER tốt mà actDCF vẫn có thể kém?
2. Vì sao pooled EER và average EER khác nhau?
3. Common downstream recipe kiểm soát và không kiểm soát cái gì?
4. Domain probe cao có chứng minh shortcut reliance không?
5. Tại sao ba seed không chồng range chưa là significance test?
6. “Checkpoint frozen chỉ học 0,5 M” có chứng minh detector inference nhẹ không?
