ajaudio / studyAUDIO-JEPA · RESEARCH NOTES
8 phút đọc · Toàn văn
Mục lục bài · 9 mục

Bài 7 — Đọc dataset bằng protocol và metadata#

Bắt đầu lớp 2 · Trước: task · Tiếp: cue và shift

Mục tiêu và tiến trình#

Bạn phải đọc được một passport, thiết kế group split và nói chính xác trục nào đã hold out. Cần task/label ở bài 6 và component pipeline ở bài 1. Tiến trình: identity/version → annotation → ancestry → grouping → exposure → claim. Mỗi corpus có passport riêng; bài này dạy cách đọc, không yêu cầu nhớ mọi số lượng.

1. Một passport đủ dùng phải trả lời gì?#

TrườngCâu hỏi và giá trị cần giữ
Identity/version/trackTên chính thức, paper revision, release ID, URL, manifest/hash; LA/DF/Track1 không bỏ đi
Task/unit/labelsClip, segment hay ASV trial? Bona fide/spoof theo định nghĩa nào? Segment resolution bao nhiêu?
Genuine ancestryCorpus/bản ghi nguồn, speaker, transcript, ngôn ngữ, môi trường và quan hệ cha–con
Fake pipelineTask, generator family/model/checkpoint, vocoder/codec, source utterance và conditioning
Signal chainSample rate, resampling, trimming, gain, container, codec, replay/noise; có cân bằng theo nhãn không
Split/exposureGrouping speaker/source/text/attack/component; dữ liệu nào dùng train, validation, calibration, test
GeneralizationTrục đổi và trục giữ; bằng chứng disjointness ở đúng độ hạt
Unknown/limitsTrường nào nguồn không công bố hoặc chưa audit manifest; tránh điền đoán

“Không công bố” và “chưa kiểm tra” khác nhau. Không thấy checkpoint ID trong phần paper đã đọc chỉ cho phép ghi chưa xác định từ nguồn đã đọc, không kết luận tác giả không có metadata đó.

2. Bản đồ đọc nhanh#

Corpus/protocolĐiều hữu ích để họcGiới hạn phải giữ
ASVspoof2019 LAAttack ID holdout trong VCTK-based corpusA16/A19 tái dùng thuật toán A04/A06; unseen ID không đồng nghĩa unseen family
ASVspoof2021 LA / DFKênh điện thoại vs standalone DF và nénKhông hoán tên task; không có train/dev2021 mới trong challenge chính
ASVspoof5 Track1 / Track2Standalone detection vs SASV và exposure rulesOpen/closed training condition khác open-set attribution
DFADDNăm TTS diffusion/FM, speaker splitKhông thuần diffusion; D3 checkpoint ancestry có discrepancy trong paper
LibriSeVocSame-source mel → sáu vocoderNon-overlap6:2:2 không tự xác lập speaker/source-group disjoint
In-the-WildExternal web evaluationGenerator từng file thường chưa xác định; không đại diện mọi generator hiện tại
ADD2022 Track1Mandarin, noisy/low-quality full fakeKhông phải Track2 partial fake; unseen utterance không chứng minh mọi trục unseen
PartialSpoofClip labels và temporal labelsBản2021 vs extended release phải ghi riêng; task paper hiện tại không localization
CodecFake Wu et al.Codec encode/decode resynthesisKhông đồng nhất full ALM generation; tên gần giống Lu/Xie cần khóa identity

Các dòng là diễn giải ngắn của nguồn, không phải audit file-level. URL/section/version và giới hạn nằm trong passport và sổ nguồn.

3. Ví dụ hoàn chỉnh: split file khác split nguồn#

Manifest đồ chơi do người soạn đặt. uu là source recording ID, pp là speaker, gg là generator checkpoint, vv là vocoder, hh là channel.

FileuuppggvvhhSplit hiện tại
real_u1.wavu1P1——cleantrain
fake_u1_A.wavu1P1AVcleantest
fake_u2_B.wavu2P2BVcleantest
fake_u3_C.mp3u3P3CWMP3test

Bước1: file names và encoded hashes khác nhau không có nghĩa source độc lập: hai hàng đầu chung u1u1. Để kiểm source-utterance generalization, group mọi derivative của u1u1 vào một partition trước khi chia.

Bước2: B khác A nên có thể checkpoint ID mới nếu A là tập train đã biết; nhưng cùng V không phải vocoder-unseen. C đổi checkpoint, vocoder và channel đồng thời; score kém trên C chưa tách được nguyên nhân.

Bước3: để đánh giá speaker holdout, group theo pp; source holdout group theo uu; vocoder holdout group theo vv với genuine controls thích hợp. Nếu một source có derivatives của nhiều vocoder thì các ràng buộc có thể nối thành nhóm lớn. Không thể hứa giữ mọi trục disjoint rồi random split từng file.

Bước4: test locked không dùng để chọn checkpoint/threshold. So sánh metadata, exact hashes và audio fingerprints sau decode/resample là các evidence khác nhau; lossy re-encode có thể làm hash đổi mà recording vẫn là cùng nguồn.

