# 08 — Lộ trình học, bài tập và câu hỏi tự kiểm tra

## 1. Cách học để có gốc rễ

Mỗi buổi có bốn bước: **nhớ lại không nhìn tài liệu → đọc để sửa hiểu nhầm → tự giải thích một ví dụ → ghi một câu hỏi còn mở**. Không cần GPU cho lộ trình này.

Thời lượng gợi ý 60–90 phút/buổi; có thể tách một buổi thành nhiều lần đọc. Đây là thứ tự học, không phải lịch cố định hay automation. Không cần gấp rút học hết trước ngày nhận kết quả paper.

| Buổi | Nội dung chính | Học liệu | Sản phẩm tự làm |
|---|---|---|---|
| 1 | Speech information, source–filter, sampling | Chương 01 mục 1–2 | Sơ đồ content/speaker/prosody/channel/process |
| 2 | STFT, mel, cepstrum, patch geometry | Chương 01 mục 3–5 | Truy vết shape và thông tin bị mất từ waveform |
| 3 | Xác suất, logits, optimization, representation geometry | Chương 01 mục 6–8 | Giải thích posterior vs LLR và rank vs usefulness |
| 4 | Generation/task taxonomy | Chương 02 mục 1–5 | Phân loại một TTS nhiều thành phần và task của paper mình |
| 5 | Datasets và shift taxonomy | Chương 02 mục 6–7 | Hộ chiếu của ASV2019,DFADD,ITW; ghi confounds |
| 6 | SSL targets và objectives | Chương 03 mục 1–4 | Bảng wav2vec2/HuBERT/MAE/data2vec/JEPA |
| 7 | JEPA mechanism và masking | Chương 03 mục 5–6 | Vẽ gradient/EMA; mô tả hai mask cùng ratio nhưng khác task |
| 8 | Collapse, anisotropy, predictor scoring | Chương 03 mục 7–10 | Các counterexamples: loss thấp, rank cao, fake dễ dự đoán |
| 9 | Detector recipes | Chương 04 | Đặt10 kỹ thuật vào vị trí pipeline, ghi assumption |
| 10 | Metrics, calibration, split, uncertainty | Chương 05 mục 1–7 | Giải bài logits/DCF và phân loại leakage |
| 11 | Paper của mình và historical evidence | Chương 06 | Thuyết trình 90 giây; bảng claim→evidence→limit |
| 12 | Synthesis và đọc literature mới | Chương 07 + mục 5–6 dưới đây | Một phiếu paper và ba câu hỏi khoa học, chưa chọn đề tài |

## 2. Năm bài tập có lời giải

### A. Tính token và temporal resolution

Input $T\times F=256\times128$. Patch8×32:

$$N_t=32,\;N_f=4,\;N=128.$$

Nếu đổi patch4×32, input giữ nguyên: $N_t=64,N_f=4,N=256$. Temporal positions gấp đôi; phần dense-attention interactions tăng khoảng4 lần theo $N^2$, nhưng **tổng runtime không nhất thiết tăng đúng4 lần** vì còn projection, MLP, overhead và hardware.

Hop10ms cho nominal patch span80ms và40ms tương ứng. Không được gọi nó là toàn receptive field; STFT window và attention làm context rộng hơn.

Nếu dùng waveform2,56 s ở32kHz, window25ms=800 samples, hop10ms=320 samples, không center-padding, số complete frames là:

$$1+\left\lfloor\frac{81920-800}{320}\right\rfloor=254.$$

Pad lên256 thêm hai frames hằng. Trong log-mel, zero không mặc nhiên là giá trị log-energy của im lặng.

**Bài học:** waveform duration, valid frames, patch positions và receptive field là bốn khái niệm khác nhau.

### B. Vì sao chấm một logit có thể sai ranking?

MẫuA có $(z_B,z_S)=(7,6)$; mẫuB có $(4,0)$.

- Chấm $z_B$: A cao hơn B.
- Chấm $z_B-z_S$: A=1, B=4.
- Softmax genuine probability: A≈0,731, B≈0,982.

