본문 바로가기
AI-driven Methodology/XAI (eXplainable AI)

[eXplainable AI] SA (Sensitivity Analysis)

by goatlab 2022. 5. 3.
728x90
반응형
SMALL

SA (Sensitivity Analysis)

 

Sensitivity Analysis는 독립 변수의 다른 값이 주어진 가정 집합에서 특정 종속 변수에 미치는 영향을 결정한다. 즉, 민감도 분석은 수학적 모델의 다양한 불확실성 소스가 모델의 전체 불확실성에 어떻게 기여하는지 연구한다. 이 기술은 하나 이상의 입력 변수에 의존하는 특정 경계 내에서 사용된다.

 

SA는 비즈니스 세계와 경제 분야에서 사용된다. 일반적으로 재무 분석가와 경제학자가 사용하며 가정 분석이라고도 한다.

 

  • SA는 독립 변수의 다른 값이 주어진 가정 집합에서 특정 종속 변수에 미치는 영향을 결정한다.
  • 이 모델은 what-if 또는 시뮬레이션 분석이라고도 한다.
  • SA는 상장 기업의 주가를 예측하거나 금리가 채권 가격에 미치는 영향을 예측하는 데 사용할 수 있다.
  • SA를 통해 과거의 실제 데이터를 사용하여 예측할 수 있다.

 

작동 방식

 

SA는 입력 변수로 알려진 다른 변수의 변화를 기반으로 대상 변수가 어떻게 영향을 받는지 결정하는 모델이다. 이 모델은 what-if 또는 시뮬레이션 분석이라고도 한다. 특정 범위의 변수가 주어지면 결정의 결과를 예측하는 방법이다. 주어진 변수 세트를 생성함으로써 분석가는 한 변수의 변경이 결과에 미치는 영향을 결정할 수 있다.

 

SA를 수행할 때 목표 변수와 입력 변수 또는 독립 변수와 종속 변수가 모두 완전히 분석된다. 분석을 수행하는 사람은 변수가 어떻게 이동하는지와 대상이 입력 변수에 의해 어떻게 영향을 받는지 살펴본다.

 

딥러닝 모델에서 국소적 (local)인 입력 변화에 대한 예측 결과의 변화량을 정량화하여 입력 이미지의 어떤 부분이 딥러닝 모델의 결과 도출에 큰 영향을 미쳤는지 설명하는 방법이다.

 

SA는 각 입력변수 i (ex: 이미지 픽셀)의 중요도를 다음과 같이 편미분의 norm으로 계산한다.

 

 

이때, 가장 관련성이 높은 입력 특징(input feature)을 가장 민감한 특징이라 가정하고, SA는 함수값 f(x) 자체를 설명하는 것이 아니라 함수 값의 변동 (이미지의 예측값을 높이거나 낮추는 것은 무엇인지)을 설명한다.


SA로 계산된 히트맵은 이미지를 예측된 클래스와 비슷하거나 덜 비슷하게 보이게 하기 위해 어떤 픽셀을 변경해야 하는지를 나타낸다.

 

SA는 출력의 한 부분에 대한 입력의 다른 부분의 중요성을 측정하는 방법이다. 즉, 특정 클래스에 대해 높은 확률을 제공하기 위해 어떤 픽셀이 가장 중요한지 알고 싶다. 민감도 분석이 이를 측정하는 방법은 출력이 각 픽셀에 대해 얼마나 민감한지를 측정하는 것이다. 대부분의 픽셀은 자체가 변경될 때 출력을 변경하지 않은 상태로 유지해야 하지만 일부 픽셀은 신경망이 제공한 특정 출력에 중요하다. 이를 측정하기 위해 다음을 찾으면 된다.

 

 

즉, 입력 j에 대한 출력 i의 감도는 입력에 대한 출력 기울기의 절대값이다. 텐서플로우에서 이것을 다음과 같이 계산할 수 있다.

 

sensitivity = tf.abs(tf.gradients([outputs[0, output_index]], [images])[0][0])

 

여기서 'output_index'는 tf.int64 유형의 스칼라인 자리 표시자이고 'outputs'는 각 클래스에 대한 확률이 있는 softmax이며 첫 번째 인덱스는 배치 인덱스이고 두 번째 인덱스는 클래스 확률이며 'images' 첫 번째 인덱스가 배치 인덱스이고 두 번째 인덱스가 벡터 형식의 이미지인 이미지의 픽셀이다. 이 코드는 또한 배치의 첫 번째 이미지만 분석해야 한다고 가정한다. Tensorflow는 단일 스칼라의 기울기만 찾을 수 있으므로 단일 이미지의 단일 출력 민감도만 찾을 수 있기 때문이다.

다음은 MNIST 필기 숫자를 분류하도록 훈련된 단순 완전 연결된 2계층 신경망에서 시도했을 때 얻은 몇 가지 예이다.

 

 

이 heat map은 분류된 숫자에 대해 가장 높은 감도 점수를 가진 픽셀을 보여준다. 가운데 빈 공간이 0을 분류하는 데 얼마나 중요한지 알 수 있다. 4개와 9개는 왼쪽 상단 모서리에 약간의 정보가 없으면 서로 혼동하기 쉽다. 왼쪽 상단 루프를 완성하면 7을 9로 혼동할 수 있고 약간의 대각선을 그리면 5를 6 또는 8과 혼동할 수 있다.

 

https://geekyisawesome.blogspot.com/2018/11/explainable-ai-xai-sensitivity-analysis.html

 

Explainable AI (XAI): Sensitivity Analysis

Imagine you have a neural network that can classify images well. At test time, would it be enough to just know what the class of the image i...

geekyisawesome.blogspot.com

 

728x90
반응형
LIST