# Hồ sơ nguồn Lớp 3: SSL, học dự đoán và chống collapse

Ngày đối chiếu: 11/10/2026. Tài liệu này bổ sung hồ sơ nguồn và cơ chế cho [03-SSL-VA-JEPA.md](../../03-SSL-VA-JEPA.md) và [07-LITERATURE.md](../../07-LITERATURE.md). Mục tiêu là phân biệt *target là gì*, *ai tạo target*, *context được thấy gì*, *loss chạy ở đâu* và *gradient cập nhật những tham số nào*.

## Cách đọc và giới hạn

- Mức đọc dưới đây là **đọc phần phương pháp/thiết lập có liên quan**, không phải đọc trọn mọi phần của từng bài. Ngày và phiên bản là metadata của arXiv tại URL được ghi, không phải ngày truy cập của bản in hội nghị.
- Lượt dò ban đầu không tìm thấy PDF local tương ứng cho các paper SSL kinh điển trong hồ sơ; đây chỉ là kết quả của lượt dò đó, không phải kết luận rằng workspace không có PDF liên quan. Workspace có `audit_work/audiojepa.pdf` (Audio-JEPA), nhưng PDF này không phải bản của các paper SSL kinh điển được đối chiếu ở đây. Các method được đọc trên HTML toàn văn arXiv; không dùng abstract làm bằng chứng duy nhất.
- Các paper CPC, wav2vec 2.0, HuBERT, WavLM, BEST-RQ, Audio-MAE, data2vec là nguồn cho cơ chế học biểu diễn âm thanh/tiếng nói. BYOL, SimSiam, VICReg và Barlow Twins là paper học biểu diễn thị giác; chúng giải thích cơ chế chung về embedding/collapse, không tự chứng minh cách đó tốt cho audio forensics.
- Link repository chỉ cho biết có mã tác giả/nhóm hoặc tài liệu tại thời điểm kiểm tra. Không tải checkpoint, dữ liệu hay repo; không cài đặt hoặc chạy code; không xác nhận tái lập thực nghiệm.

## Bản đồ cơ chế