MẫuB được model coi genuine hơn. Logit riêng không bảo toàn thứ tự posterior; logit difference thì có. Điều này chưa chứng minh probabilities calibrated ngoài miền.

### C. Accuracy cao vẫn không đủ tốt

Ví dụ minh họa, không phải số liệu dự án: deployed prior99% genuine,1% spoof. Một hệ có FRR1%, spoof false acceptance10% tại một threshold:

$$Accuracy=0.99(0.99)+0.01(0.90)=98.91\%.$$

Nếu $C_{miss}=1,C_{fa}=100$:

$$DCF=1(0.99)(0.01)+100(0.01)(0.10)=0.1099.$$

Always-accept genuine đạt99% accuracy nhưng false acceptance spoof100%, DCF=1. Accuracy cao hơn mà chi phí tệ hơn. Đây là chi phí chưa normalized tại operating point; không suy EER chỉ từ cặp FRR/FAR này.

### D. Reconstruction average không chứng minh encoder quên detail

Với một context $c$, target $t$ nhận±1 với xác suất1/2. Dự đoán squared-loss tối ưu là0, expected loss1. Sampling±1 có thể tạo chi tiết “thật” hơn nhưng expected squared error lớn hơn khi không biết target draw.

Điều suy ra: squared-error decoder có lý do trả conditional mean. Điều **không** suy ra: encoder không giữ cue khác trong context; hoặc JEPA target giữ±1 trong embedding. Muốn trả lời phải đo representations và thiết kế task, không dùng trực giác output làm định lý encoder.

### E. Bằng chứng source shortcut cần gì hơn một plot?

Giả sử source classifier đọc embedding đoán VCTK/LibriTTS tốt. Ta biết source information **decodable**. Chưa biết detection head dựa vào nó.

Một thought experiment: thay source–label association trong training, giữ evaluation samples cố định, kiểm decisions đổi thế nào. Phải kiểm đồng thời content, generator, channel, class balance và sample count. Nếu can thiệp nhiều yếu tố cùng lúc, kết luận reliance vẫn bị confounded.

Không cần chạy thí nghiệm này trong buổi học. Mục tiêu là tự nói được quan sát nào phân biệt “có source info” và “dùng source info để quyết định fake”.

## 3. Câu hỏi và đáp án gợi ý

Hãy trả lời trước khi đọc cột phải. Mức0=chỉ nhận tên;1=giải thích định nghĩa;2=giải thích cơ chế;3=đưa counterexample và phép kiểm. Nhắm mức2 cho mọi câu và mức3 cho các câu JEPA/evaluation.