Đây là thiết kế đề xuất để đọc claim, chưa phải kết quả audit trên bất kỳ corpus nào. ASVspoof5 là ví dụ protocol quy định cụ thể cả same-speaker và same-utterance exposure, thay vì chỉ cấm tên corpus chung. Plan v0.6 §4.2

4. Ancestry không phải exact overlap#

Một ancestry graph có thể nối original LibriVox audio/text materials với cả LibriSpeech và LibriTTS, rồi LibriTTS → mel → LibriSeVoc fake. LibriTTS được dựng lại từ original materials liên quan LibriSpeech, không đơn giản nâng sample rate của processed LibriSpeech files. Quan hệ cha–con giúp chọn metadata cần đối chiếu, nhưng không chứng minh recording trong test đã có ở train detector/encoder. LibriTTS §§1,3, LibriSeVoc §4.1

Tách năm mức: shared corpus ancestry → shared speaker → shared transcript → same source recording → exact/near-duplicate audio. Cùng transcript có thể là hai bản thu độc lập; khác byte hash có thể cùng bản thu sau nén. Ngược lại, tên corpus khác vẫn có thể chứa lại một bản ghi web. ASVspoof5 plan cho phép LibriSpeech vì speaker disjoint theo thiết kế, trong khi hạn chế một số nguồn liên quan khác: common ancestry không đủ để suy ra prohibited overlap. Plan §4.2

Pretraining exposure phải kiểm riêng với downstream train. AudioSet-2M là tên corpus, không phải bằng chứng từng recording test chưa từng xuất hiện. Lượt biên soạn này không audit AudioSet/video IDs hay waveform manifests nên không kết luận leakage hoặc absence of leakage.

5. Đọc protocol thay vì chỉ đọc bảng EER#

ASVspoof2021 dùng training/development2019; LA có kênh truyền còn DF là task riêng, nguồn bổ sung từ VCC. Không lấy EER của hai track làm cùng một phép đo “unseen generator”. Official2021, overview §§II–III

ASVspoof5 Track1/Track2 và open/closed training condition là hai trục độc lập. “Open condition” có thể cho dùng dữ liệu ngoài theo hạn chế; không tự có unknown-rejection output. Plan v0.6 không cho pool train/dev để train mô hình, nhưng cho dev để calibration/fusion theo quy định; evaluation trials được xử lý độc lập. Các rule này gắn bản plan, không áp mặc định cho mọi nghiên cứu. Plan §§3–4.3

6. Liên hệ với paper Audio-JEPA#

Train là ASVspoof2019 LA với A05 và 600 bona fide được giữ ngoài subset train. A05 dùng WORLD, chia sẻ vocoder với A02/A03 và family với A06; chính PDF nêu giới hạn này. A05 được monitoring nhưng không dùng chọn checkpoint trong main runs. Vì thế holdout không chứng minh unseen vocoder/family hoặc speaker-disjoint monitoring. PDF §4.2

Evaluation gồm ASV2019 LA eval và bốn corpus ngoài: DFADD, ADD2022 Track1, LibriSeVoc, In-the-Wild. Khi sang ADD, ngôn ngữ, source, speaker, noise và generator có thể cùng đổi; khi sang LibriSeVoc, task fake là vocoder resynthesis. Đây là các kết quả cross-corpus theo protocol được báo cáo, chưa phải causal isolation từng trục. PDF dùng bản DFADD qua aggregator; passport gốc không xác nhận exact release/hash của bản copy đó. Không thay số liệu paper bằng toàn bộ quy mô dataset gốc.

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

  1. Train A dùng V, test B dùng V. Có thể viết “unseen generator and vocoder” không?
  2. Hai corpus đều có LibriSpeech ancestry. Đủ để kết luận leakage chưa? Cần evidence gì tiếp theo?
  3. Từ manifest đồ chơi, đổi hàng fake_u1_A sang dev có giải quyết source overlap với train không?
  4. Một article nói split non-overlap6:2:2 nhưng không nói grouping. Ghi passport thế nào?

Đáp án. (1) Chỉ có thể gọi unseen ở granularity được kiểm, ví dụ checkpoint B; vocoder V đã thấy. (2) Chưa; đối chiếu bản release, speaker/transcript/source IDs, hashes và near-duplicate fingerprints cùng pretraining exposure. (3) Không: dev vẫn có source u1 của train, gây vấn đề cho source-disjoint claim và có thể model selection; phải group derivatives theo mục tiêu. (4) Ghi tỷ lệ và non-overlap theo mô tả; speaker/source-group disjoint chưa xác định, không tự nâng nghĩa của “non-overlap”.

Đào sâu tùy chọn#

Vẽ graph: mỗi file là node, cạnh nối chung source recording hoặc speaker theo claim đang kiểm. Các connected components phải ở cùng split. Thêm cạnh chung generator để giữ generator-disjoint có thể tạo nhóm lớn hơn; lựa chọn group phải xuất phát từ estimand, không chỉ mong muốn một tỷ lệ đẹp.

DỪNG LẠI & TỰ KIỂM TRA

Bạn đã giải thích được cơ chế trong bài?

↓ Bản Markdown nguyên gốcGiữ nguyên nội dung · Công thức, bảng và nguồn đầy đủ.Các chat bàn giao được mở trong Codex.

Gõ từ khóa để tìm bài học và đoạn liên quan.