# Bài 8 — Cue, confound và domain shift

[Bắt đầu lớp 2](00-BAT-DAU-LOP-02.md) · Trước: [protocol](07-DATASET-VA-PROTOCOL.md) · Sau bài: dùng [passport](12-HO-CHIEU-DATASET.md) để phân tích một corpus

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

Bạn cần phân biệt cue dự đoán được nhãn với bằng chứng về quá trình sinh; viết đúng ba loại distribution shift; đề xuất đối chứng để phân biệt hai giải thích. Cần Bayes và xác suất có điều kiện của lớp1, pipeline bài1 và grouping bài7. Tiến trình: **cue → competing explanation → controlled comparison → shift assumptions → claim**.

## 1. Không có bảng fingerprint phổ quát theo family

| Cue có thể quan sát | Giả thuyết về nguồn | Competing explanation phải kiểm |
|---|---|---|
| Spectral envelope/harmonics, cutoff | Acoustic model/vocoder | Microphone, low-pass, codec, sample rate |
| Phase/excitation/periodicity | Waveform decoder | Channel, resampling, alignment và pitch tự nhiên |
| Duration/transition/prosody | Text alignment, duration model, editing | Speaker, ngôn ngữ, emotion/style và biên cắt |
| Silence/noise floor | Generator tạo non-speech | Corpus recording, trimming, loudness normalization |
| Quantization/upsampling detail | Codec/decoder | Nén genuine, bitrate và codec truyền dẫn |
| Biên partial edit | Splice/inpainting | Genuine edit, crossfade, reverb, alignment |