| Phương pháp | Target và nguồn target | View của student / context | Loss và vị trí tính | Gradient, cập nhật | Cơ chế giữ nghiệm không tầm thường |
|---|---|---|---|---|---|
| CPC | Latent tương lai z(t+k) từ chính encoder; không lượng tử hóa | Mẫu hiện tại và quá khứ z(<=t) qua autoregressive model; **không masking** | InfoNCE/NCE: chọn latent đúng trong positive và negatives, cho nhiều bước tương lai k | Gradient qua encoder, autoregressive context model và ma trận/score dự đoán; huấn luyện end-to-end; không teacher/stop-gradient | Negatives làm bài toán phân biệt. Không có variance/covariance regularizer riêng. |
| wav2vec 2.0 | Vector lượng tử hóa q(t); nhóm codebook và phân phối chọn code học cùng feature encoder qua Gumbel-Softmax/straight-through | Waveform -> convolutional latents; mask các span latent; Transformer thấy chuỗi đã mask, target quantizer tính từ latents chưa bị mask | Contrastive cross-entropy tại các thời điểm mask; negatives là các latent đã lượng tử hóa ở thời điểm mask khác trong cùng utterance; cộng diversity loss cho độ dùng codebook | Gradient tới context Transformer, convolutional feature encoder, logits/quantizer và codebook qua straight-through; diversity loss cũng cập nhật quantizer; không có target teacher tách rời | Contrastive negatives và diversity/perplexity term thúc đẩy dùng nhiều code. Diversity nói về codebook usage, không bảo đảm mọi chiều embedding hữu ích. |
| HuBERT | Nhãn cụm rời rạc, thường khởi đầu từ k-means trên MFCC; lượt sau có thể cluster latent của checkpoint HuBERT trước | Waveform -> convolutional features; mask spans; BERT/Transformer dự đoán nhãn cụm từ ngữ cảnh còn lại | Cross-entropy trên **các frame bị mask**; bản paper cũng định nghĩa biến thể loss trên unmasked nhưng thiết lập chính dùng masked prediction | Gradient cập nhật speech encoder, Transformer, projection/classifier và codeword embedding của classifier; **không** cập nhật k-means/nhãn trong một lượt train; reclustering diễn ra ngoại tuyến giữa các lượt; không EMA teacher | Target ngoại tuyến giữ cố định trong mỗi lượt; tính nhất quán của cluster quan trọng hơn việc cluster trùng phoneme. Masked loss bắt model dùng quan hệ chuỗi thay vì chỉ nhại nhãn tại đúng frame. |
| WavLM | Pseudo-label HuBERT/k-means của **utterance gốc sạch** | Student nhận utterance đã mô phỏng nhiễu hoặc overlap rồi thêm mask; context phải khôi phục nhãn của speaker chính | Mask prediction cross-entropy ở vị trí mask, trên pseudo-label của lời nói gốc | Gradient qua feature encoder, Transformer và categorical prediction head; không gradient vào clusterer/nhãn offline, không EMA teacher | Target có sẵn và ổn định trong lượt train; corruption/noise/overlap là biến thể mục tiêu denoising, không phải anti-collapse regularizer. |
| BEST-RQ | ID của vector gần nhất trong codebook được sinh bằng ma trận chiếu và codebook khởi tạo ngẫu nhiên, **đều cố định** | Mask trực tiếp các span của tín hiệu/đặc trưng tiếng nói; paper thay vùng mask bằng nhiễu Gaussian nhỏ; encoder thấy phần còn lại | Phân loại categorical/softmax để đoán ID tại phần mask | Gradient cập nhật ASR encoder và prediction head; không gradient vào ma trận chiếu hay codebook ngẫu nhiên; không teacher | Target cố định tạo bài toán dự đoán không cần học speech units. Chuẩn hóa input về mean 0/std 1 giúp tránh random quantizer chỉ dùng rất ít code; paper không đưa ra variance loss cho student. |
| Audio-MAE | Giá trị spectrogram Mel đầu vào (hoặc giá trị đã chuẩn hóa theo patch), không phải feature teacher | Chuyển waveform thành spectrogram/patch; encoder chỉ nhận các patch nhìn thấy, decoder nhận token đã khôi phục thứ tự cùng mask tokens | MSE của patch **bị che**; cấu hình tiền huấn luyện chính che ngẫu nhiên 80% patch | Gradient tới encoder và decoder; không teacher/quantizer/stop-gradient; decoder bị bỏ khi fine-tune downstream | Tái dựng target dữ liệu neo loss vào tín hiệu quan sát. Không có regularizer chống collapse riêng; tối ưu tái dựng không đảm bảo giữ cue phục vụ mọi downstream task. |
| data2vec (speech) | Continuous contextualized features do target network/teacher EMA tạo trên **toàn input không mask**; mỗi target là trung bình các layer trên cùng sau normalization | Student dùng cùng utterance nhưng mask ở feature-time steps; teacher vẫn thấy utterance không mask, nên target tại frame có ngữ cảnh hai chiều/toàn chuỗi | Loss chỉ tại bước bị mask. Paper định nghĩa Smooth L1 chung; thiết lập speech báo cáo L2 đơn giản; speech dùng trung bình 8 layer trên cùng | Gradient loss tới student. Teacher không nhận gradient loss; tham số teacher cập nhật EMA từ student. Feature encoder và positional encoder được chia sẻ theo mô tả paper; target Transformer là EMA. | Chuẩn hóa từng layer trước khi average để tránh norm lớn chi phối và hỗ trợ chống target hằng. Đây là recipe ổn định, không phải định lý rằng mọi cấu hình không thể collapse. |

“Không dùng nhãn tay” không nói target là trung tính: cluster, random projection, augmentation, mask geometry, teacher và loss đều đưa bias vào representation.

## Phiếu nguồn: predictive SSL cho speech/audio

### CPC — Contrastive Predictive Coding

