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

01 — Nền tảng toán, âm thanh và deep learning#

Chương này là bản đồ khái niệm. Học cơ chế, dẫn xuất và ví dụ tính tay theo bộ tám bài sâu của lớp 1; xem sổ nguồn và mức đọc. Học liệu được bổ sung ngày 11/10/2026; việc hoàn thành học qua hỏi đáp được theo dõi riêng.

1. Tiếng nói mang những loại thông tin nào?#

Một waveform không chỉ mang câu chữ. Có thể hình dung nó phụ thuộc vào:

  • Linguistic content: âm vị, từ, cú pháp.
  • Speaker identity: đặc điểm đường thanh quản và thói quen phát âm.
  • Prosody: cao độ, nhịp, trọng âm, ngữ điệu.
  • Paralinguistics: cảm xúc, trạng thái, phong cách nói.
  • Acoustic channel: micro, phòng, khoảng cách, codec, noise.
  • Generation process: người thật, vocoder, mô hình tổng hợp, chỉnh sửa.

Các yếu tố không tách hoàn toàn. Người nói đổi cao độ theo nội dung; codec xử lý khác nhau với âm hữu thanh và âm vô thanh. Detector phải tìm dấu hiệu về quá trình tạo mà vẫn chịu được thay đổi tự nhiên ở những yếu tố khác.

Source–filter là mô hình trực giác quan trọng#

Nguồn kích thích từ thanh quản đi qua bộ lọc của đường thanh âm. Với đoạn gần ổn định, có thể xấp xỉ:

x[n]≈e[n]∗h[n].x[n] \approx e[n]*h[n].

ee là excitation, hh là vocal-tract filter; ∗* là convolution. Mô hình này giúp hiểu pitch/harmonics và formants, nhưng không mô tả hoàn hảo mọi kiểu phát âm.

Đại lượngÝ nghĩaKhông nên nhầm với
F0F_0Tần số cơ bản của dao động hữu thanhFormant
HarmonicsThành phần gần các bội của F0F_0Những bin STFT tùy ý
FormantsVùng cộng hưởng của đường thanh âmCao độ giọng
Spectral envelopeHình dạng phổ ở thang rộngChi tiết từng harmonic
ProsodyBiến thiên theo thời gian ở thang âm tiết/câuMột phổ ở một frame

Vocoder có thể mô hình tốt envelope nhưng vẫn sai ở excitation, phase hoặc chuyển tiếp. Mô hình mới có thể sửa các sai khác đó, nên không tồn tại một artifact cố định cho mọi deepfake.

2. Sampling và bandwidth#

Nếu lấy mẫu ở fsf_s, dải tần có thể biểu diễn không aliasing nằm dưới fs/2f_s/2, với điều kiện có lọc chống aliasing phù hợp trước khi giảm mẫu.

Trong paper: audio vào ở 16 kHz, sau đó resample lên 32 kHz. Việc này tạo lưới mẫu dày hơn; không phục hồi nội dung 8–16 kHz đã không có ở bản 16 kHz. Vì vậy giới hạn mel 8 kHz không tự động làm mất thêm thông tin nguồn trong protocol đó.

Phải tách ba khái niệm:

  1. Sample rate trong metadata. File khai báo bao nhiêu mẫu/giây.
  2. Bandwidth thực. Nội dung thực sự có năng lượng và thông tin ở đâu.
  3. Lịch sử xử lý. Audio từng bị downsample, nén hay lọc rồi nâng mẫu lại chưa.

Một file 48 kHz có thể chỉ chứa speech băng hẹp đã nâng mẫu. Detector có thể khai thác dấu lọc thay vì dấu tổng hợp.

3. STFT: vì sao cần nhìn cả thời gian lẫn tần số?#

