提案する感度分析は、入力に対する出力の偏微分を調べることに対応します。出力ベクトル言うによって与えられる。Y = F (X )、X ∈ Rと Dは入力ベクトルであり、fは関数ネットワークが実装されています。入力に対する出力のヤコビアンは次のとおりです。y∈Rmy=f(x)x∈Rdf
Jij(x)=∂∂xjfi(x)
fxΔjiΔJij(x)。
Jij(x)ijxf一般的に、非線形であり、感度のこの概念は入力に依存します。一部の地域では大きく、他の地域ではゼロに近い場合があります。出力が入力にどれだけ強く依存しているかのある種の要約尺度が必要な場合は、複数の入力値にわたって集計する必要があります。たとえば、トレーニングセットのすべての入力で平均化されたヤコビアンの絶対値を取得できます(これは、入力の基礎となる分布に対する期待値のサロゲートとして機能します)。もちろん、この種の要約では情報が破棄されるため、状況によっては誤解を招く可能性があります。
backpropで使用するパラメーターに対して損失関数の勾配を導出する方法と同様に、チェーンルールを使用してヤコビアンの式を導出できます。Theano、TensorFlowなどのライブラリを使用して、自動微分を使用して計算することもできます。ネットワークで実装する関数が微分不能でない限り、有限差分を実行する理由はほとんどありません(つまり、実際に摂動をシミュレートし、出力の変化を測定します)その場合、ヤコビアンは存在しません)。
いくつかの注意点:入力の単位/スケールが互いに異なる場合、感度も異なる単位/スケールになり、直接比較することはできません。入力の標準化/スケーリングは、可能な解決策の1つです。また、このタイプの分析はモデル自体について教えてくれますが、必ずしもデータを生成した基礎となる分布ではないことを心に留めておくことが重要です。たとえば、2つの入力が相関している場合、モデルは2番目の入力ではなく最初の入力を使用する可能性があります。この場合、最初の入力の感度は高く、2番目の入力の感度は低いことがわかりますが、一般に出力を予測するには最初の入力が本質的に重要であると結論付けるべきではありません。
この記事は興味深いものです。