| # | Câu hỏi | Đáp án gợi ý |
|---|---|---|
| 1 | Vì sao16→32kHz không thêm high-frequency evidence? | Upsampling nội suy từ mẫu đã có; thông tin trên Nyquist của nguồn đã không còn. |
| 2 | Window,hop,FFT size khác nhau thế nào? | Window điều khiển time-frequency trade-off; hop lấy mẫu thời gian; FFT padding làm lưới mịn hơn nhưng không thêm physical resolution. |
| 3 | Vì sao128 tokens không phải128 temporal frames? | Patch grid có cả time và frequency; trong bài là32×4. |
| 4 | Vì sao mel hữu ích với speech nhưng có thể bỏ forensic cue? | Mel gộp tần số theo perceptual scale; nhiều phổ khác nhau có thể cho cùng band energies. |
| 5 | TTS+flow matching+GAN vocoder thuộc loại nào? | TTS là task; flow matching là acoustic generation mechanism; GAN là waveform-vocoder mechanism. |
| 6 | Neural-codec resynthesis có luôn là spoof không? | Phụ thuộc task label/threat model; cuộc gọi thật qua codec có thể vẫn hợp lệ. |
| 7 | Unseen generator khác unseen corpus thế nào? | Generator-disjoint kiểm process mới; corpus shift thường đổi nhiều yếu tố genuine/source/channel cùng lúc. |
| 8 | Holdout attack cùng vocoder với train có family-disjoint không? | Không được mặc định; shared components còn tạo similarity. |
| 9 | Partial fake10ms với patch80ms có thể detect không? | Có thể tác động feature, nhưng localization granularity và boundary precision cần protocol/model riêng; không suy bằng nominal patch size alone. |
| 10 | Contrastive và discrete target có loại trừ nhau không? | Không; wav2vec2 có quantized targets và contrastive discrimination. |
| 11 | HuBERT khác MAE ở đâu? | HuBERT predict pseudo-unit IDs; MAE reconstruct input values. |
| 12 | data2vec có liên quan JEPA thế nào? | Cũng predict continuous contextualized teacher representations; cần phân biệt recipe/architecture thay vì gọi JEPA là latent prediction đầu tiên. |
| 13 | Target encoder trong Audio-JEPA nhận gradient không? | Không qua matching loss; weights được EMA cập nhật từ context encoder. |
| 14 | EMA và stop-gradient có cùng vai trò không? | Một bên rule update target; một bên chặn gradient path. |
| 15 | JEPA có bắt buộc EMA teacher không? | Không với mọi variant; phải mô tả formulation cụ thể. |
| 16 | Vì sao random masks có thể quá dễ? | Target gần visible neighbors; local correlation có thể đủ giải task mà không học cue mong muốn. |
| 17 | Mask khó hơn luôn tốt hơn không? | Không; task có thể không còn predictable information hữu ích. |
| 18 | Loss gần0 có chứng minh representation tốt không? | Không; constant embeddings có thể match tốt mà không chứa sample information. |
| 19 | High cosine có chứng minh collapse không? | Không; anisotropy phải đọc cùng variance, spectrum, probes và domain. |
| 20 | Rank cao có chứng minh useful information không? | Không; random noise rank cao, và centered tiny noise cũng có entropy-rank cao. |
| 21 | JEPA trong paper mình được dùng ở bước nào? | Released pretraining cung cấp encoder; downstream detection học bằng CE, predictor không dùng. |
| 22 | Predictor error cao có luôn là fake không? | Không; genuine OOD/noisy khó đoán, fake sạch có thể dễ đoán. |
| 23 | Frozen encoder có phải linear probe không? | Không; nonlinear pooling/head vẫn được train trong paper mình. |
| 24 | Native mel config tốt hơn trên A05 mà kém eval nói điều gì? | Validation/task interactions; không đủ kết luận native config vô ích nói chung. |
| 25 | RawBoost và SpecAugment khác gì? | Waveform perturbations mô hình nuisance vs masks trên feature; khác task information bị đổi. |
| 26 | CMVN có thể hại detection vì sao? | Nó xóa scale/mean variation, có thể xóa cả nuisance lẫn artifact. |
| 27 | Vì sao EER tốt mà fixed-threshold cost kém? | Ranking và score calibration/threshold transfer khác nhau. |
| 28 | Pooled EER khác mean per-corpus EER ở đâu? | Pooled có chung threshold và weights theo số samples; per-corpus EER tối ưu threshold từng corpus. |
| 29 | Class weighting có ảnh hưởng calibrated posterior không? | Có thể đổi effective training objective/prior; logits không tự là deployed probabilities. |
| 30 | Shared VCTK có chứng minh sample leakage không? | Không; source relation khác exact/near-duplicate overlap. |
| 31 | Test đã dùng chọn config còn untouched không? | Không; cần coi là development/exploration và giữ evaluation mới. |
| 32 | Common downstream recipe kiểm soát objective causal effect chưa? | Chưa; pretraining data realization,mask,budget,native input và nhiều yếu tố còn khác. |
| 33 | Ba seed ranges không chồng có significance không? | Là descriptive pattern; chưa là test và chưa bao phủ evaluation sampling uncertainty. |
| 34 | Bootstrap samples có thay nhiều training seeds không? | Không; đo hai nguồn uncertainty khác nhau. |
| 35 | Domain probe cao có chứng minh detector dùng source không? | Chỉ decodability; cần reliance/intervention evidence. |
| 36 |0,5 M params học có nghĩa inference model0,5 M không? | Không; encoder85,4 M vẫn chạy. |
| 37 | Tăngdata100→300h với 20 epochs có isolate diversity không? | Không; samples seen/compute cũng tăng. |
| 38 | Một config patch nhỏ hơn thất bại có bác bỏ mọi fine-grained cue không? | Không; input adaptation, optimization và architecture vẫn confounded. |
| 39 | ASR improvement của JEPA mới nói gì cho detection? | Motivation/related evidence về representation, chưa là detection evidence. |
| 40 | Train split của test corpus có trong training luôn là gian lận không? | Không; có thể valid in-domain task, nhưng khác unseen-source/zero-shot comparison. |

