# 02 — Taxonomy deepfake, bài toán và dữ liệu

Chương này giữ vai trò bản đồ. Bắt đầu học sâu tại [Lớp2: tám bài theo tiến trình](lop-02-deepfake-bai-toan/00-BAT-DAU-LOP-02.md); xem [báo cáo enrich](lop-02-deepfake-bai-toan/10-BAO-CAO-ENRICH.md) và [tiến độ gia sư](lop-02-deepfake-bai-toan/11-TIEN-DO-HOC-VA-BAN-GIAO.md). Học liệu hoàn tất không đồng nghĩa người học đã học xong.

## 1. Cần phân loại theo nhiều trục riêng

**Tác vụ tạo gì**, **được điều kiện hóa bằng gì**, **mô hình tạo bằng cách nào**, **biểu diễn ở đâu**, và **audio đi qua xử lý gì** là các câu hỏi khác nhau. “Diffusion”, “TTS” và “codec” không phải ba loại cùng cấp.

| Trục | Ví dụ | Câu hỏi cần trả lời |
|---|---|---|
| Tác vụ sinh/chỉnh sửa | TTS, VC, speech editing, resynthesis | Điều kiện đầu vào và thứ bị thay đổi là gì? |
| Conditioning | Text, source speech, reference voice, speaker embedding, context/mask | Nội dung/identity/context đi vào từ đâu? |
| Cơ chế mô hình | Autoregressive, GAN, VAE, normalizing flow, diffusion, flow matching | Phân phối audio được học/sampling thế nào? |
| Biểu diễn | Waveform, mel, latent liên tục, codec tokens | Khối nào dự đoán loại dữ liệu nào? |
| Signal chain | Vocoder/codec decoder, resampling, MP3, Opus, replay | Dấu vết quan sát đến từ generator, decoder hay đường truyền? |

Một TTS có thể dùng flow matching để tạo mel, rồi dùng vocoder GAN để tạo waveform. Một mô hình autoregressive có thể tạo codec tokens thay vì mẫu waveform. Attribution “đây là diffusion artifact” cần xem toàn pipeline.

Ví dụ nhiều trục và trường unknown: [bài1](lop-02-deepfake-bai-toan/01-BAN-DO-NHIEU-TRUC.md). Task, architecture và operational label cũng được giữ riêng.

## 2. Taxonomy tác vụ tạo và thao tác

| Tác vụ | Đầu vào → đầu ra | Yếu tố thường giữ | Yếu tố thường đổi |
|---|---|---|---|
| Text-to-speech (TTS) | Text + conditioning → speech | Câu chữ theo text | Signal được sinh mới |
| Voice cloning | Reference/identity + text hoặc speech → giọng mục tiêu | Identity mong muốn | Không phải một kiến trúc độc lập; có thể thực hiện bằng TTS/VC |
| Voice conversion (VC) | Speech nguồn + identity → speech | Nội dung, có thể cả timing | Voice identity/timbre và nhiều đặc tính khác |
| Vocoder resynthesis | Acoustic features của audio → waveform | Feature được cung cấp | Chi tiết waveform không được feature xác định |
| Neural-codec resynthesis | Waveform → quantized latent → waveform | Nội dung gần đúng | Dấu lượng tử hóa/decoder, tùy bitrate và model |
| Speech editing/inpainting | Audio + vùng sửa + conditioning → audio | Phần không sửa | Một số từ/đoạn và vùng chuyển tiếp |
| Splicing | Ghép đoạn từ nhiều bản ghi | Audio từng đoạn | Tính liên tục và ngữ cảnh |
| Singing synthesis/conversion | Text/score/reference → tiếng hát | Tùy điều kiện | Domain khác speech thông thường |

**Resynthesis không tự đồng nghĩa lừa đảo.** Neural codec có thể nén cuộc gọi thật. Dataset có thể gán nó là spoof để đo khả năng nhận ra quá trình tái tạo; ứng dụng khác có thể vẫn coi đó là audio hợp lệ. Nhãn phải gắn với định nghĩa task.

“Deepfake” cũng không đồng nghĩa “không được phép”. Detector âm học không suy ra được consent, ý định hoặc nội dung có đúng sự thật không.

Truy vết content/identity và hai kiểu mask editing: [bài2](lop-02-deepfake-bai-toan/02-TAC-VU-VA-THAO-TAC.md).

## 3. Taxonomy cơ chế sinh

### Autoregressive