Fourier transform phức của cả câu vẫn giữ thông tin để khôi phục tín hiệu qua magnitude và phase, nhưng không có trục thời gian cục bộ dễ đọc. Bỏ phase mới làm mất thông tin trực tiếp về phase/vị trí; bài 2 có phản ví dụ dịch tín hiệu. STFT dùng cửa sổ trượt:

X[m,k]=∑nx[n]w[n−mH]e−j2πkn/N.X[m,k]=\sum_n x[n]w[n-mH]e^{-j2\pi kn/N}.

HH là hop, ww là window, NN là FFT size. Spectrogram thường là ∣X∣|X| hoặc ∣X∣2|X|^2; phase là arg⁡X\arg X.

Công thức trên dùng chỉ số thời gian toàn cục trong số mũ; quy ước theo chỉ số cục bộ của frame khác một hệ số phase. Bài 4 tính trực tiếp cả hai frame nhỏ và phân biệt frame count theo window với frame count theo n_fft của thư viện.

Quyết địnhTác độngTrade-off
Window dài hơnPhân biệt cấu trúc tần số tinh hơnLàm mờ biến đổi ngắn theo thời gian
Hop nhỏ hơnCó nhiều frame, lấy mẫu diễn biến dày hơnChi phí tăng; không tự tăng độ phân giải tần số
FFT size lớn hơn qua zero-paddingLưới tần số mịn hơnKhông tạo thêm khả năng phân giải vật lý từ cửa sổ ngắn
Chỉ magnitudeDễ dùng CNN/ViTBỏ phase trực tiếp
Complex representationGiữ magnitude và phaseKhó chuẩn hóa; phase nhạy với dịch thời gian

Nominal temporal patch span và receptive field khác nhau. Patch 8 frame với hop 10 ms được mô tả bằng span danh nghĩa 80 ms, nhưng cửa sổ 25 ms chồng nhau nên phần waveform tham gia là dài hơn 80 ms. Sau self-attention, một token có thể chứa thông tin từ toàn clip.

4. Mel, LFCC, MFCC và CQCC#

Mel filterbank gộp năng lượng STFT vào các dải có phân bố gần thang cảm nhận của người nghe:

S[m,b]=log⁡(ϵ+∑kWb[k]∣X[m,k]∣2).S[m,b]=\log\left(\epsilon+\sum_k W_b[k]|X[m,k]|^2\right).

Log nén dải động. Gộp bin làm giảm chiều nhưng mất khả năng phân biệt những phổ khác nhau cho cùng tổng năng lượng dải.

FeatureĐường biến đổiInductive bias
Log-melSTFT → mel bands → logƯu tiên phân giải dải thấp; tiện cho mô hình audio
MFCCLog-mel → DCT → giữ một số hệ sốTóm tắt spectral envelope; thường giảm chi tiết phổ
LFCCFilterbank tuyến tính → log → DCTPhân bố đều hơn theo Hz; có thể giữ thông tin dải cao khác mel
CQCCConstant-Q transform → biến đổi cepstralĐộ phân giải thời gian/tần số phụ thuộc tần số
Phase featuresPhase / group delay và biến thểNhìn cấu trúc mà magnitude không trực tiếp chứa
Raw waveformMẫu trực tiếpĐể front-end học phép lọc; cần dữ liệu và regularization

Không có feature “mạnh hơn” vô điều kiện. Phải hỏi artifact cần đo nằm ở đâu và feature đã loại gì. Mel được thiết kế theo cảm nhận; perceptual similarity và forensic separability là hai mục tiêu khác nhau.

Chuẩn hóa cũng là một giả định#

  • Waveform mean subtraction: bỏ DC offset.
  • Peak/RMS normalization: thay đổi scale năng lượng.
  • Dataset normalization: dùng thống kê train chung.
  • Utterance CMVN: trừ mean/chia std theo từng mẫu, từng chiều feature.
  • LayerNorm: chuẩn hóa activation theo chiều feature tại một vị trí.
  • BatchNorm: dựa vào thống kê batch và running statistics, tùy chế độ.

