KL Divergence
Jak działa
Dla rozkładów dyskretnych P i Q dywergencję KL definiuje się jako D_KL(P || Q) = suma_x P(x) log( P(x) / Q(x) ), a dla ciągłych jako całkę analogicznego wyrażenia. Jest nieujemna (D_KL >= 0) i równa zero wtedy i tylko wtedy, gdy P = Q (nierówność Gibbsa). Nie jest symetryczna, D_KL(P || Q) != D_KL(Q || P), i nie spełnia nierówności trójkąta, więc nie jest metryką. Wiąże się z entropią krzyżową: H(P, Q) = H(P) + D_KL(P || Q), dlatego minimalizacja entropii krzyżowej względem parametrów Q jest równoważna minimalizacji KL. W praktyce w AI liczy się ją na wyjściach softmax: w destylacji minimalizuje się KL między zmiękczonym rozkładem nauczyciela a uczniem; w RLHF (PPO) dodaje się karę KL względem polityki referencyjnej, by ograniczyć dryf modelu; w wnioskowaniu wariacyjnym minimalizuje się KL między rozkładem aproksymującym a a posteriori.
Rozwiązany problem
Uczenie i ocena modeli probabilistycznych wymagają sposobu, by zmierzyć, jak bardzo przewidywany rozkład odbiega od rozkładu docelowego lub referencyjnego. Dywergencja KL dostarcza takiej miary o ugruntowaniu w teorii informacji: pozwala definiować funkcje straty (minimalizacja KL względem danych równoważna maksymalizacji wiarygodności), przenosić wiedzę z modelu nauczyciela do ucznia (destylacja), aproksymować rozkłady w wnioskowaniu wariacyjnym i utrzymywać model dostrajany blisko polityki referencyjnej w RLHF.
Kluczowe mechanizmy
Mocne strony i ograniczenia
Komponenty
Rozkład odniesienia (np. dane, rozkład nauczyciela, rozkład docelowy), względem którego mierzy się rozbieżność.
Rozkład modelu (np. przewidywania ucznia, polityka dostrajana, rozkład wariacyjny), którego odległość od P się ocenia.
Wyrażenie log(P(x)/Q(x)) ważone przez P(x); jego wartość oczekiwana względem P daje dywergencję KL.
Implementacja
D_KL(P||Q) różni się od D_KL(Q||P): forward KL wymusza pokrywanie modów, reverse KL wybór jednego modu; zły kierunek daje niepożądane zachowanie.
Gdy Q(x)=0, a P(x)>0, wyraz log(P/Q) daje nieskończoność, powodując niestabilność numeryczną.
Ewolucja
W pracy On Information and Sufficiency wprowadzono miarę rozbieżności rozkładów, później nazwaną dywergencją KL.
Autoenkodery wariacyjne (Kingma, Welling) wykorzystują człon KL do regularyzacji przestrzeni latentnej względem rozkładu a priori.
Destylacja wiedzy (Hinton, 2015) i późniejszy RLHF stosują KL jako cel przenoszenia wiedzy oraz karę utrzymującą politykę blisko referencyjnej.
Hiperparametry (konfigurowalne osie)
Forward KL D(P||Q) wymusza pokrywanie modów, reverse KL D(Q||P) wybór jednego modu.
Współczynnik zmiękczający rozkłady softmax przed liczeniem KL w destylacji wiedzy.
Waga kary KL względem polityki referencyjnej w RLHF/PPO.
Złożoność obliczeniowa
Złożoność czasowa: O(K) dla K kategorii rozkładu dyskretnego. Złożoność przestrzenna: O(K) na rozkład o K kategoriach.
Destylacja wiedzy z użyciem KL na zmiękczonych rozkładach (Hinton 2015) pozwala mniejszym modelom zbliżyć się jakością do większych nauczycieli. W RLHF/PPO współczynnik kary KL (np. beta) kontroluje kompromis między dopasowaniem do nagrody a bliskością do polityki referencyjnej — zbyt niski powoduje reward hacking i dryf, zbyt wysoki hamuje uczenie.
Wąskie gardło obliczeniowe
Koszt KL rośnie z liczbą kategorii rozkładu (np. rozmiaru słownika w modelu językowym); poza tym jest to tania operacja punktowa.
Paradygmat wykonania
Wszystkie składniki rozkładu wchodzą do sumy; brak selektywnej aktywacji.
KL to operacja matematyczna na rozkładach, bez routingu czy warunkowego wykonania.
Równoległość
Operacja punktowa i redukcja są w pełni równoległe na wektorach/tensorach prawdopodobieństw.
Wymagania sprzętowe
KL to operacja punktowa na rozkładach (log, mnożenie, redukcja), realizowana wydajnie na dowolnym akceleratorze wspierającym operacje tensorowe.