## 4. Mười hiểu nhầm nên tự bắt được

1. JEPA là tên của một ViT architecture.
2. Non-contrastive chỉ có JEPA; latent prediction xuất hiện lần đầu ở Audio-JEPA.
3. EMA và stop-gradient tự chứng minh không collapse.
4. MAE reconstruction làm mượt nên encoder chắc chắn mất forensic details.
5. Representation isotropic/rank cao chắc chắn hữu ích hơn.
6. Shared-source performance pattern đã chứng minh source bias là nguyên nhân.
7. EER thấp đủ để dùng score như probability.
8. Trainable params thấp đồng nghĩa total inference cost thấp.
9. Thêm dataset/augmentation chắc chắn tăng generalization.
10. Thêm module và giảm EER tự tạo đóng góp đủ mạnh cho hội nghị lớn.

Mỗi hiểu nhầm cần có một counterexample từ các chương trước. Đây là cách biến taxonomy thành hiểu biết, thay vì chỉ nhớ thuật ngữ.

## 5. Phiếu đọc một paper để tự tổng hợp

```text
Tên/version/ngày:
Nguồn primary, mức đã đọc:

Task và threat model:
Label definition; output; operating point:
Train / pretrain / dev / final test; overlap:

Input representation, resolution, token geometry:
Encoder / predictor / teacher / backend:
Target source và target type:
Loss; gradient paths; update rules; anti-collapse:
Adaptation và checkpoint selection:

Main claim:
Evidence trực tiếp hỗ trợ:
Những confounds còn lại:
Uncertainty được đo / chưa đo:
Baseline nào có thể giải thích lợi ích mà không cần cơ chế mới:

Một điều mình đã hiểu:
Một điều phải kiểm code/protocol:
Một counterexample:
Một câu hỏi khoa học nảy ra:
```

Không cần viết abstract bài mới ở bước này. Đích là tách **claim của tác giả**, **evidence paper cho**, và **suy luận của mình**.

## 6. Từ kiến thức tới một bài mới: taxonomy câu hỏi, chưa chọn hướng

| Loại đóng góp | Câu hỏi điển hình | Kiến thức phải có |
|---|---|---|
| Mechanism | Encoder giữ/bỏ cue nào và vì sao? | SSL objectives, probes, intervention, confounds |
| Method | Một thiết kế giải quyết failure nào? | Mechanism, architecture, matched baselines |
| Protocol/benchmark | Evaluation hiện tại đo sai/thiếu điều gì? | Task taxonomy, leakage, metrics, reproducibility |
| Data/training recipe | Diversity/exposure/sampling tác động thế nào? | Generators, sources, balanced designs, scaling |
| Efficiency | Có thể giữ quality dưới budget nào? | Adaptation, compute, latency, Pareto comparison |
| Reliability | Score/ngưỡng có hoạt động dưới shift không? | Calibration, operating costs, uncertainty, OOD |

Một câu hỏi tốt nêu được: **đại lượng muốn hiểu → yếu tố thay đổi → yếu tố giữ cố định → competing explanations → observation có thể bác bỏ giả thuyết**.

Ví dụ cấu trúc, không phải đề xuất đã chọn: “Ở cùng input/data/budget, thay target type có đổi khả năng đọc cueX ngoài nguồn training hay không, và change đó còn sau khi kiểm channel/speaker không?”

