Hasło słownika · · 2 min czytania
Gradient Surgery
Model czyta „Paczka nie dotarła, potrzebuję jej na jutro” i uczy się dwóch zadań: wyboru działu oraz rozpoznawania pilności. Oba korzystają ze wspólnych ustawień — liczb sterujących przetwarzaniem tekstu. Korekta pomagająca wybrać dział może jednak pogorszyć ocenę pilności. Samo dodanie dwóch proponowanych korekt nie sprawdza, czy sobie przeszkadzają.
Gradient Surgery polega na modyfikowaniu wskazówek zmiany ustawień przed wspólnym krokiem nauki, aby ograniczyć konflikt między zadaniami. Jednym z takich sposobów jest PCGrad: usuwa z każdej wskazówki część skierowaną przeciw drugiemu zadaniu. Yu et al., Gradient Surgery for Multi-Task Learning, §2.3, algorytm 1 opisują tę konkretną regułę.

Co właściwie korygujemy?
Każde zadanie dostaje stratę: liczbę oceniającą błąd odpowiedzi; mniej znaczy lepiej. Z niej obliczamy gradient, czyli listę wskazówek, jak drobne zmiany ustawień wpłyną na stratę. Gradient pokazuje kierunek jej lokalnego wzrostu. Zwykły krok nauki idzie w przeciwną stronę.
Wyobraźmy sobie tylko dwa wspólne ustawienia. Dla działu gradient wynosi [1; 0]: zwiększenie pierwszego ustawienia podnosi stratę, drugie chwilowo jej nie zmienia. Dla pilności gradient to [-2; 1]. Suma wynosi [-1; 1], więc krok w przeciwną stronę zwiększy pierwsze ustawienie. Pomaga pilności, ale lokalnie szkodzi działowi.
PCGrad usuwa sprzeczne składowe przed dodawaniem: z pierwszego gradientu otrzymujemy [0,2; 0,4], z drugiego [0; 1]. Ich suma to [0,2; 1,4]. Teraz krok zmniejsza oba ustawienia; dla dostatecznie małego kroku lokalne przybliżenie przewiduje spadek obu strat. To własny przykład rachunkowy, nie pomiar modelu ani dowód, co oznaczają jego rzeczywiste ustawienia.
Sprawdź konflikt i granicę rozwiązania
W demonstracji krok ma wielkość 0,1. Bez korekty zmiana ustawień wynosi [0,1; −0,1], a przybliżona zmiana straty działu +0,1. Po PCGrad otrzymujemy [−0,02; −0,14] i −0,02. Dodatni wynik oznacza pogorszenie, ujemny poprawę. Zmień przypadek i sprawdź, czy korekta zawsze daje ruch.
PCGrad pozostawia zgodne gradienty bez zmian. Przy dokładnie przeciwnych kierunkach może wyzerować oba, zatrzymując krok. To ograniczenie omawia §2.4, twierdzenie 1. Co więcej, lokalne przybliżenie nie gwarantuje poprawy po dużym kroku ani lepszych odpowiedzi na nowych wiadomościach. Konflikt gradientów sam w sobie nie dowodzi, że wspólna nauka szkodzi; autorzy analizują też różnice ich wielkości i kształt funkcji straty (§2.2).
Powiązane pojęcia
- Multi-task Learning łączy zadania we wspólnej nauce; PCGrad koryguje ich wpływ na współdzielone ustawienia.
- Negative Transfer oznacza pogorszenie względem nauki bez dodatkowego zadania. PCGrad próbuje ograniczyć jeden z możliwych mechanizmów szkody.
- Stochastic Gradient Descent może wykonać krok na podstawie skorygowanych gradientów. PCGrad zmienia jego wejściową wskazówkę.
Tekst i ilustrację przygotowano z pomocą AI. Wiadomość i liczby są własnym uproszczonym przykładem edukacyjnym; demonstracja pokazuje geometrię jednego kroku, a nie trening modelu językowego.