Аналіз чутливості, який ви пропонуєте, відповідає вивченню часткових похідних виходів стосовно входів. Скажімо, вихідний вектор задається , де - вхідний вектор, а - функція, яку реалізує мережа. Якобіан з виходів WRT входів: y = f ( x ) x ∈ R d fy∈Rmy=f(x)x∈Rdf
Jij(x)=∂∂xjfi(x)
Якобіан дає локальну швидкість зміни кожного вихідного сигналу на кожен вхід, тому він говорить нам, як буде поводитись у відповідь на нескінченно малі збурення. Якщо ми почнемо з введення і додамо нескінченно мале значення до го вводу, ми очікуємо, що й вихід збільшиться на .x Δ j i Δ J i j ( x )fxΔjiΔJij(x)
Якщо має велику величину, це означає, що вихід є чутливим до входу поблизу від . Оскільки , як правило, нелінійне, це поняття чутливості залежить від входу; в деяких регіонах він може бути великим і в інших майже нульовим. Якщо ви хочете отримати якийсь підсумковий вимір того, наскільки сильно залежать результати від входів, вам доведеться агрегувати кілька вхідних значень. Наприклад, ви можете взяти абсолютне значення якобіян, усереднене за всіма входами в навчальному наборі (що виступає сурогатом для очікуваного значення wrt основного розподілу входів). Звичайно, такий підсумок призведе до відкидання інформації, тому може ввести в оману за певних обставин.i j x fJij(x)ijxf
Ви можете використовувати правило ланцюга, щоб отримати вираз для якобіан, аналогічно тому, як ви отримаєте градієнт функції втрати wrt параметрів для використання з backprop. Ви також можете обчислити його, використовуючи автоматичну диференціацію, використовуючи бібліотеку на кшталт Theano, TensorFlow і т. Д. Існує не так багато причин для здійснення кінцевої диференціації (тобто насправді імітувати збурення і вимірювати зміну у виході), якщо тільки функція, яку реалізує ваша мережа, не відрізняється ( в такому випадку якобійців не існує).
Пара застережень: Якщо входи мають різні одиниці / масштаби, ніж один одного, чутливість також матиме різні одиниці / масштаби, і їх неможливо порівняти безпосередньо. Стандартизація / масштабування входів - одне можливе рішення. Також важливо пам’ятати, що цей тип аналізу говорить нам про саму модель, але не обов’язково про базовий розподіл, який генерував дані. Наприклад, якщо два входи співвідносяться, модель може закінчитися використанням першого, але не другого. У цьому випадку ми виявимо, що чутливість висока для першого входу і низька для другого, але не слід робити висновок, що перший вхід по суті важливіший для прогнозування виходу в цілому.
Ця стаття повинна зацікавити.