Sugerowana analiza wrażliwości odpowiada badaniu częściowych pochodnych danych wyjściowych w odniesieniu do danych wejściowych. Powiedz, że wektor wyjściowy jest określony przez , gdzie jest wektorem wejściowym, a jest funkcją realizowaną przez sieć. Jakobian wyjść WRT wejść jest:y∈Rmy=f(x)x∈Rdf
Jij(x)=∂∂xjfi(x)
Jakobian podaje lokalną szybkość zmian każdego wyjścia względem każdego wejścia, więc mówi nam, jak zachowa się w odpowiedzi na nieskończenie małe zakłócenia. Jeśli zaczniemy od wejścia i dodamy nieskończenie małą wartość do tego wejścia, spodziewamy się, że ty wynik wzrośnie o .fxΔjiΔJij(x)
Jeśli ma dużą wielkość, oznacza to, że wyjście jest wrażliwe na wejście w pobliżu . Ponieważ jest zasadniczo nieliniowe, to pojęcie wrażliwości zależy od danych wejściowych; w niektórych regionach może być duży, aw innych prawie zerowy. Jeśli chcesz jakąś podsumowującą miarę tego, jak mocno dane wyjściowe zależą od danych wejściowych, musisz zagregować wiele wartości wejściowych. Na przykład, możesz wziąć wartość bezwzględną jakobianu, uśrednioną dla wszystkich danych wejściowych w zestawie treningowym (który działa jako surogat dla wartości oczekiwanej względem podstawowego rozkładu danych wejściowych). Oczywiście tego rodzaju podsumowanie spowoduje odrzucenie informacji, więc w niektórych okolicznościach może być mylące.Jij(x)ijxf
Możesz użyć reguły łańcuchowej, aby uzyskać wyrażenie dla jakobianów, podobnie jak wyprowadzasz gradient funkcji straty wrt parametry do użycia z backprop. Można go również obliczyć za pomocą automatycznego różnicowania, używając biblioteki takiej jak Theano, TensorFlow itp. Nie ma zbyt wiele powodów, aby wykonywać różnicowanie skończone (tj. Symulować perturbację i mierzyć zmianę wyniku), chyba że funkcja, którą implementuje twoja sieć, nie jest rozróżnialna ( w takim przypadku jakobian nie istnieje).
Kilka zastrzeżeń: jeśli dane wejściowe mają różne jednostki / skale od siebie, wrażliwości będą miały również różne jednostki / skale i nie można ich bezpośrednio porównać. Standaryzacja / skalowanie danych wejściowych jest jednym z możliwych rozwiązań. Należy również pamiętać, że ten rodzaj analizy mówi nam o samym modelu, ale niekoniecznie o podstawowej dystrybucji, która wygenerowała dane. Na przykład, jeśli dwa dane wejściowe są skorelowane, model może skończyć się na pierwszym, ale nie drugim. W tym przypadku stwierdzilibyśmy, że czułość jest wysoka dla pierwszego wejścia i niska dla drugiego, ale nie należy wyciągać wniosku, że pierwsze wejście jest z natury ważniejsze dla ogólnego prognozowania wyjścia.
Ten artykuł powinien być interesujący.