W Cogicie wierzymy, że kolejna generacja AI powinna być bardziej modularna, wyspecjalizowana, efektywna, audytowalna i łatwiejsza do debugowania - a nie tylko coraz większa i coraz bardziej trudna w utrzymaniu. Osiągnięcie tego celu wymaga łączenia praktycznych wdrożeń z badaniami podstawowymi nad tym, jak sieci neuronowe reprezentują i wykorzystują informacje.
W poniższym artykule nasz AI Research Lead, Maciej Satkiewicz, przedstawia Semantic Pullbacks: nowe podejście do rozumienia głębokich sieci neuronowych, opracowane w ramach jego badań prowadzonych w Fundacji 314. Ta praca jest przykładem mostu, który chcemy budować między badaniami podstawowymi a systemami AI, które są łatwiejsze w analizie, utrzymaniu i praktycznych wdrożeniach.
Uważamy, że tego rodzaju zróżnicowanie techniczne ma szczególne znaczenie dla Europy, która powinna poszukiwać nowych kierunków rozwoju, zamiast konkurować wyłącznie poprzez skalowanie rozwiązań opracowanych w Stanach Zjednoczonych i Chinach. Artykuł ma charakter techniczny, ale szersze pytanie jest proste: czy potrafimy stworzyć sztuczną inteligencję, która będzie nie tylko potężna, ale także bardziej zrozumiała i łatwiejsza do kontrolowania?
Głębokie sieci neuronowe są bardzo potężne, ale wciąż trudno je zrozumieć. Możemy je trenować, wdrażać, douczać i mierzyć ich skuteczność. Kiedy jednak zadajemy proste pytanie - co dokładnie wpłynęło na decyzję modelu? - odpowiedź okazuje się często zaskakująco krucha.
W modelu liniowym wyjaśnienie jest naturalne. Wektor wag wskazuje preferowany przez model kierunek w przestrzeni wejść. Jeśli zwizualizujemy ten wektor, zobaczymy, czego model „szuka” - ponieważ oblicza iloczyn skalarny między wejściem a wektorem wag, wektor wag bezpośrednio mówi nam, jaki wzorzec zwiększa wynik modelu.
Pytanie brzmi: jak uogólnić ten sposób wyjaśniania na głębsze sieci?
Powszechnie stosowanym podejściem jest wykorzystanie gradientu, ponieważ pokrywa się on z wektorem wag w modelach liniowych. Istnieje jednak bardziej naturalna alternatywa - pullback.
Gradient mówi nam, jak wynik modelu zmienia się pod wpływem nieskończenie małej zmiany wejścia. Jest to więc miara lokalnej wrażliwości na zaburzenia. Nie musi jednak być najlepszym opisem tego, czego „oczekuje” neuron. Taki opis powinien idealnie mówić nam, jaki wzorzec w przestrzeni wejść neuron lokalnie traktuje jako swój preferowany kierunek - podobnie jak wektor wag w modelu liniowym.
Zauważmy, że sieć złożona z wielu warstw zachowuje się jak operator afiniczny warunkowany wejściem: bramki ReLU włączają się i wyłączają; warstwy poolingowe wybierają ścieżki przepływu sygnału; warstwy attention decydują, które tokeny wchodzą ze sobą w interakcję, ustalając ich score; warstwy normalizacyjne są wprost skalowaniem afinicznym. Dla danego sygnału wejściowego wszystkie te przełączniki są jednak ustalone.
Dlatego sieć można postrzegać jako obliczenie liniowe zależne od wejścia (albo afiniczne, jeśli uwzględnimy biasy). Naturalnym wyjaśnieniem neuronu docelowego nie jest wtedy gradient, lecz punktowa transpozycja tego efektywnego operatora, czyli jego działanie sprzężone. To właśnie nazywam pullbackiem, inspirując się geometrią różniczkową.
W modelu liniowym mamy:
score = < weight, input >
Wektor wag jest wyjaśnieniem, ponieważ reprezentuje preferowany przez model kierunek w przestrzeni wejść.
Dla głębokiej sieci, przy ustalonym wejściu, często możemy lokalnie zapisać obliczenie jako:
output = W(x) x
gdzie jest efektywnym, dynamicznym operatorem afinicznym sieci dla wejścia W(x).x
Jeśli wybierzemy neuron docelowy (np. kierunek klasy u w przestrzeni wyjściowej), jego wynik można przedstawić jako iloczyn skalarny w przestrzeni wejść:
score = < pullback, input >
Pullback otrzymujemy, przenosząc kierunek docelowy wstecz przez transpozycję efektywnego operatora:
pullback = W(x)^T u
To bezpośrednie uogólnienie wyjaśnienia modelu liniowego.
Kluczowy punkt jest subtelny, ale ważny: pullback zasadniczo nie jest tym samym co gradient.
Gradient różniczkuje również to, jak efektywny operator zmienia się wraz z wejściem. Zawiera więc dodatkowe składniki pochodzące z bramek, routingu, statystyk warstw, map attention i innych mechanizmów zależnych od wejścia.
Pullback robi coś innego. Pyta: biorąc pod uwagę obliczenie, którego sieć faktycznie użyła dla tego wejścia, jaki wektor w przestrzeni wejść reprezentuje (lokalnie) działanie tego neuronu docelowego?
To jest bliższe pierwotnej intuicji stojącej za wizualizacją filtra liniowego.
Standardowy pullback jest już lepiej dopasowany do dynamicznie afinicznego spojrzenia na obliczenia neuronowe. Ale pozostaje jeszcze jeden problem.
Cechy kodowane przez neuron często nie są w pełni wyrażone w pojedynczym punkcie wejściowym. Mogą być częściowo aktywne, np. tłumione przez twardą bramkę albo rozproszone między wieloma słabo kontrybuującymi komponentami. Jednostka ReLU może znajdować się tuż poniżej progu aktywacji. Warstwa poolingowa może przekierować większość sygnału przez jedną lokalizację, podczas gdy pobliskie alternatywy nadal zawierają semantycznie istotną informację.
To sugeruje, że sensowne wyjaśnienie nie zawsze jest surowym, punktowym pullbackiem, ale raczej lokalnie oczekiwanym pullbackiem: pullbackiem, który otrzymalibyśmy, uśredniając po małym otoczeniu danego wejścia.
Metody samplingowe, takie jak SmoothGrad już wskazują na tę intuicję. Dodają szum do wejścia, obliczają wiele gradientów i je uśredniają. Często daje to wyjaśnienia bardziej spójne z ludzką percepcją, ale to jest kosztowna heurystyka.
Semantic Pullbacks realizują tę samą ideę bardziej bezpośrednio: zamiast próbkować wiele zaburzonych wejść, modyfikujemy wyłącznie propagację wstęczną.
Twarde albo strome bramki w backward pass zostają zmiękczone. Na przykład twardą maskę ReLU można zastąpić w przejściu wstecznym gładką bramką warunkowaną wejściem, np. sigmoidem preaktywacji. Obliczenie w przód (forward pass) pozostaje dokładnie takie samo, więc predykcja modelu się nie zmienia. Zmienia się tylko reguła wyjaśniania.
W ten sposób otrzymujemy Soft Pullback: praktyczną aproksymację lokalnie oczekiwanego pullbacku.
Soft Pullback odzyskuje słabe, ale konsekwentnie kontrybuujące komponenty, które standardowy backward pass może tłumić. W praktyce często zamienia to zaszumione, pofragmentowane wyjaśnienia w bardziej spójne struktury.
Gdy mamy już pole wektorowe (zmiękczonych) pullbacków, możemy lekko przesunąć wejście w kierunku lokalnie preferowanym przez neuron docelowy i ponownie obliczyć pullback. Powtórzenie tego przez kilka kroków daje Pullback Ascent.
Jest to analogiczne do gradient ascent, ale z kluczową zmianą: poruszamy się w kierunku pullbacku, a nie gradientu.
Różnica jest widoczna gołym okiem. Gradient ascent w nowoczesnych sieciach często tworzy zaszumione wzorce przypominające perturbacje adwersaryjne. Pullback Ascent częściej ujawnia spójne i zrozumiałe dla człowieka struktury warunkowane klasą wyjściową. Wzmacnia lokalnie preferowany kierunek neuronu docelowego, zamiast jedynie amplifikować surową wrażliwość na perturbacje.
Dzięki temu metoda jest użyteczna nie tylko dla atrybucji, ale także dla lokalnych kontrfaktycznych przykładów. Możemy zapytać: co musiałoby stać się bardziej widoczne na tym obrazie, aby model przesunął predykcję w stronę innej klasy? Pullback Ascent daje na to zrozumiałą dla człowieka odpowiedź.
W eksperymentach na standardowych pretrenowanych modelach wizyjnych, obejmujących zarówno architektury konwolucyjne, jak i modele transformerowe, Semantic Pullbacks dają wyjaśnienia bardziej wierne, stabilne i specyficzne względem klasy docelowej, a przy tym znacznie bardziej spójne wizualnie niż standardowe baseline’y oparte na gradientach.
Najważniejszy wynik jest jednak konceptualny: gradienty nie są jedynym naturalnym sygnałem wstecznym w deep learningu. Jeśli chcemy zrozumieć, co „widzi” sieć neuronowa, nie powinniśmy pytać wyłącznie o to, jak wynik zmienia się, gdy zmienia się wejście. Powinniśmy zapytać, jaki kierunek w przestrzeni wejść reprezentuje aktualne obliczenie sieci dla neuronu docelowego.
Tym kierunkiem jest Semantic Pullback.
Jednym z najciekawszych rezultatów tej pracy jest to, że Semantic Pullbacks łączą kilka idei, które wcześniej wyglądały na odrębne. To połączenie jest jednak bardziej konkretne niż proste stwierdzenie, że wszystkie te metody „poprawiają gradienty”.
B-cos modele są szczególnie bliskie naszej perspektywie. One już używają standardowego pullbacku jako wyjaśnienia: przenoszą kierunek wyjściowy wstecz przez efektywny operator liniowy sieci. Jednak autorzy dodatkowo modyfikują model i dodają cele alignmentowe podczas treningu, aby standardowy pullback był lepiej wyrównany z wejściem.
Semantic Pullbacks wybierają inną drogę. Nie zmieniamy forward pass i nie douczamy modelu. Zamiast tego obliczamy lokalnie oczekiwany pullback bezpośrednio na standardowym, pretrenowanym modelu.
To tłumaczy także relację do metod wygładzania gradientów, takich jak SmoothGrad. Metody te można interpretować jako próbę odzyskania lokalnej wartości oczekiwanej przez próbkowanie zaszumionych zaburzeń i uśrednianie otrzymanych wyjaśnień. Semantic Pullbacks dążą do podobnego celu, ale aproksymują lokalnie oczekiwany pullback za pomocą jednego, zmodyfikowanego backward pass, zamiast przez stochastyczne próbkowanie.
Z kolei Pullback Ascent łączy tę metodę z feature accentuation. Standardowo, metoda ta używa gradientów i dlatego zwykle wymaga silnej regularyzacji, aby uniknąć zaszumionych wzorców. Zastąpienie kierunku gradientu kierunkiem soft pullbacku daje bardziej spójną procedurę lokalnego wzmacniania: dzieki temu nie polegamy na ciężkim postprocessingu.
Istnieje też związek z robust optimization. Modele trenowane adwersaryjnie często mają bardziej spójne percepcyjnie gradienty, ponieważ ich funkcje decyzyjne stają się bardziej lokalnie stabilne wokół rozmaitości, na której żyją dane. Z naszej perspektywy jest to spójne z ideą, że modele uczą się cech dopasowanych do wejścia niekoniecznie w pojedynczym punkcie, ale w lokalnej wartości oczekiwanej. Semantic Pullbacks odsłaniają tę strukturę bez konieczności kosztownej optymalizacji.
Szerszy morał jest taki, że wiele skutecznych metod wyjaśniania można rozumieć jako różne próby odzyskania stabilnego kierunku w przestrzeni wejść, który reprezentuje działanie neuronu docelowego. Semantic Pullbacks czynią ten obiekt jawnym: nie jako gradient, ale jako lokalnie oczekiwany pullback efektywnego obliczenia sieci.
Dziś gradienty są fundamentalnym komponentem bibliotek deep learningowych. Jeśli jednak głębokie sieci są dynamicznymi systemami afinicznymi, to sprzężone przenoszenie działania neuronu powinno być dostępne obok pochodnej. Innymi słowy, pullback powinien być równorzędnym elementem bibliotek, obok gradientu.
Nie wymagałoby to istotnego przeprojektowania sieci neuronowych. W wielu warstwach pullback i gradient już się pokrywają. Dla warstw liniowych, konwolucji i połączeń rezydualnych standardowy backward pass wystarczy. Niewielkie różnice pojawiają się w stosunkowo małym katalogu mechanizmów: bramkach, operacjach routingu, warstwach normalizacyjnych i attention.
Dzięki temu pomysł jest praktyczny. Semantic Pullbacks można zaimplementować jako opcjonalne reguły propagacji wstecznej, pozostawiając forward pass bez zmian. Można wręcz argumentować, że jeśli pullbacki okażą się lepsze dla optymalizacji, mogą pewnego dnia zastąpić gradienty także podczas treningu - skoro już okazały się lepsze w generowaniu wyjaśnień.
Semantic Pullbacks sugerują nowy sposób pracy z przestrzenią reprezentacji modelu. Poza atrybucją, Pullback Ascent może służyć do badania, jakie struktury model kojarzy z neuronem, klasą albo wewnętrzną cechą (neuronem ukrytym). Może to wspierać odkrywanie wiedzy w domenach naukowych (knowledge discovery), bardziej sensowne kontrfaktyczne przykłady i interpolacje oraz lepszą diagnostykę błędów modeli.
Te same pomysły naturalnie rozszerzają się na tekst. Semantic Pullbacks mogą pomagać w wydobywaniu evidence stojącego za predykcją, identyfikowaniu struktur argumentacyjnych i generowaniu kontrfaktycznych wariantów pokazujących, co musiałoby się zmienić, aby model wspierał inną tezę, etykietę lub odpowiedź.
Mogą też być użyteczne w modelowaniu języka i modelowaniu multimodalnym. W przypadku modeli językowych, atrybucja oparta na pullbackach może wskazywać, które tokeny, fragmenty tekstu albo wewnętrzne cechy najmocniej ukształtowały predykcję następnego tokenu. W wideo i innych modalnościach sekwencyjnych ta sama idea może pomóc śledzić, które klatki, obiekty lub sekwencje wpływają na kontynuację albo decyzję modelu.
Ta perspektywa może również wesprzeć model editing, pruning i continual learning. Jeśli pullbacki ujawniają, które komponenty niosą spójne semantyczne evidence, mogą pomóc wskazać, które części modelu są użyteczne, redundantne, niestabilne albo odpowiedzialne za nowe zachowanie.
Kolejnym otwartym kierunkiem jest sam trening. Najnowsze prace sugerują, że zmiana backward passu może poprawiać uczenie. Semantic Pullbacks oferują szerszą interpretację tego zjawiska: sprzężone sygnały wsteczne mogą dawać czystszą reprezentację kierunku, którego neuron lokalnie używa - zamiast mieszać go z efektami bramek, routingu, normalizacji czy attention. To ma potencjał poprawić nie tylko wyjaśnienia, ale także samą generalizację.
Jeżeli interesują Cię Semantic Pullbacks, alternatywne backward passy, interpretowalność modeli językowych albo trening i adaptacja oparte na pullbackach, odezwij się do nas!
Nota redakcyjna: Badania opisane w tym artykule zostały przeprowadzone w Fundacja 314 we współpracy z American University i AGH University of Kraków. Cogita publikuje ten artykuł jako zaprzyjaźniony partner w szerszej społeczności AI. Preprint pracy można znaleźć na arxiv, a interaktywne demo na HuggingFace.