$$p(x\mid c)=\prod_t p(x_t\mid x_{<t},c).$$

$x_t$ có thể là mẫu, acoustic frame hoặc token codec. Mô hình học phụ thuộc tuần tự; tốc độ và lỗi tích lũy phụ thuộc thiết kế. “Autoregressive” không đồng nghĩa luôn có artifact chu kỳ.

### GAN

Generator tạo mẫu để đánh lừa discriminator, thường kết hợp loss spectral/feature matching. HiFi-GAN là ví dụ vocoder dạng này. Detector forensics và discriminator của GAN có phân phối, mục tiêu và protocol khác nhau; không thể coi discriminator huấn luyện generator là detector tổng quát. Nguồn ví dụ: [HiFi-GAN](https://arxiv.org/abs/2010.05646).

### VAE và normalizing flow

VAE học biến tiềm ẩn với reconstruction term và regularization phân phối. Normalizing flow dùng ánh xạ khả nghịch với đổi biến để tính density. VITS kết hợp nhiều thành phần, minh họa vì sao gán một TTS vào đúng một nhãn cơ chế thường quá đơn giản. Nguồn ví dụ: [VITS](https://arxiv.org/abs/2106.06103).

### Diffusion

Làm nhiễu dữ liệu ở nhiều mức, học quá trình khử nhiễu/score để sinh mẫu. Có thể chạy trên mel, latent hoặc waveform. Chất lượng phụ thuộc representation, conditioning, sampler và decoder. Đừng suy ra rằng mọi diffusion TTS có cùng forensic signature.

### Flow matching

Học vector field vận chuyển từ phân phối nguồn tới dữ liệu theo một đường xác suất đã chọn. Một dạng loss:

$$\mathcal L_{FM}=\mathbb E\|v_\theta(x_t,t,c)-u_t\|^2.$$

Sampling có thể dùng giải ODE. **Flow matching không phải synonym của normalizing flow**: FM là cách huấn luyện vector field, có thể dùng để học continuous normalizing flows; ODE flow khả nghịch dưới điều kiện regularity/uniqueness phù hợp. Không suy FM và NF không liên quan. F5-TTS là ví dụ cho tác vụ TTS. Nguồn: [FM §§2–3](https://arxiv.org/html/2210.02747v2), [F5-TTSv3](https://arxiv.org/html/2410.06885v3).

### Neural codec và audio language model

Codec thường có encoder, quantization và decoder. Audio language model có thể học phân phối trên token do codec tạo. Vì vậy cần tách lỗi của mô hình token khỏi đặc tính codec decoder. Nguồn nền: [EnCodec](https://arxiv.org/abs/2210.13438).

Mục tiêu học phần này là hiểu **điểm nào có thể tạo dấu vết**, không phải học cách triển khai mọi generator.

Factorization/loss và VITS train–inference: [bài3](lop-02-deepfake-bai-toan/03-AR-GAN-VAE-NORMALIZING-FLOW.md). Noise/path/target và sampling: [bài4](lop-02-deepfake-bai-toan/04-DIFFUSION-VA-FLOW-MATCHING.md). Residual RVQ, bitrate và codec-LM: [bài5](lop-02-deepfake-bai-toan/05-CODEC-RVQ-AUDIO-LM.md).

## 4. Dấu vết có thể nằm ở đâu?

| Nhóm cue | Ví dụ | Rủi ro khi dùng |
|---|---|---|
| Spectral fine structure | Harmonics, envelope, vùng tần số bất thường | Codec/filter có thể xóa hoặc tạo cue tương tự |
| Phase và excitation | Coherence, periodicity, chuyển tiếp | Nhạy với channel và căn chỉnh |
| Temporal dynamics | Tính liên tục, duration, transition | Speech tự nhiên cũng rất đa dạng |
| Prosody và articulation | Rhythm, pitch trajectory, coarticulation | Nhiều generator mới mô hình hóa tốt; lệch ngôn ngữ có thể thành confound |
| Background và silence | Noise floor, phần không nói, boundary | Dễ trở thành dấu của dataset hoặc preprocessing |
| Codec/upsampling | Cutoff, residual, lượng tử hóa | Không nhất thiết chứng minh fake theo ứng dụng |
| Semantic/cross-modal | Audio–video timing, nội dung–speaker | Cần modality/metadata khác; khác audio-only forensics |

Không phải mọi cue đều là artifact của generator. Tập genuine có micro A còn tập spoof được lưu bằng pipeline B: classifier rất dễ thắng mà không hiểu synthesis.

Đối chứng2×2 và cách giới hạn artifact claim: [bài8](lop-02-deepfake-bai-toan/08-CUE-CONFOUND-DOMAIN-SHIFT.md).

## 5. Taxonomy bài toán phát hiện

### Theo đầu ra

| Task | Đầu ra | Kiến thức thêm cần có |
|---|---|---|
| Utterance-level detection | Score của cả clip | Pooling, threshold, EER/DCF |
| Segment/frame detection | Score theo thời gian | Temporal resolution, label alignment |
| Partial-fake localization | Vị trí vùng sửa | Boundary metrics, ngắn/dài, overlap |
| Source attribution | Generator/family/source | Closed/open set, hierarchy, unknown source |
| Forensic similarity | Hai mẫu có cùng quá trình tạo không? | Metric learning và relation-level evaluation |
| Spoof-aware speaker verification (SASV) | Có phải đúng người và bona fide? | Target, non-target và spoof; nhiều loại chi phí |
| Audio-visual detection | Score từ audio và video | Fusion, missing modality, synchronization |
| Provenance/watermark verification | Có dấu nguồn xác thực không? | Đây là evidence về nguồn, khác phát hiện artifact |

Trong paper của mình: **audio-only supervised utterance-level detection**, score cao là bona fide. Không có segment labels, source attribution hoặc SASV.

### Theo đường tấn công

- **Logical access (LA):** signal tổng hợp/chuyển đổi đưa vào đường số của hệ xác thực.
- **Physical access (PA):** phát lại qua loa–phòng–micro; replay có thể dùng cả genuine lẫn synthetic source.
- **ASVspoof DF track:** định nghĩa cụ thể của benchmark deepfake, không phải nhãn chung cho mọi LA/PA.

LA/PA mô tả threat scenario; TTS/VC mô tả cách tạo signal. Replay giọng người thật vẫn có thể là spoof với hệ ASV.

### Theo supervision

| Chế độ | Dữ liệu huấn luyện | Giới hạn |
|---|---|---|
| Supervised binary | Genuine + các fake đã biết | Không bảo đảm fake mới nằm cùng ranh giới |
| One-class / anomaly | Chủ yếu genuine | Outlier genuine có thể bị coi fake; fake tự nhiên có thể lọt |
| Semi-supervised | Một phần labeled, nhiều unlabeled | Pseudo-label error và distribution mismatch |
| Few-shot adaptation | Ít mẫu domain/attack mới | Cần protocol tách support và query |
| Zero-shot transfer | Không dùng nhãn target task/domain theo định nghĩa công bố | Phải nói rõ “zero-shot” đối với cái gì |
| Domain adaptation | Có dữ liệu target, có/không label | Khác domain generalization không truy cập target |

“Không dùng spoof lúc train” không bảo đảm “phát hiện mọi spoof”. Prediction error cao là bất thường với model, chưa phải bất thường về tính xác thực.

SASV ba loại trial, attribution theo độ hạt/unknown rejection, watermark/provenance và target exposure: [bài6](lop-02-deepfake-bai-toan/06-THREAT-MODEL-DAU-RA-SUPERVISION.md).

## 6. Taxonomy generalization và robustness

| Trục | Ví dụ chuyển dịch | Có thể đánh giá riêng không? |
|---|---|---|
| Speaker | Người nói mới | Có, nếu split theo người |
| Content | Text/phoneme/style mới | Có, nếu metadata và kiểm overlap đủ |
| Generator | TTS/VC system mới | Có, nhưng cần phân biệt model family, checkpoint, vocoder chung |
| Genuine source | VCTK → LibriTTS/web | Thường đổi đồng thời speaker, device, style |
| Language | English → Mandarin/Vietnamese | Thường kèm thay corpus và generator |
| Channel | Lossless → MP3/Opus/telephone | Có thể xử lý cặp cùng utterance để tách channel |
| Environment | Clean → noise/reverb | Có thể kiểm soát bằng perturbation |
| Time | Generator/lưu lượng năm sau | Cần temporal holdout |
| Adversarial | Kẻ tấn công tối ưu để né model | Khác noise ngẫu nhiên |
| Compositional shift | Generator mới + codec mới + ngôn ngữ mới | Khó hơn từng shift độc lập |

**Robustness** thường là ổn định dưới perturbation; **generalization** rộng hơn, liên quan dữ liệu/điều kiện chưa thấy. Hai từ có vùng giao nhau nhưng không nên dùng như nhau.

**Covariate shift:** $p(x)$ đổi, giả định $p(y\mid x)$ giữ. **Label shift:** $p(y)$ đổi, giả định $p(x\mid y)$ giữ. **Concept shift:** quan hệ $p(y\mid x)$ hoặc định nghĩa label đổi; tên loại shift cần đi cùng giả định. Với deepfake, nhiều shift có thể cùng xảy ra; histogram score không đủ định danh. Ví dụ Bayes và phản ví dụ: [bài8](lop-02-deepfake-bai-toan/08-CUE-CONFOUND-DOMAIN-SHIFT.md).

## 7. Taxonomy dataset phải dùng metadata, không chỉ tên

| Nhóm | Vai trò học tập | Cảnh giác |
|---|---|---|
| ASVspoof2019 LA | Generator known/unseen, genuine VCTK | Eval in-corpus không có nghĩa mọi attack đã biết |
| ASVspoof2021 LA/DF | Channel/codec và task khác nhau | Không đổi tên giữa LA và DF |
| ASVspoof5 | Attack và điều kiện mới, nhiều metric | Dùng đúng protocol/track hiện hành |
| DFADD | Diffusion/flow TTS với genuine VCTK | Shared source khác exact overlap |
| LibriSeVoc | Vocoder resynthesis trên LibriTTS | Shared ancestry với LibriSpeech cần audit |
| In-the-Wild | Web genuine/fake | Speaker, source và quality khó kiểm soát |
| CodecFake Wu et al.,2406.07237 | Neural-codec resynthesis và transfer sang codec TTS | Phân biệt Codecfake Lu/Xie; khóa đúng paper/release |
| ADD | Low-quality/partial/manipulation tùy track | Không dùng tên ADD thay cho track và version |
| PartialSpoof | Fake ngắn nằm trong genuine | Utterance labels không đủ để đo localization |
| MLAAD/SpoofCeleb và đa nguồn khác | Đa ngôn ngữ/generator/source | Cần kiểm nguồn, split, quyền và quan hệ với test |

Tên trên là bản đồ định vị, không phải xác nhận mọi bản phát hành đều có cùng số lượng, preprocessing hoặc giấy phép. Nguồn protocol: [ASV2019 database §§2–3](https://arxiv.org/pdf/1911.01601), [ASV2021 overview §§II–III](https://arxiv.org/pdf/2210.02437), [PartialSpoof2021 §2](https://www.isca-archive.org/interspeech_2021/zhang21ca_interspeech.pdf), [ASVspoof5 plan v0.6](https://www.asvspoof.org/file/ASVspoof5___Evaluation_Plan_Phase2.pdf). Corpus phụ chỉ định vị, chưa được audit sâu ở lớp này. Số dùng cho paper cụ thể giữ ở chương06.

Cách đọc disjointness, ancestry và exposure: [bài7](lop-02-deepfake-bai-toan/07-DATASET-VA-PROTOCOL.md). Metadata/version/unknown từng corpus: [sổ hộ chiếu](lop-02-deepfake-bai-toan/12-HO-CHIEU-DATASET.md). Mức đọc primary: [sổ nguồn](lop-02-deepfake-bai-toan/09-SO-DANG-KY-NGUON.md).

### Mẫu “hộ chiếu dataset”

Ghi: genuine source; người nói; ngôn ngữ; text; generator family/checkpoint; vocoder/codec; sample rate và bandwidth; preprocessing; split; parent corpus; unit of annotation; class definition; overlap với pretraining/train/dev/test.

Không có metadata này, một bảng cross-dataset EER chỉ cho biết hệ khác nhau trên các gói dữ liệu; khó trả lời nguyên nhân.

## 8. Tự kiểm tra

1. Một TTS flow-matching + HiFi-GAN thuộc những ô nào?
2. Tại sao neural-codec audio có thể hợp lệ nhưng vẫn mang dấu máy?
3. Khác nhau giữa unseen generator và unseen corpus?
4. Một attack holdout có cùng vocoder với train có phải family-disjoint không?
5. Nếu làm localization bằng patch 80 ms, “phát hiện đoạn 10 ms” cần được giải thích thế nào?

Điều cần nhớ: **định nghĩa task quyết định nhãn; cơ chế sinh quyết định giả thuyết về cue; protocol quyết định điều mà kết quả có thể chứng minh**.
