Bài 6: xác suất, logits và loss của detector#
Bắt đầu · Trước: mel/token · Tiếp: hình học
Mục tiêu và cầu nối#
Phân biệt likelihood/posterior/prior, suy ra score từ hai logits, tính tác động của class weights, và chứng minh conditional mean dưới MSE với đúng phạm vi. Quy ước xuyên bài: y=1 là bona fide (B), y=0 là spoof (S), q là model probability cho B, d=z_B−z_S. Log là ln; logits/log-odds không có đơn vị vật lý.
Random variable là đại lượng chưa biết khi rút mẫu; probability distribution mô tả khả năng các giá trị. Expectation E[T]=Σ_t p(t)t là trung bình có trọng số (tích phân nếu liên tục). Variance Var(T)=E[(T−E[T])²] có đơn vị T². Với waveform liên tục nhiều chiều, p(x|y) thường là density; p(x|y)>1 có thể hợp lệ, khác xác suất của một sự kiện. S14: Deep Learning chương 3, §§3.2–3.5, 3.8.
1. Bayes: quan sát và niềm tin nền đóng vai trò khác nhau#
π1=P(y=1), π0=P(y=0), π1+π0=1. Từ định nghĩa conditional probability:
Chia hai biểu thức làm p(x) triệt tiêu; lấy log:
LLR (log-likelihood ratio) đo bằng chứng quan sát nghiêng về B hay S theo hai class-conditionals. Posterior odds kết hợp bằng chứng với prior. S14, §3.11 Bayes' Rule.
Ví dụ số hoàn chỉnh: dùng một sự kiện đặc trưng rời rạc a để tránh nhầm density: P(a|B)=0.6, P(a|S)=0.2. Likelihood ratio=3; LLR=ln3=1.098612. Train prior B=0.1,S=0.9 cho joint weights 0.06/0.18, posterior B=0.06/(0.06+0.18)=0.25. Deploy prior B=0.99,S=0.01, giả sử conditionals giữ nguyên, posterior B=0.594/(0.594+0.002)=0.996644. Cùng bằng chứng likelihood, posterior khác vì base rate khác. Prior correction không chữa được channel/generator shift làm p(x|y) đổi.
2. Vì sao lấy hiệu hai logits?#
Softmax 2 lớp:
Chia cả tử/mẫu cho e^(z_B) cho bước giữa. Log(q/(1−q))=d. Cộng cùng c(x) vào hai logits không đổi q, nên logitB riêng có một độ tự do không liên quan class confidence.
Ví dụ mới: A:(z_B,z_S)=(12,10), B:(3,0). D_A=2, q_A=0.880797; d_B=3,q_B=0.952574. Logit B riêng xếp A cao hơn, nhưng model posterior xếp B cao hơn. Với score convention này, d lớn hơn nghiêng về bona fide. Nó là identity của model output, chưa phải calibration fact ngoài data train.
3. CE và gradient: model sai tự tin bị phạt thế nào?#
Binary cross-entropy không weights:
Nếu y=1, còn −lnq. q=0.8 cho L=0.223144; q=0.01 cho L=4.605170. Loss phạt tự tin sai mạnh. Dùng d và q=σ(d), đạo hàm q′=q(1−q); chain rule dẫn đến:
Đạo hàm là tốc độ thay đổi loss khi tăng d một lượng nhỏ; gradient descent trừ η(q−y). Với B, q=0.8, gradient−0.2 nên tăng d; với S, q=0.8, gradient+0.8 nên giảm d. Đây là gradient theo score, không trực tiếp update mọi encoder weight bằng cùng một số; bài 8 nối chain rule về từng weight.
PyTorch CrossEntropyLoss nhận logits chưa softmax và class-index targets. Với hard labels, weighted reduction='mean' chia tổng loss cho tổng weights của labels hợp lệ, không đơn giản chia batch size. S15: PyTorch 2.9 CE, class-index loss và reduction.
4. Class weighting đổi nghiệm probability lý tưởng#
Với w1,w0>0 và η_x=P_train(y=1|x), weighted population risk tại x:
Giữ η_x và weights cố định, đặt derivative bằng 0:
Vì R″>0 trong miền nội với hai lớp có xác suất dương, đó là minimum duy nhất. Odds q*/(1−q*)=(w1/w0)η_x/(1−η_x). Kết hợp Bayes:
Giả định của dẫn xuất biên soạn: population weighted risk hoặc empirical weighted objective với normalization toàn tập cố định, model đủ capacity, optimizer đạt optimum, hard labels, không label smoothing. Mini-batch mean chia tổng weights ngẫu nhiên có thể làm exact expected stochastic objective khác công thức population, nhất là batch nhỏ. Sampling/rebalancing còn đổi effective training distribution. Với batch chỉ có một mẫu và weighted mean, weight triệt tiêu: w_y L/w_y=L. Đây là một phản ví dụ rõ cho việc gán công thức population cho mọi minibatch recipe. Công thức giải thích hướng tác động, không là lời chứng nhận logits một run bằng LLR.
Ví dụ: ở mục 1 η_x=0.25, w1=9,w0=1. q*=2.25/(2.25+0.75)=0.75. d*=ln3. Train odds 1/9 bị weight 9 hủy đúng trong toy distribution này, nên d* bằng LLR. Nhưng deploy posterior vẫn 0.996644, không 0.75. Paper dùng bona-fide weight khoảng 9.6 theo train subset; gần inverse class ratio là lý do lý thuyết có thể giảm prior offset, không chứng minh score calibrated. Paper mục 3.3, trang 4–5.
5. Threshold là quyết định có chi phí#
Đặt C_miss là chi phí từ chối B; C_fa là chi phí chấp nhận S. Với posterior đúng q, accept B có expected cost C_fa(1−q); reject B có cost C_miss q. Accept khi q/(1−q)>C_fa/C_miss, tương đương:
Minh họa: C_fa=100,C_miss=1, prior B=0.99: likelihood ratio phải lớn hơn100×0.01/0.99≈1.010101. LR=3 ở mục 1 vượt ngưỡng; với priors B=0.1, ngưỡng LR=900 và nó không vượt. Đây là cost-based decision, chưa bàn EER hay calibration algorithm (lớp 5 sẽ đào sâu). Threshold 0 của raw d không mặc định tối ưu.
6. MSE conditional mean: chứng minh và chặn suy diễn quá mức#
Gọi target vector T∈R^d, context C=c, μ=E[T|c], giả sử finite second moment. Một prediction a chỉ phụ thuộc c. Viết T−a=(T−μ)+(μ−a), khai triển bình phương norm:
vì cross term2E[T−μ|c]ᵀ(μ−a)=0. Hạng đầu không đổi theo a, hạng sau nhỏ nhất 0 tại a=μ. S29: Mahajan, MMSE estimation, §6.1 trình bày phép phân rã và điều kiện square-integrable; bài này áp dụng cho target vector.
Ví dụ mới: T nhận −2 xác suất 0.25 và +2 xác suất 0.75 khi biết c. μ=1. Prediction a=1 cho MSE=0.25×9+0.75×1=3; a=2 cho 0.25×16+0=4; a=0 cho 4. Ngẫu nhiên lấy một target độc lập có cùng distribution cho MSE=2Var(T|c)=6, dù output luôn trông giống một target hợp lệ.
Kết luận chỉ nói optimum của prediction dưới squared loss cho target distribution cố định. Encoder có thể vẫn lưu detail khác mà decoder không dùng. Phản ví dụ biên soạn: target T=(A,V), context cho biết A, còn V là bit ±1 đối xứng độc lập; context còn chứa U. Encoder H=(A,U), predictor trả (A,0) đạt conditional mean dù U vẫn có trong H. Loss không buộc xóa chiều U nếu predictor bỏ qua nó. JEPA targets là embeddings học được và teacher động; không thể lấy lemma này chứng minh encoder luôn xóa cue khó đoán hay JEPA luôn giữ artifact hơn MAE. Paper chỉ dùng CE downstream, còn objective tiền huấn luyện được mô tả để hiểu checkpoint.
7. Bài tập#
- Tính q và CE cho d=0,y=1; nếu d tăng, gradient có dấu gì?
- η=0.2,w1=4,w0=1. Tính q*, odds và logit. q* có bằng η không?
- Vì sao trừ prior/weight offset của train chưa đủ calibrate dưới generator shift?
- T nhận0 hoặc4, mỗi giá trị xác suất1/2. TínhMSE ở a=2 và a=4; kết luận nào về encoder không được phép suy ra?
Đáp án
- q=0.5,L=ln2≈0.693147,gradientq−y=−0.5 ởd=0. Gradient âm thúc tăng d khi descent. Điều này không đảm bảo bước lớn luôn giảm loss.
- q*=0.8/(0.8+0.8)=0.5,odds 1, logit 0. Khác η=0.2; weighting đổi mục tiêu probability.
- Offset chỉ sửa prior/weights khi class-conditionals phù hợp và model estimate đúng. Generator mới có thể đổi likelihood function/ranking; một intercept không tự sửa feature failures.
- μ=2;MSE tại a=2 bằng 4, tại a=4 bằng 8. Không chứng minh encoder quên chi tiết khó đoán hay encoding của T đã collapse; đó là kết luận khác cần representation evidence.
Đào sâu tự chọn#
Chứng minh expected unweighted CE tại x là H(η)+KL(Bernoulliη || Bernoulliq); KL≥0 cho optimum q=η. Luồng chính có thể dùng derivative như mục 4. Nếu muốn học calibration, giữ câu hỏi “đúng với distribution nào?” cho lớp 5, chưa dùng score học được như deployed probability.