Die von Ihnen vorgeschlagene Empfindlichkeitsanalyse entspricht der Untersuchung der partiellen Ableitungen der Ausgänge in Bezug auf die Eingänge. Angenommen, der Ausgabevektor ist gegeben durch y = f (y∈Rm , wobei x ∈ R d der Eingangsvektor ist und f die Funktion ist, die das Netzwerk implementiert. DerJacobider Ausgänge für die Eingänge ist:y=f(x)x∈Rdf
Jij(x)=∂∂xjfi(x)
Der Jacobi gibt die lokale Änderungsrate jedes Ausgangs in Bezug auf jeden Eingang an, und gibt an, wie sich als Reaktion auf infinitesimale Störungen verhält. Wenn wir mit der Eingabe x beginnen und dem j einen infinitesimalen Wert Δ hinzufügenfxΔj ten Eingang , erwarten wir, dass sich der te Ausgang um Δ J i j ( x ) erhöht .iΔJij(x)
Wenn ich eine große Größe hat, bedeutet dies, dass der Ausganggegenüber dem Eingangin der Nähe vonempfindlich ist. WeilJij(x)ijxfist im Allgemeinen nichtlinear, dieser Begriff der Empfindlichkeit hängt von der Eingabe ab; es kann in einigen Regionen groß und in anderen nahe null sein. Wenn Sie eine Art zusammenfassendes Maß dafür haben möchten, wie stark die Ausgaben von den Eingaben abhängen, müssen Sie über mehrere Eingabewerte aggregieren. Sie können beispielsweise den über alle Eingaben in der Trainingsmenge gemittelten absoluten Wert des Jacobian verwenden (der als Ersatz für den erwarteten Wert für die zugrunde liegende Verteilung der Eingaben dient). Natürlich werden bei dieser Art der Zusammenfassung Informationen verworfen, was unter bestimmten Umständen irreführend sein kann.
Sie können die Kettenregel verwenden, um einen Ausdruck für die Jacobi-Funktion abzuleiten, ähnlich wie Sie den Gradienten der Verlustfunktion für die mit backprop verwendeten Parameter ableiten würden. Sie können es auch mit automatischer Differenzierung berechnen, indem Sie eine Bibliothek wie Theano, TensorFlow usw. verwenden. Es gibt nicht viel Grund, eine endliche Differenzierung durchzuführen (dh die Störung tatsächlich zu simulieren und die Änderung der Ausgabe zu messen), es sei denn, die von Ihrem Netzwerk implementierte Funktion ist nicht differenzierbar ( in diesem Fall existiert der Jakobianer nicht).
Ein paar Vorsichtsmaßnahmen: Wenn die Eingänge unterschiedliche Einheiten / Skalen haben, haben die Empfindlichkeiten auch unterschiedliche Einheiten / Skalen und können nicht direkt verglichen werden. Eine mögliche Lösung ist die Standardisierung / Skalierung der Eingänge. Es ist auch wichtig zu bedenken, dass diese Art der Analyse uns über das Modell selbst informiert, jedoch nicht unbedingt über die zugrunde liegende Verteilung, die die Daten generiert hat. Wenn beispielsweise zwei Eingaben korreliert sind, verwendet das Modell möglicherweise die erste, jedoch nicht die zweite. In diesem Fall würden wir feststellen, dass die Empfindlichkeit für den ersten Eingang hoch und für den zweiten niedrig ist, sollten aber nicht den Schluss ziehen, dass der erste Eingang für die Vorhersage des Ausgangs im Allgemeinen von Natur aus wichtiger ist.
Dieser Artikel sollte von Interesse sein.