Không cần hứa hẹn SOTA để có câu hỏi khoa học tốt. Nhưng cũng không nên gọi mọi negative result là đóng góp: thiết kế phải trả lời một câu hỏi mới, evidence đủ mạnh và scope có ích cho cộng đồng. Học nền tảng giúp xác định điều đó trước khi tiêu GPU.

## 7. Bài kiểm tra cuối

Không nhìn tài liệu, hãy:

- Vẽ pipeline của paper và nói shape ở mọi bước.
- Phân loại 5 SSL models bằng target/source/loss/anti-collapse.
- Phân biệt 5 loại generalization và3 dạng contamination.
- Giải thích vì sao JEPA thắng 3/4 comparisons mà objective claim còn là hypothesis.
- Dùng một historical failure để chỉ ra confound và phép kiểm còn thiếu.
- Viết 3 câu hỏi khoa học từ 3 ô khác nhau của taxonomy, mỗi câu có counterexample.

Nếu làm được, bạn đã có nền để bắt đầu nghĩ bài mới một cách có cơ sở. Nếu chưa, quay lại đúng concept còn vướng; không cần đọc lại toàn bộ từ đầu.

## 8. Từ điển nhanh Anh–Việt

| Thuật ngữ | Nghĩa dùng trong bộ tài liệu |
|---|---|
| Utterance | Một phát ngôn/đơn vị audio trong protocol |
| Bona fide / genuine | Lớp hợp lệ theo định nghĩa task, thường là speech người thật |
| Spoof | Lớp tấn công/không hợp lệ theo threat model; không chỉ TTS |
| Countermeasure (CM) | Hệ chống spoofing |
| Front-end / back-end | Khối tạo feature / khối đọc feature để cho score |
| Acoustic feature | Đặc trưng tính từ signal, như log-mel/LFCC |
| Representation / embedding | Biểu diễn học được hoặc vector đặc trưng; token embeddings có thể là một chuỗi |
| Token | Đơn vị xử lý; có thể là patch vector, discrete unit hoặc codec symbol, tùy model |
| Target | Đáp án supervision của task học; target SSL không nhất thiết là genuine/spoof label |
| Teacher / student | Khối cung cấp target / khối học match target |
| Stop-gradient | Chặn gradient qua một nhánh tính toán |
| EMA | Trung bình trượt mũ của trọng số; update rule khác gradient descent |
| Masking | Che/bỏ một phần thông tin; cần nói location và implementation |
| Pretraining / fine-tuning | Học representation ban đầu / thích nghi cho task sau |
| Linear probe | Encoder cố định, đánh giá qua classifier tuyến tính |
| Inductive bias | Ưu tiên nghiệm đến từ thiết kế/recipe trước khi nhìn hết dữ liệu |
| Nuisance | Biến không phải mục tiêu chính nhưng ảnh hưởng quan sát |
| Artifact | Dấu vết của quá trình tạo/biến đổi; cần phân biệt với source/channel cue |
| Shortcut | Quy tắc dễ học nhưng không phản ánh quan hệ mong muốn hoặc không bền khi chuyển điều kiện |
| Confound | Yếu tố thay cùng intervention khiến khó quy effect cho một nguyên nhân |
| Ablation | Bỏ/thay thành phần để đo effect trong một thiết kế đối chứng |
| Estimand | Đại lượng/câu hỏi effect mà thiết kế muốn ước lượng |
| Calibration | Mức score có ý nghĩa xác suất/LLR phù hợp với quyết định |
| Discrimination | Khả năng xếp/phân biệt hai lớp |
| Holdout | Dữ liệu tách riêng cho một vai trò; phải nói development hay final evaluation |
| OOD / domain shift | Dữ liệu ngoài/chuyển khỏi distribution được học/phát triển |
| Anisotropy / collapse | Tập trung theo một số hướng / mất biến thiên-thông tin ở mức nghiêm trọng; không đồng nghĩa |
| Generalization | Hoạt động ở mẫu/điều kiện chưa thấy; cần chỉ định trục |
| Reproducibility | Khả năng truy vết và tái tạo protocol, score, kết quả |
| Provenance | Thông tin về nguồn/lịch sử audio; khác artifact detection |