CMVN có thể giảm dấu kênh truyền, đồng thời xóa khác biệt hữu ích cho detection. Nó là phép can thiệp cần kiểm tra, không phải mặc định “làm sạch dữ liệu”. Padding phải được loại khỏi phép tính thống kê nếu ta không muốn độ dài quyết định mean/variance.

5. Tokenization không chỉ là đổi shape#

Với spectrogram T×FT\times F và patch pt×pfp_t\times p_f, khi chia hết:

N=(T/pt)(F/pf).N=(T/p_t)(F/p_f).

Trong bài: 256×128256\times128, patch 8×328\times32 → 32 vị trí thời gian × 4 vị trí tần số = 128 token. Không phải 128 bước thời gian.

Patch projection ánh xạ vector patch sang embedding. Hình dạng patch quyết định thông tin được trộn trước khi encoder xử lý. Hai patch cùng diện tích vẫn có inductive bias khác nhau.

Positional encoding nói token nằm ở đâu. Cùng 128 token nhưng grid 16×8 và 32×4 khác nhau; shape tensor bằng nhau không bảo đảm vị trí đúng. Tần số và thời gian cũng không đối xứng: đổi vị trí một harmonic theo tần số không giống dịch thời gian cả sự kiện.

6. Xác suất cho detection#

Đặt y=1y=1 là bona fide, y=0y=0 là spoof. Phân loại nhị phân là cách huấn luyện; detection nhấn mạnh score và threshold. Hai cách gọi này không loại trừ nhau.

Điểm lý tưởng cho quyết định theo chi phí là log-likelihood ratio:

ℓ(x)=log⁡p(x∣y=1)p(x∣y=0).\ell(x)=\log\frac{p(x\mid y=1)}{p(x\mid y=0)}.

Posterior odds còn phụ thuộc prior:

log⁡p(y=1∣x)p(y=0∣x)=ℓ(x)+log⁡π1π0.\log\frac{p(y=1\mid x)}{p(y=0\mid x)}=\ell(x)+\log\frac{\pi_1}{\pi_0}.

Mô hình học trên tập có rất nhiều spoof không tự cho xác suất đúng với nơi triển khai có rất ít spoof. Class weighting lại thay đổi mục tiêu học. Logit difference có thứ tự hợp lý chưa có nghĩa là calibrated LLR.

Vì sao loss MSE liên quan conditional expectation?#

Cho context cc, target tt và dự đoán aa, ta có:

arg⁡min⁡aE[∥t−a∥2∣c]=E[t∣c].\arg\min_a\mathbb E[\|t-a\|^2\mid c]=\mathbb E[t\mid c].

Đây là nghiệm tối ưu của dự đoán dưới squared loss, không phải định lý rằng encoder của MAE loại bỏ mọi chi tiết khó đoán. Decoder có thể lấy conditional mean trong khi encoder vẫn giữ nhiều thông tin. Và target của JEPA là learned embedding, nên tính dễ đoán phụ thuộc chính encoder.

7. Đại số tuyến tính cho biểu diễn#

Embedding h∈Rdh\in\mathbb R^d có norm, góc và cấu trúc hiệp phương sai. Những thứ này đo các thuộc tính khác nhau.

Công cụĐo gìGiới hạn
Cosine similarityGóc giữa vectorCó thể bỏ magnitude chứa tín hiệu
Covariance spectrumBiến thiên theo hướngPhụ thuộc dữ liệu và preprocessing
SVD/PCACác hướng năng lượng chínhNăng lượng lớn có thể là nuisance
Effective rankMức trải đều của spectrumKhông trực tiếp đo usefulness
CKAĐộ tương đồng giữa hai tập representationTương đồng cao/thấp không tự xác định cái nào tốt
Linear probeThông tin label truy cập tuyến tính đượcKém có thể do classifier đơn giản, không phải thiếu mọi thông tin

