Destylacja wiedzy (, też destylacja modelu) – w uczeniu maszynowym metoda wykorzystywania informacji z dużego modelu, zwanego nauczycielem, do wytrenowania mniejszego modelu, zwanego uczniem. Duże modele, takie jak głębokie sieci neuronowe czy zespoły modeli, mają zwykle większą pojemność niż modele małe, a ich uruchamianie jest kosztowne obliczeniowo.
Celem destylacji jest przeniesienie użytecznej wiedzy z nauczyciela do ucznia przy możliwie małym spadku jakości działania. Niekiedy stosuje się ją również w celu poprawy generalizacji ucznia. Mniejsze modele są tańsze obliczeniowo i mogą działać na słabszym sprzęcie, na przykład na urządzeniach mobilnych.
Destylację wiedzy zalicza się do metod obok kwantyzacji, przycinania i faktoryzacji niskorzędowej. W przeciwieństwie do tych technik nie modyfikuje ona istniejącego modelu, lecz trenuje na podstawie predykcji nauczyciela inny model, zwykle mniejszy.
Metodę zastosowano m.in. w wykrywaniu obiektów, w akustycznych modelach rozpoznawania mowy, w dużych modelach językowych oraz w .
Zasada działania
Model mniejszy trenowany na tych samych danych co duży może nie mieć pojemności, by odtworzyć jego reprezentację wiedzy. Lukę pojemności między nauczycielem a uczniem opisuje się jako zjawisko stałe. Dlatego wiedzę przekazuje się pośrednio, przez predykcje nauczyciela.
Pełny rozkład prawdopodobieństwa generowany przez nauczyciela niesie więcej informacji niż sama najbardziej prawdopodobna klasa. Małe, lecz zróżnicowane wartości przypisywane pozostałym klasom, zwane ciemną wiedzą (), zawierają dodatkową informację o relacjach między klasami uchwyconych przez model nauczyciela.
W klasycznym, dwuetapowym schemacie najpierw trenuje się model nauczyciela na danych oznakowanych, a następnie model uczeń uczy się naśladować jego predykcje, zwane miękkimi celami, zamiast twardych etykiet klas.
Szkolenie ucznia odbywa się na tak zwanym zbiorze transferowym. Może to być zbiór użyty do trenowania nauczyciela albo odrębne dane, nawet nieoznakowane, ponieważ sygnału uczącego dostarczają wówczas predykcje nauczyciela.
Rozkład wyjściowy nauczyciela wygładza się parametrem temperatury w funkcji softmax. Wyższa temperatura zwiększa entropię rozkładu i ujawnia względne różnice między mniej prawdopodobnymi klasami. Miękkie cele zmniejszają ponadto wariancję gradientu podczas szkolenia ucznia.
Skuteczność takiej procedury wykazano m.in. w tłumaczeniu automatycznym: w niektórych badaniach model ucznia wytrenowany na predykcjach nauczyciela działał dziesięciokrotnie szybciej od niego przy niewielkim spadku jakości tłumaczenia i przewyższał model tej samej wielkości szkolony bez destylacji.
Odmiany
W zastosowaniach do dużych modeli językowych wyróżnia się destylację black-box, w której dostępne są jedynie odpowiedzi nauczyciela i to one generują zbiór danych do dostrajania ucznia, oraz white-box, w której dostępne są parametry lub rozkłady wyjściowe nauczyciela.
Istnieją też warianty opisywane jako odwrotna destylacja wiedzy: lżejszy model służy w nich do wytrenowania modelu cięższego. Przy ograniczonych danych służy to poprawie generalizacji, a nie zmniejszeniu modelu.
Historia
Poprzedniczką destylacji była kompresja wiedzy, zwana też przycinaniem sieci neuronowych, polegająca na redukcji rozmiaru wytrenowanej sieci. Jedne z najwcześniejszych przykładów automatycznego zmniejszania struktury sieci powstały w 1965 roku w pracach Aleksieja Iwaczenki i Walentina Lapy, którzy przycinali zbędne jednostki ukryte z wykorzystaniem odrębnego zbioru walidacyjnego.
W 1989 roku Yann LeCun i współpracownicy opisali algorytm Optimal Brain Damage, usuwający z sieci parametry o najmniejszym przewidywanym wpływie na funkcję straty, wyznaczanym z drugich pochodnych. W 1991 roku Jürgen Schmidhuber opisał zasadę kompresji historii, redukującą hierarchię sieci predykcyjnych do pojedynczej sieci rekurencyjnej – pomysł uznawany za jeden z prekursów późniejszego transferu wiedzy między sieciami.
W 2006 roku Cristian Bucilă, Rich Caruana i Alexandru Niculescu-Mizil wykazali, że wiedzę całego zespołu modeli można zamknąć w pojedynczej sieci neuronowej trenowanej na pseudodanych oznakowanych przez ten zespół.
Pojęcie destylacji wiedzy w obecnym znaczeniu spopularyzowali w 2015 roku Geoffrey Hinton i współpracownicy, wykorzystując temperaturę softmaxu do generowania celów uczenia. Zademonstrowali kompresję zespołu modeli do pojedynczej sieci na zadaniu rozpoznawania cyfr pisanych ręcznie oraz znaczącą poprawę modelu akustycznego często używanego systemu komercyjnego.
Przypisy
Kategoria:Uczenie maszynowe Kategoria:Sztuczna inteligencja