- **Nguồn:** Aaron van den Oord, Yazhe Li, Oriol Vinyals, “Representation Learning with Contrastive Predictive Coding,” [arXiv:1807.03748v2](https://arxiv.org/abs/1807.03748v2), bản sửa 22/01/2019. HTML toàn văn: [method](https://arxiv.org/html/1807.03748), §§2.1–2.3; đối chiếu thêm thí nghiệm audio §3.1. **Mức:** đọc các phần phương pháp và audio experiment.
- **Cơ chế được paper hỗ trợ:** encoder g_enc chuyển tín hiệu thành latent tuần tự z_t; autoregressive model tóm tắt z_(<=t) thành context c_t; score song tuyến tính xếp hạng z_(t+k) tương lai so với negatives. InfoNCE gần như phân loại mẫu positive giữa các ứng viên và tối ưu density ratio; phần audio huấn luyện nhiều bước tương lai.
- **Gradient:** paper mô tả huấn luyện end-to-end, nên encoder, autoregressive model và score dự đoán đều nhận gradient từ InfoNCE. Target tương lai không phải nhãn đã lưu hoặc teacher đứng ngoài; nó là output khác của encoder đang học.
- **Giới hạn:** CPC không phải masked modeling, không dùng quantizer trong công thức CPC gốc, và không phải mọi SSL tương phản đều dùng future target/negative sampling như CPC. Kết quả audio trong bài là speech, không phải deepfake. Negative sampling quyết định điều gì phải phân biệt; nó không tự xác định forensic cue.
- **Mã:** chưa xác nhận repo tác giả tương ứng trong lần đối chiếu này; claims cơ chế lấy từ paper.

### wav2vec 2.0

- **Nguồn:** Alexei Baevski, Henry Zhou, Abdelrahman Mohamed, Michael Auli, “wav2vec 2.0: A Framework for Self-Supervised Learning of Speech Representations,” [arXiv:2006.11477v3](https://arxiv.org/abs/2006.11477v3), bản sửa 22/10/2020. HTML: [model/training](https://arxiv.org/html/2006.11477), §§2, 3.1–3.2 và thiết lập §4.2. **Mức:** đọc các phần phương pháp và thiết lập tiền huấn luyện.
- **Cơ chế được paper hỗ trợ:** CNN tạo latent khoảng 20 ms/bước. Che span sau CNN; Transformer tạo contextual representation c_t. Một quantizer nhóm tạo q_t từ feature-encoder output. Gumbel-Softmax chọn rời rạc và straight-through cho gradient xấp xỉ qua lựa chọn hard. Contrastive loss chọn q_t đúng giữa candidates; negative là các thời điểm mask khác trong cùng utterance. Loss toàn phần có thêm diversity term tối đa hóa entropy/perplexity trung bình codebook.
- **Gradient:** đây là học **joint** chứ không phải labels cố định kiểu HuBERT: codebook và phép chọn code có thể đổi theo loss; straight-through truyền gradient xấp xỉ về quantizer/feature encoder. Không có target network EMA hoặc stop-gradient tách rời. Cụm “target” ở đây mô tả vai trò trong loss, không có nghĩa nó bất biến khi train.
- **Giới hạn:** codebook diversity phạt dùng ít mã, không chứng minh representation không collapse theo mọi chiều hoặc giữ được cue spoof. Paper kiểm ASR/speech recognition; negative của thiết lập gốc đến từ cùng utterance, không nên gán cho nó một negative protocol khác.
- **Mã:** [fairseq/examples/wav2vec](https://github.com/facebookresearch/fairseq/tree/main/examples/wav2vec). README của nhánh fairseq được kiểm tra gắn trực tiếp paper wav2vec 2.0 và liệt kê model; không chạy code.

### HuBERT

- **Nguồn:** Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed, “HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units,” [arXiv:2106.07447v1](https://arxiv.org/abs/2106.07447v1), 14/06/2021. HTML: [Method](https://arxiv.org/html/2106.07447), §§II-A–II-E; đối chiếu giả định loss và iterative refinement. **Mức:** đọc các phần phương pháp.
- **Cơ chế được paper hỗ trợ:** ban đầu k-means tạo pseudo-label frame-level từ MFCC. CNN waveform encoder và Transformer nhận chuỗi đã mask; classifier dự đoán cluster ID. Thiết lập chủ đạo đặt loss ở masked timesteps. Sau khi có representation tốt hơn, có thể cluster latent của checkpoint vừa huấn luyện để tạo thế hệ target tiếp theo. Việc đổi target là ngoại tuyến theo vòng, không phải target-network EMA đồng thời ở từng bước.
- **Gradient:** pseudo-label của lượt hiện tại không nhận gradient; clusterer không học bằng loss của student. Gradient cập nhật convolutional encoder, BERT/Transformer và classifier (projection/codeword vectors). Bản paper còn thử ensemble nhiều clusterings, nhưng không cần gộp chi tiết đó vào định nghĩa tối thiểu.
- **Giới hạn:** authors nhấn mạnh độ nhất quán của labels, không đòi cluster ID đúng như phone. Pseudo-label không đồng nghĩa phoneme ground truth; mức phân biệt cluster phụ thuộc feature/clustering. Mask loss có thể dự đoán dựa vào context và do đó học cấu trúc chuỗi, nhưng không bảo đảm giữ mọi chi tiết phổ.
- **Mã:** paper thuộc hệ fairseq; đường dẫn tham khảo [fairseq/examples/hubert](https://github.com/facebookresearch/fairseq/tree/main/examples/hubert). Link thư mục không được web renderer mở trong lần này nên coi đây là điểm tra cứu mã, không dùng như bằng chứng độc lập về implementation.

### WavLM

- **Nguồn:** Sanyuan Chen et al., “WavLM: Large-Scale Self-Supervised Pre-Training for Full Stack Speech Processing,” [arXiv:2110.13900v5](https://arxiv.org/abs/2110.13900v5), bản sửa 17/06/2022. HTML: [model và pretraining](https://arxiv.org/html/2110.13900), §§IV-A, IV-B1–IV-B2, IV-C. **Mức:** đọc các phần phương pháp; metadata liệt kê đủ 19 tác giả trên arXiv.
- **Cơ chế được paper hỗ trợ:** WavLM kế thừa masked-unit prediction kiểu HuBERT, nhưng student nhận utterance đã thêm nhiễu hoặc trộn đoạn utterance thứ hai. Label được tạo từ utterance chính gốc bằng iteration network/k-means; loss trên vị trí mask yêu cầu dự đoán pseudo-label của lời nói gốc. Đây là cặp view có mục tiêu denoise/giữ speaker chính, bên cạnh dự đoán content.
- **Gradient:** model hiện tại (feature encoder, Transformer, prediction head) học từ cross-entropy. Nguồn nhãn sạch là pseudo-label ngoại tuyến; không có gradient từ student loss vào k-means hay teacher EMA. “Denoising” nói về input/target pairing, không có nghĩa loss tái dựng waveform sạch.
- **Giới hạn:** nhiễu/overlap là mô phỏng theo recipe paper; nó không chứng minh model bất biến với mọi channel/noise hoặc mọi loại spoof. Gated relative-position bias là thành phần kiến trúc cho attention/order, không phải loss chống collapse. Data 94k giờ và thay đổi recipe cũng là biến riêng khi so kết quả.
- **Mã:** [Microsoft UniLM/WavLM](https://github.com/microsoft/unilm/tree/master/wavlm), README tự ghi là official PyTorch implementation; đã mở README và WavLM.py để xác nhận repo/model tree tồn tại, không audit toàn bộ training code.

### BEST-RQ

- **Nguồn:** Chung-Cheng Chiu, James Qin, Yu Zhang, Jiahui Yu, Yonghui Wu, “Self-supervised Learning with Random-projection Quantizer for Speech Recognition,” ICML 2022, [arXiv:2202.01855v2](https://arxiv.org/abs/2202.01855v2), bản sửa 29/06/2022. HTML: [§3 method](https://arxiv.org/html/2202.01855), §§3.1–3.2; đối chiếu lập luận về random quantizer ở §3.4. **Mức:** đọc các phần phương pháp.
- **Cơ chế được paper hỗ trợ:** một ma trận chiếu ngẫu nhiên cố định biến frame đầu vào thành vector; nearest-neighbor trong codebook ngẫu nhiên cố định cho ra class ID. Student mask trực tiếp span tín hiệu/đặc trưng, thay vùng đó bằng nhiễu Gaussian nhỏ trong recipe paper, rồi dự đoán ID. Paper nhấn mạnh loss này học **không cần representation/quantizer tự học**.
- **Gradient:** classifier/encoder nhận gradient dự đoán class; ma trận chiếu và codebook random không nhận gradient, không được cập nhật. Chuẩn hóa input mean 0/std 1 là cần thiết theo paper để tránh chỉ một số ít random codes được dùng.
- **Giới hạn:** code ID là phép phân hoạch random của đầu vào, không phải learned speech unit, không được gọi là phone hay teacher semantic. Tính hữu ích cho objective/ASR trong paper không đảm bảo random targets mã hóa forensic artifact. Random target cố định và learned target end-to-end là hai trục taxonomy khác nhau.
- **Mã:** không ghi nhận một repository chính thức của tác giả được link/kiểm tra trong pass này. Không dùng bản cài của bên thứ ba để xác nhận chi tiết.

### Audio-MAE

- **Nguồn:** Po-Yao Huang, Hu Xu, Juncheng Li, Alexei Baevski, Michael Auli, Wojciech Galuba, Florian Metze, Christoph Feichtenhofer, “Masked Autoencoders that Listen,” NeurIPS 2022, [arXiv:2207.06405v3](https://arxiv.org/abs/2207.06405v3), bản sửa 12/01/2023. HTML: [§3 model/loss](https://arxiv.org/html/2207.06405), §4.2 implementation, §4.4 masking ablation. **Mức:** đọc các phần phương pháp/thiết lập/masking.
- **Cơ chế được paper hỗ trợ:** waveform được biến đổi thành log-Mel spectrogram, chia patch. Tiền huấn luyện chính mask ngẫu nhiên 80%; encoder chỉ xử lý patch còn lại; decoder khôi phục thứ tự và dùng mask token để dự đoán patch spectrogram bị thiếu. MSE tính ở unknown/masked patches, paper nêu target input spectrogram hoặc per-patch normalized spectrogram. Decoder dùng local window attention. Ở downstream họ giữ encoder và bỏ decoder.
- **Gradient:** encoder và decoder cùng cập nhật từ reconstruction MSE; không target encoder, quantizer, EMA hoặc stop-gradient.
- **Giới hạn:** đây là reconstruct tín hiệu input space, không phải predict latent teacher. Mask geometry quyết định dễ/khó; tác giả thấy random masking 80% phù hợp với thí nghiệm AudioSet và việc che có cấu trúc là lựa chọn khác. Reconstruction score/quality không đồng nghĩa likelihood hay detection score; reconstruction không chứng minh cue spoof được giữ.
- **Mã:** [facebookresearch/AudioMAE](https://github.com/facebookresearch/AudioMAE), repo tác giả ghi code/models của paper; GitHub báo repo archived ngày 06/08/2025. Đây là trạng thái của repo, không phải đánh giá chất lượng checkpoint.

### data2vec

- **Nguồn:** Alexei Baevski, Wei-Ning Hsu, Qiantong Xu, Arun Babu, Jiatao Gu, Michael Auli, “data2vec: A General Framework for Self-supervised Learning in Speech, Vision and Language,” [arXiv:2202.03555v3](https://arxiv.org/abs/2202.03555v3), bản sửa 25/10/2022. HTML: [Method](https://arxiv.org/html/2202.03555), §§3.1–3.4; speech settings §4.2; thảo luận target normalization/collapse §6. **Mức:** đọc các phần phương pháp, speech setup và discussion.
- **Cơ chế được paper hỗ trợ:** cùng kiến trúc ở hai mode. Teacher chạy trên sample không mask; tham số target-mode là EMA của student. Student chạy masked sample và chỉ dự đoán tại các time steps student bị mask. Target không phải một vector local độc lập: self-attention trong teacher đã contextualize frame bằng phần còn lại/toàn input. Target tạo bằng cách normalize từng layer trong top K Transformer blocks rồi average; paper thường lấy FFN output trước residual cuối. Speech dùng instance normalization không tham số trên current sample; vision/NLP dùng parameterless layer norm. Loss chung trong method là Smooth L1; thiết lập speech báo cáo top K=8 và L2 loss đơn giản.
- **Gradient:** loss cập nhật student; target branch không nhận gradient từ loss, mà được EMA cập nhật sau update student. Bài nói feature encoder và positional encoder được share để tiết kiệm/tốt hơn đôi chút; không nhầm điều đó với việc teacher Transformer nhận gradient trực tiếp.
- **Giới hạn:** normalize target theo thời gian/layer là biện pháp thực dụng nhằm giảm target constant/high-norm dominance, không phải bảo đảm chống mọi dạng collapse. Cùng algorithm không có nghĩa các modality có cùng view: speech dùng waveform + conv frame tokens, vision dùng image patches, NLP dùng token embeddings; mask, normalization và triển khai loss khác. Paper về representation/ASR không chứng minh latent target tối ưu cho deepfake.
- **Mã:** [fairseq/examples/data2vec](https://github.com/facebookresearch/fairseq/tree/main/examples/data2vec) hiện dẫn tới material về **data2vec 2.0**, README mô tả thay đổi efficiency; không lấy README đó làm mô tả chính xác bản paper gốc v1. Bản paper là nguồn chính cho cơ chế ở đây.

## Phiếu nguồn: chống collapse và non-contrastive learning

### BYOL

- **Nguồn:** Jean-Bastien Grill et al. (14 tác giả), “Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning,” [arXiv:2006.07733v3](https://arxiv.org/abs/2006.07733v3), bản sửa 10/09/2020. HTML: [Method §§3.1–3.3](https://arxiv.org/html/2006.07733), thêm intuition/ablation §3.2, §5. **Mức:** đọc phần method và các ablation liên quan.
- **Cơ chế được paper hỗ trợ:** hai augmentation views của cùng ảnh. Online có encoder + projector + predictor; target có encoder + projector. Online predictor match normalized target projection ở view kia bằng MSE tương đương 2 - 2*cosine; loss đối xứng qua hai view. Online tham số cập nhật bằng optimizer; target bị stop-gradient và cập nhật ξ <- τξ + (1-τ)θ. Không negatives.
- **Gradient / chống collapse:** loss chỉ backprop qua online encoder/projector/predictor. Target params không nhận gradient trực tiếp mà chuyển chậm theo EMA. Mệnh đề collapse là một nghiệm của objective; paper báo cáo recipe BYOL không hội tụ về đó trong thực nghiệm của họ, không chứng minh objective loại bỏ nghiệm hằng. Paper còn phân tích target network có hai tác dụng lẫn nhau trong ablation: stop-gradient và target chậm/ổn định. Không nên nói “EMA một mình chắc chắn ngăn collapse”.
- **Giới hạn:** ảnh/ImageNet là domain của bằng chứng chính; augmentation định nghĩa invariance. Nếu một augmentation trong audio xóa mất cue cần phát hiện, match-view loss có thể khuyến khích xóa cue ấy.
- **Mã:** [google-deepmind/deepmind-research/byol](https://github.com/google-deepmind/deepmind-research/tree/master/byol), được repo DeepMind Research chứa; không chạy mã.

### SimSiam

- **Nguồn:** Xinlei Chen, Kaiming He, “Exploring Simple Siamese Representation Learning,” [arXiv:2011.10566v1](https://arxiv.org/abs/2011.10566v1), 20/11/2020. HTML: [§3 Method](https://arxiv.org/html/2011.10566) và §4.1–4.2 về stop-gradient/predictor. **Mức:** đọc method và empirical study liên quan.
- **Cơ chế được paper hỗ trợ:** hai augmentation views đi qua encoder + projection dùng chung; predictor chỉ ở prediction path. Loss là negative cosine đối xứng D(p1, stopgrad(z2)) và D(p2, stopgrad(z1)); không negatives và không momentum/EMA encoder.
- **Gradient / chống collapse:** ở term đầu, z2 không nhận gradient từ target side nhưng z1 nhận gradient qua p1; ở term còn lại điều ngược lại, nên encoder chung vẫn được train từ cả views. Paper giữ architecture/hyperparameters và ablate riêng stop-gradient: bỏ nó thì setup đó collapse. Họ kết luận stop-gradient thiết yếu trong recipe thử nghiệm; không suy ra mọi non-contrastive model chỉ cần stop-gradient là đủ.
- **Giới hạn:** bằng chứng chính là ảnh/ImageNet. Stop-gradient không tự tạo target informativeness; nếu hai view làm mất cue, cosine matching vẫn có thể học bất biến với cue đó.
- **Mã:** [facebookresearch/simsiam](https://github.com/facebookresearch/simsiam), repo chính thức nói đây là PyTorch implementation của paper; repo archived 31/10/2023.

### VICReg

- **Nguồn:** Adrien Bardes, Jean Ponce, Yann LeCun, “VICReg: Variance-Invariance-Covariance Regularization for Self-Supervised Learning,” ICLR 2022, [arXiv:2105.04906v3](https://arxiv.org/abs/2105.04906v3), bản sửa 28/01/2022. HTML: [§4.1 Method](https://arxiv.org/html/2105.04906); đối chiếu §2 intuition. **Mức:** đọc method và intuition.
- **Cơ chế được paper hỗ trợ:** hai views đi qua encoder rồi expander/projector. Loss gồm: MSE giữa paired embeddings để match; hinge trên standard deviation từng chiều, max(0, γ - std_j); và tổng bình phương covariance off-diagonal để giảm redundancy. Variance/covariance chạy riêng trên từng nhánh.
- **Gradient / chống collapse:** cả hai nhánh và expander nhận gradient qua các loss; không cần target teacher, stop-gradient, negatives hay EMA. Với output hằng trong batch, MSE invariance có thể bằng 0 nhưng variance term bị phạt vì std từng chiều dưới ngưỡng; covariance term xử lý phụ thuộc giữa các chiều, một vấn đề khác với collapse thành vector hằng.
- **Giới hạn:** regularizer đặt điều kiện hình học trên batch/projected embeddings, không đảm bảo giữ chính loại thông tin downstream cần. Cần ghi rõ layer, pooling, batch và projection nơi tính; regularizer trong không gian projector không đồng nghĩa embedding forensic hữu ích.
- **Mã:** [facebookresearch/vicreg](https://github.com/facebookresearch/vicreg), repo ghi “official code base” và README nêu paper; repo archived 01/11/2024.

### Barlow Twins

- **Nguồn:** Jure Zbontar, Li Jing, Ishan Misra, Yann LeCun, Stéphane Deny, “Barlow Twins: Self-Supervised Learning via Redundancy Reduction,” ICML 2021, [arXiv:2103.03230v3](https://arxiv.org/abs/2103.03230v3), bản sửa 14/06/2021. HTML: [Method §§2.1–2.2](https://arxiv.org/html/2103.03230), pseudocode và loss. **Mức:** đọc phần phương pháp.
- **Cơ chế được paper hỗ trợ:** hai augmentation views qua hai nhánh cùng kiến trúc/trọng số. Chuẩn hóa theo batch rồi tính cross-correlation giữa feature dimensions. Loss đưa đường chéo về 1 (alignment giữa hai view theo từng chiều) và off-diagonal về 0 (giảm redundancy giữa các chiều).
- **Gradient / chống collapse:** hai nhánh train bình thường; paper nói không cần predictor, target EMA, stop-gradient, non-differentiable assignment hay negative pairs. So với VICReg, Barlow Twins không có một term hinge tách riêng đặt ngưỡng std từng chiều; cơ chế của nó đi qua chuẩn hóa batch và mục tiêu cross-correlation identity. Cần cẩn trọng với batch/normalization số học khi diễn giải nghiệm constant.
- **Giới hạn:** off-diagonal correlation thấp không chứng minh thông tin là bất biến với mọi nuisance đúng theo mục tiêu, độc lập thống kê hoàn toàn, hay hữu ích cho detection. Paper chính nghiên cứu thị giác; chuyển sang audio cần xác định augmentation và nơi tính cross-correlation.
- **Mã:** [facebookresearch/barlowtwins](https://github.com/facebookresearch/barlowtwins), repository tác giả có tiêu đề PyTorch implementation; đã xác minh trang repo, không chạy code.

## Ví dụ số nhỏ và phản ví dụ

Các ví dụ sau chỉ minh họa công thức, không phải thí nghiệm paper.

1. **InfoNCE và negatives.** Có 1 positive cùng 3 negatives; nếu bốn logits bằng nhau, xác suất chọn positive là 1/4, cross-entropy -log(1/4) = log(4) ≈ 1.386. Contrastive task đòi score positive phân biệt được. Nhưng nếu mọi quantized target của wav2vec 2.0 cùng một code thì candidates có cùng target vector; model không có căn cứ phân biệt theo nội dung và diversity term có lý do để đẩy code usage ra khỏi một mã. Đây là trực giác, không phải chứng minh collapse của mọi cấu hình.
2. **HuBERT target.** Giả sử clustering gán hai frame thành mã A, frame khác thành B; student mask frame giữa và dự đoán A/B từ context. Các chữ A/B chỉ là ID do clustering sinh ra. Chỉ khi có kiểm định riêng mới gọi chúng là phone, nội dung ngữ âm hoặc cue forensic.
3. **data2vec layer average.** Giả sử ba target layer sau normalization là [1,0], [0,1], [1,1]; trung bình là [2/3,2/3]. Nếu layer cuối có norm rất lớn, chuẩn hóa từng layer trước khi average tránh để độ lớn đơn thuần áp đảo target; target vẫn là contextualized vector chứ không thành nhãn class.
4. **VICReg.** Nếu mọi sample ở một chiều đều cho giá trị 7 thì std của chiều đó bằng 0. Invariance MSE có thể bằng 0 khi cả hai view đều cho 7, nhưng variance hinge phạt γ - 0. Covariance term có việc khác: nó giảm tương quan giữa các chiều đang cùng biến đổi.
5. **Barlow Twins.** Với embedding 2 chiều, mục tiêu lý tưởng hóa là ma trận cross-correlation gần [[1,0],[0,1]]: cùng chiều match giữa hai views, khác chiều ít tương quan. Đây là mục tiêu thống kê trên batch, không phải nhãn semantic cho hai chiều.
6. **Phản ví dụ về augmentation và invariance.** Giả sử trong một bài toán audio giả lập, một cue phân biệt fake/genuine bị augmentation làm mất. BYOL/SimSiam có thể giảm loss bằng cách làm hai view giống nhau trong khi embedding bớt nhạy với cue ấy. Điều này chỉ suy ra từ cấu trúc objective; các paper ảnh không kiểm tra cue deepfake. Vì vậy thiết kế augmentation cho forensics phải dựa trên threat model.
7. **Loss thấp, representation kém.** Hai branch đều xuất một hằng số có thể đạt loss thấp trong objective chỉ gồm view matching. VICReg thêm variance hinge cụ thể; Barlow Twins thay loss bằng cross-correlation identity; CPC/contrastive dùng negatives; data2vec dựa vào target đã chuẩn hóa và teacher EMA. Các cơ chế không tương đương, và không cơ chế nào tự chứng minh performance trên task chưa đo.

## Các phân biệt nên giữ trong chương và khi giảng

- **wav2vec 2.0 vs HuBERT:** target lượng tử hóa của wav2vec 2.0 được học end-to-end qua quantizer differentiable/ST; HuBERT nhận hard cluster IDs tính ngoại tuyến, cố định trong từng lượt. Cả hai cùng có masking và speech targets rời rạc, nhưng quá trình sinh/cập nhật target khác nhau.
- **HuBERT vs BEST-RQ:** HuBERT cluster đặc trưng đã quan sát/latent, có thể cập nhật lại qua vòng; BEST-RQ giữ phép chiếu và codebook random cố định. Không gọi BEST-RQ IDs là “learned units”.
- **WavLM vs HuBERT:** WavLM thêm view nhiễu/overlap và dự đoán pseudo-label của lời nói gốc tại masked positions; denoising được cài qua quan hệ input–target. Không phải loss tái tạo waveform và cũng không phải gradient qua một EMA speech teacher.
- **Audio-MAE vs data2vec:** Audio-MAE đoán giá trị input spectrogram bằng decoder; data2vec đoán representation contextualized của teacher từ masked student. Một bên target input-space, một bên target latent-space.
- **Target latent không tự đồng nghĩa JEPA:** data2vec có latent prediction và EMA teacher; Audio-MAE không; BEST-RQ có discrete target và mask prediction; BYOL/SimSiam match hai views. Nên mô tả cơ chế cụ thể trước khi nhóm vào taxonomy.
- **Anti-collapse không đồng nghĩa chống task mismatch:** không collapse hằng, variance cao, hoặc covariance thấp không bảo đảm giữ dấu synthesis. Augmentation có thể dạy invariance với cue mà detector cần.
- **Teacher/quantizer/gradient:** “target” là vai trò trong loss, không đủ để suy ra detach. Cần ghi rõ nguồn target và gradient: wav2vec2 có quantizer học; HuBERT/WavLM labels offline; BEST-RQ random mapping fixed; data2vec target EMA/no-gradient; Audio-MAE trực tiếp target input.

