Uczenie transferowe zaczyna się od modelu wytrenowanego na jednym zadaniu lub zbiorze danych i dostosowuje go do innego zadania. Zamiast uczyć wszystkich cech od losowych wag, można ponownie wykorzystać wcześniej wyuczoną reprezentację. To często pomaga przy ograniczonej liczbie oznaczonych przykładów, lecz wynik zależy od podobieństwa zadania źródłowego i docelowego. Nie istnieje stały mnożnik oszczędności danych dla wszystkich projektów.

Dwie typowe metody. Przy ekstrakcji cech zamraża się wstępnie wytrenowaną sieć bazową i uczy tylko nową warstwę wyjściową na danych docelowych. Przy dostrajaniu najpierw przygotowuje się działającą warstwę wyjściową, a potem aktualizuje także część wcześniejszych warstw. Samouczek TensorFlow dotyczący obrazów pokazuje tę kolejność i ostrzega, że natychmiastowe trenowanie całej sieci razem z losowo zainicjalizowaną warstwą może uszkodzić użyteczne cechy. PyTorch porównuje obie metody na małym zbiorze obrazów. Modele językowe także korzystają z wcześniejszych wag, ale różnią się architekturą i szczegółami treningu.

Jak uczciwie ocenić wynik. Najpierw określ zadanie i oddzielny zbiór testowy. Przy tym samym podziale danych porównaj prosty punkt odniesienia, zamrożone cechy i ostrożnie dostrojony model. Zapisz jakość, koszt treningu i wnioskowania oraz rodzaje błędów. Gdy dane docelowe znacznie różnią się od źródłowych, sprawdź, czy przeniesione cechy pomagają, czy szkodzą. Wynik na zbiorze z samouczka nie obiecuje korzyści dla obrazów medycznych, kamer przemysłowych ani dokumentów prawnych.

Kiedy transfer zawodzi. Transfer negatywny oznacza, że wiedza źródłowa pogarsza wynik na nowym zadaniu. Przyczyną mogą być różnice domen, niezgodne etykiety lub preprocessing, przeuczenie na małym zbiorze albo zbyt agresywne dostrajanie. Zachowaj zbiór walidacyjny i nie oceniaj sukcesu wyłącznie po trafności na danych treningowych.

Ile oznaczonych danych można zaoszczędzić? Nie ma uniwersalnej odpowiedzi w rodzaju dziesięcio- lub stukrotnej redukcji. Zapotrzebowanie zależy od modelu, podobieństwa zadań, oczekiwanej jakości i sposobu oceny. Zmierz krzywą uczenia na własnych danych docelowych.

Źródła: samouczek TensorFlow, samouczek PyTorch, przewodnik Hugging Face, przegląd transferu negatywnego.

Powiązane artykuły
Źródła

Przeglądaj katalog narzędzi →