Aigest.

Destylacja wiedzy

Zaktualizowano:

Destylacja wiedzy to technika kompresji modeli uczenia maszynowego, w której mniejszy, prostszy model (uczeń) jest trenowany tak, aby naśladować zachowanie większego, bardziej złożonego modelu (nauczyciela). Celem jest przeniesienie istotnej wiedzy z modelu nauczyciela do ucznia, zachowując wysoką wydajność przy znacznie mniejszych zasobach obliczeniowych i pamięciowych.

Destylacja wiedzy (ang. Knowledge Distillation) to proces, w którym wiedza z dużego, często bardzo wydajnego, ale kosztownego w użyciu modelu jest transferowana do mniejszego i prostszego modelu. Model nauczyciel (ang. teacher model) to zazwyczaj duża sieć neuronowa, która osiąga wysoką dokładność. Model uczeń (ang. student model) to mniejsza sieć, która ma być bardziej efektywna obliczeniowo.

Kluczową ideą jest to, że uczeń nie uczy się bezpośrednio z twardych etykiet danych treningowych (np. 0 lub 1 dla klasyfikacji), ale z miękkich etykiet (ang. soft targets) dostarczanych przez nauczyciela. Miękkie etykiety to rozkłady prawdopodobieństwa przewidziane przez nauczyciela, które zawierają bogatsze informacje o relacjach między klasami niż same twarde etykiety. Na przykład, jeśli nauczyciel przewiduje, że obraz jest w 90% kotem i w 10% psem, uczeń uczy się tej subtelnej relacji, a nie tylko tego, że obraz to "kot".

Proces destylacji zazwyczaj obejmuje:

  • Trenowanie dużego modelu nauczyciela na pełnym zbiorze danych.
  • Użycie modelu nauczyciela do generowania miękkich etykiet dla danych treningowych.
  • Trenowanie mniejszego modelu ucznia, minimalizując różnicę między jego przewidywaniami a miękkimi etykietami nauczyciela, często z dodatkowym członem uwzględniającym twarde etykiety.

Destylacja wiedzy jest szczególnie przydatna w scenariuszach, gdzie wymagana jest wysoka wydajność i niski koszt obliczeniowy, na przykład w aplikacjach mobilnych, urządzeniach brzegowych (edge devices) lub w systemach wymagających szybkiego wnioskowania. Pozwala na wdrożenie modeli o zbliżonej dokładności do dużych modeli, ale z mniejszym zużyciem zasobów.