KL Divergence

Định nghĩa

Kullback-Leibler divergence, hay KL divergence, là thước đo mức khác nhau giữa hai phân phối xác suất.

Trong Knowledge Distillation, KL divergence thường dùng để đo student distribution khác teacher distribution bao nhiêu.

Công thức

Với hai phân phối rời rạc và trên cùng tập outcome:

Thành phần

  • : xác suất của outcome theo phân phối tham chiếu, ví dụ teacher.
  • : xác suất của outcome theo phân phối cần học, ví dụ student.
  • : mức student lệch khỏi teacher nếu đặt là teacher distribution.

Trực giác

KL divergence hỏi: nếu teacher tin vào phân phối , student dùng phân phối thì student “lệch” khỏi teacher bao nhiêu?

Nếu và giống nhau, KL divergence bằng 0. Nếu gán xác suất thấp cho outcome mà cho là quan trọng, KL divergence tăng.

Lưu ý quan trọng

KL divergence không đối xứng:

Vì vậy cần chú ý chiều. Trong distillation, thường muốn student bắt chước teacher, nên đọc là đo khoảng cách từ teacher distribution sang student distribution.

Trong knowledge distillation

Teacher logits
-> softmax với temperature
-> teacher probability distribution P
 
Student logits
-> softmax với temperature
-> student probability distribution Q
 
Distillation loss
-> KL divergence giữa P và Q

Mục tiêu training là giảm KL divergence để phân phối dự đoán của student gần với teacher hơn.

Cách hiểu bằng lời của tôi

KL divergence là cách nói bằng số rằng hai model đang “tin” khác nhau đến mức nào. Trong distillation, teacher không chỉ đưa nhãn đúng, mà đưa cả phân phối niềm tin; student học bằng cách làm phân phối của mình giống teacher hơn.

Câu hỏi review

  1. KL divergence đo sự khác nhau giữa hai thứ gì?
  2. Vì sao KL divergence phù hợp với soft labels trong knowledge distillation?
  3. Vì sao phải chú ý chiều ?
  4. Khi và giống hệt nhau thì KL divergence bằng bao nhiêu?

Liên kết