Một định nghĩa effective rank dùng singular values σi\sigma_i:

pi=σi∑jσj,reff=exp⁡(−∑ipilog⁡pi).p_i=\frac{\sigma_i}{\sum_j\sigma_j},\qquad r_{\rm eff}=\exp\left(-\sum_i p_i\log p_i\right).

Dùng σi2\sigma_i^2 cho entropy của covariance spectrum là một định nghĩa khác; phải ghi rõ. Nếu mọi singular value bằng 0, công thức chuẩn hóa không xác định: cần xử lý degeneracy trước. Với phổ chỉ còn nhiễu rất nhỏ nhưng trải đều, effective rank vẫn có thể cao. Vì vậy phải xem scale variance cùng rank, không chỉ rank.

8. Deep learning tối thiểu cần hiểu#

Kiến trúc và inductive bias#

  • CNN: locality, shared filters; hợp với cấu trúc cục bộ.
  • RNN/TDNN: mô hình hóa chuỗi hoặc context thời gian.
  • Transformer: học quan hệ giữa token qua attention.
  • Graph network: quan hệ được mô tả bằng node và edge; định nghĩa node quan trọng như lớp attention.
  • State-space model: cập nhật trạng thái để xử lý chuỗi; không tự bảo đảm generalization tốt hơn.

Self-attention:

Attention⁡(Q,K,V)=softmax⁡(QK⊤/dk)V.\operatorname{Attention}(Q,K,V)=\operatorname{softmax}(QK^\top/\sqrt{d_k})V.

Attention weight là trọng số trộn trong một phép tính; chưa đủ để gọi là lời giải thích nhân quả cho dự đoán cuối. Standard dense attention có chi phí phần tương tác tăng theo N2N^2, nên số token tác động mạnh tới compute.

Tối ưu và regularization#

Kỹ thuậtVai tròDễ hiểu sai
Cross-entropyHọc phân biệt nhãn qua logitsLoss thấp không bảo đảm calibration ngoài miền
AdamWAdaptive update và weight decay tách khỏi gradient lossKhông tương đương L2 penalty theo mọi optimizer
Warm-up / cosine / OneCycleLịch learning rateKhác lịch làm thay đổi cách checkpoint thích nghi
DropoutNhiễu regularization lúc trainPhải đổi hành vi ở eval
Weight decayKhuyến khích trọng số nhỏKhông thay thế kiểm soát leakage
Gradient clippingChặn bước gradient quá lớnCó thể che dấu vấn đề ổn định nếu chỉ nhìn loss
Mixed precisionGiảm chi phí số học/bộ nhớCần kiểm NaN, overflow và cùng trạng thái khi so số học

Frozen encoder vẫn có thể tốn compute inference lớn. Ít tham số học giúp giảm chi phí backward/optimizer, không biến ViT-Base thành mô hình 0,5 M ở inference.

Pre-training → continued pre-training → downstream fine-tuning là ba giai đoạn khác nhau. Thay corpus và giữ objective SSL là continued pre-training; chuyển sang thật/giả bằng CE là fine-tuning, kể cả encoder khởi tạo từ JEPA.

9. Tự kiểm tra#

  1. Vì sao 16→32 kHz không phục hồi tần số cao?
  2. Thay hop, window và FFT size tác động khác nhau thế nào?
  3. Vì sao 128 patch không phải 128 frame thời gian?
  4. Embedding có rank cao có thể hoàn toàn vô ích cho detection không?
  5. Vì sao posterior từ train không tự dùng làm threshold triển khai?

Đáp án gợi ý ở chương 08. Nguồn học dài: DSP Guide của Steven W. Smith, Deep Learning của Goodfellow, Bengio, Courville và Speech and Language Processing của Jurafsky, Martin. Các giải thích ở đây được biên soạn để phục vụ đề tài, không phải trích hoặc dịch các chương sách.

↓ 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.