Bảng là **danh sách giả thuyết**, không kết luận diffusion/GAN/codec luôn có một dấu cố định. Score cao hoặc t-SNE tách hai nhóm chưa xác lập nguyên nhân. LibriSeVoc giữ cùng mel nguồn để so sáu vocoder: bằng chứng được ràng buộc bởi các vocoder/frontend/source/protocol ấy, không nâng lên mọi model cùng family. [LibriSeVoc §§3–4](https://arxiv.org/pdf/2304.13085)

Một nghiên cứu ASVspoof2019 cho thấy khoảng lặng đầu/cuối có thể làm shortcut và kiểm thử tác động trimming trong các cấu hình của họ. Đây là evidence rằng confound này có thể quan trọng trong benchmark; chưa chứng minh encoder Audio-JEPA của mình dùng nó. [Müller et al., Silence2021 §§2,4–5](https://arxiv.org/pdf/2106.12914)

## 2. Ví dụ hoàn chỉnh: classifier hoàn hảo nhờ channel

**Dữ liệu toy.** Tập train có 100 genuine WAV sạch, 100 spoof MP3. Gọi $q=1$ nếu thấy dấu kênh MP3. Quy tắc “$q=1$ → spoof” đúng 200/200. Nó không cần học synthesis.

Test cân bằng bốn ô, mỗi ô50 files:

| Nhãn | Clean | MP3 |
|---|---|---|
| Genuine | 50 | 50 |
| Spoof | 50 | 50 |

Quy tắc cũ đúng genuine-clean và spoof-MP3, sai genuine-MP3 và spoof-clean: accuracy100/200=50%. Đây là kết quả toán của toy, **không phải EER hay kết quả paper**. Nó chứng minh thành tích trên train không phân biệt “synthesis cue” với “channel shortcut” trong thiết kế đó.

Đối chứng đề xuất: dùng cùng source utterance và fake pipeline; tạo clean/MP3 cho **cả hai nhãn**, group mọi derivative của cùng source vào một split. So within-pair score changes trước/sau codec, rồi kiểm speaker/content/channel holdout. Re-encode có thể đồng thời xóa cue synthesis: giảm hiệu năng dưới MP3 chưa tự chứng minh model chỉ dùng shortcut.

ASVspoof2021 LA/DF thêm channel/compression theo protocol, minh họa vì sao cần ghi điều kiện signal chain. Nhưng chuyển VCTK sang web đổi nhiều yếu tố hơn riêng codec. [Overview §§III,V](https://arxiv.org/pdf/2210.02437), [In-the-Wild §3](https://arxiv.org/pdf/2203.16263)

## 3. Shift: phải viết cả cái đổi và cái giữ

Gọi $X$ là đầu vào/features, $Y=1$ là spoof, $S$ là source domain, $T$ là target domain. Các định nghĩa dưới đây là giả định về joint distribution, không phải nhãn suy từ tên corpus. [D2L1.0.3 §4.7.1](https://d2l.ai/chapter_linear-classification/environment-and-distribution-shift.html)

| Loại | Thay đổi | Điều kiện giữ cố định trong định nghĩa |
|---|---|---|
| Covariate shift | $p_S(x)\ne p_T(x)$ | $p_S(y\mid x)=p_T(y\mid x)$ |
| Label/prior shift | $p_S(y)\ne p_T(y)$ | $p_S(x\mid y)=p_T(x\mid y)$ |
| Concept shift | $p_S(y\mid x)\ne p_T(y\mid x)$ | Không đòi chỉ một marginal đổi; có thể do quan hệ hoặc chính sách nhãn |

Label shift có thể làm $p(x)$ và posterior đổi theo Bayes. Covariate shift cũng có thể đổi class prior. Vì vậy chỉ nhìn marginal lớp/input/score không đủ phân biệt. Đổi generator thường thay $p(x\mid y=\text{spoof})$; gọi nó “label shift” chỉ vì tỉ lệ fake khác là thiếu điều kiện. Đây không phải ba hộp rời tuyệt đối: nếu dùng concept shift theo nghĩa rộng “posterior đổi”, pure label shift cũng có posterior đổi; tên label shift nhấn mạnh invariant class-conditionals. Khi viết paper cần nêu định nghĩa/giả định đang dùng, không chỉ tên.

### Label shift tính tay

Toy feature $X\in\{0,1\}$: giữ likelihood $p(X=1\mid Y=1)=0,8$ và $p(X=1\mid Y=0)=0,2$. Source prior $p_S(Y=1)=0,5$:

$$p_S(X=1)=0,8\times0,5+0,2\times0,5=0,5,$$
$$p_S(Y=1\mid X=1)=\frac{0,8\times0,5}{0,5}=0,8.$$

Target prior chỉ0,1, likelihoods giữ nguyên:

$$p_T(X=1)=0,8\times0,1+0,2\times0,9=0,26,$$
$$p_T(Y=1\mid X=1)=\frac{0,08}{0,26}\approx0,3077.$$

Cùng cue nhưng xác suất lớp đổi từ0,8 sang0,3077. Posterior source không tự được calibration đúng trên target. Điều đó không phủ nhận cue likelihood; không dùng ví dụ này để tính deployment threshold cho paper khi không có prior/cost thật.

### Covariate shift và phản ví dụ

Toy khác: giữ $p(Y=1\mid X=1)=0,9$, $p(Y=1\mid X=0)=0,1$. Đổi $p_S(X=1)=0,5$ thành $p_T(X=1)=0,8$ thì prior $p(Y=1)$ từ0,5 thành $0,9\times0,8+0,1\times0,2=0,74$. Đây vẫn covariate shift theo giả định, dù prior đổi. Hai toy dùng **hai joint distributions khác nhau**, không cộng chúng thành cùng một dataset.

### Concept/policy shift

Benchmark gán codec-resynthesized speech là spoof; ứng dụng cuộc gọi coi cùng quá trình nén là bona fide hợp lệ. Khi label policy đổi, target semantics và $p(y\mid x)$ có thể đổi. Detector giỏi benchmark vẫn có false alarms trong ứng dụng. Consent/intent không nhất thiết suy ra được từ audio; nếu nhãn đích yêu cầu chúng thì phải có metadata/evidence phù hợp, không chỉ huấn luyện audio classifier nhiều hơn.

### Vì sao score histogram chưa đủ?

Với score $R=f_\theta(X)$ cố định, histogram đổi có thể do đổi prior, nguồn genuine, channel, generator hoặc nhiều yếu tố. Quan sát score là một phép nén của X; không giữ đủ thông tin để xác lập invariant conditionals. Cần labels/metadata và thiết kế phù hợp để kiểm giả định. Histogram không đổi cũng không chứng minh không có shift: hai phân phối đầu vào khác có thể bị map vào cùng scores.

## 4. Liên hệ với Audio-JEPA và evidence cần có

Paper báo cáo kết quả supervised detection với encoder pretrained, trên các corpus khác nhau. Không có ablation tách từng silence/channel/generator cause trong lượt enrich này. Mel input có thể giữ một số cues và mất phase chi tiết; điều đó định hướng giả thuyết, không chứng minh encoder dùng cue nào. [Chương06](../06-GIAI-PHAU-PAPER.md)

Muốn nói “JEPA giúp generalization sang generator mới”, phải chỉ rõ cấp generator held out, corpus/source/channel có đổi không, baseline có cùng data/recipe và uncertainty thế nào. Muốn nói “JEPA học artifact robust với compression”, cần paired codec interventions và controls. Đây là evidence plan, chưa là quyết định chạy nghiên cứu hay proof từ EER hiện có.

## 5. Bài tập và đáp án giải thích

1. Toy label shift giữ likelihoods0,8/0,2 nhưng target prior0,2. Tính $p_T(X=1)$ và posterior tại X=1.
2. Test có nhiều fake hơn train và generator cũng đổi. Đã đủ gọi pure label shift chưa?
3. Hai hệ có EER giống nhau trên một corpus. Có thể kết luận dùng cùng cue không?
4. Khi trimming cả hai nhãn làm detector kém, có chứng minh silence là nguyên nhân duy nhất không? Đối chứng gì còn cần?

**Đáp án.** (1) Marginal0,8×0,2+0,2×0,8=0,32; posterior0,16/0,32=0,5. (2) Chưa: cần $p(x\mid y)$ giữ; generator đổi có thể phá điều kiện ấy. (3) Không: cùng tổng lỗi có thể khác error sets và representations. (4) Không: trimming đổi duration/context/input; cần train/eval controls, paired analysis và kiểm preprocessing/crop. Mức giảm chỉ hỗ trợ giả thuyết trong setup đã kiểm.

## Đào sâu tùy chọn: bài kiểm cuối lớp

Với pipeline “text+reference → acoustic model → vocoder → Opus → replay”, viết bảy trục ở bài1, một nhãn theo DF và một theo PA, output detector phù hợp, passport tối thiểu và hai competing explanations cho score khác sau replay. Chỉ kết luận điều metadata/đối chứng có thể hỗ trợ; ghi unknown cho checkpoint và consent nếu chưa có evidence.
