해당 시리즈는 LG에서 지원하는 LG Aimers의 교육 내용을 정리한 것으로, 모든 출처는 https://www.lgaimers.ai/ 입니다.
XAI
기법을 평가할 때, 사람들이 직접 해당 방법들이 만들어낸 설명을 보고 비교 평가하는 방식이 존재한다.
amt
방법은 2가지의 XAI
를 직접적으로 비교하여 예측과 예측에 대한 설명을 추출한 뒤, 사람에게 설명을 보여주고 정답을 맞춰보게끔 하는 방식이다.
위 방식으로 guided Backprop
와 Guided Grad-CAM
방식을 비교하면, Guided Grad-CAM
이 높은 점수를 얻는다.
또 다른 방식으로, 주어진 이미지에 대해 사람이라고 답하면, 그에 대한 다른 설명 2개를 보여주고, 어느 쪽이 더 사람에 가까운지 고르는 식으로, 이 역시 사람이 관여한다.
해당 테스트에서도 위와 마찬가지로 Guided Grad-CAM
방식이 더 좋다고 나왔다.
위의 방법들의 경우 사람이 개입하기 때문에 쉽게 비교가 가능하지만, 사람이 직접 진행하기에는 값도 비싸고 시간도 오래걸리는 단점이 존재한다.
human annotation
기법은 사람들이 이미 만들어 놓은 annotation
을 이용하는 방식이다.
object detection
이나 semantic segmentation
모델을 학습하기 위한 학습 데이터셋에서는 오른쪽 그림처럼 주어진 객체에 대한 bounding box
나 pixel label
에 labeling
이 되어있는 semantic segmentation map
이 이미 제공된다.
pointing game
은 bounding box
를 활용해 평가하는 방법이다.
각 이미지 i
에 대한 bounding box
B
가 주어질 때, 이미지에 대한 설명 h
를 구한다.
예를 들어, Grad-CAM
의 경우, 모델의 분류에 가장 중요도가 높은 픽셀 p
가 주어진 bounding box
안에 들어가는지를 보고 평가를 진행한다.
위의 고양이 그림을 예로 들면, 고양이의 bounding box
가 있을 때, XAI
방법이 가장 중요하다고 보여주는 픽셀이 사람이 만든 bounding box
안에 있는 경우, 좋은 설명이라고 칭한다.
weakly supervised semantic segmentation
기법은 어떤 이미지에 대해 분류 label
만 주어졌을 때, 그것을 활용하여 픽셀별로 객체의 label
을 예측하는 semantic segmentation
을 수행하는 방법이다.
해당 기법에서는 IoU
가 사용되는데, 이는 Intersection over Union
의 줄임말로 정답 map
과 만들어낸 segmentation map
이 얼마나 겹치는지를 평가하는 metric
이다.
weakly supervised
의 뜻은, 픽셀별로 정답 label
이 모두 주어지지 않았음을 의미한다.
이러한 metric
값을 통해 XAI
기법으로 만들어낸 semantic segmentation
결과가 좋을 수록 XAI
가 더 좋다고 판단한다.
해당 기법은 매번 사람이 직접 activation
을 제공하는데, 이를 처리하는 비용이 높고 데이터를 구하기 쉽지않다. 또한, bounding box
나 segmentation label
이 진짜 좋은 설명을 제공하는지 명확하지 않은 문제점이 있다.
pixel perturbation
기법은 픽셀들을 교란함으로써 모델의 출력 값이 어떻게 변하는지를 직접 테스트 해보는 방식이다.
만약 위의 그림에서 모델이 이미지를 'castle' 로 분류했을 때 성에 대한 분류 score
가 11인데, 일부를 가리고 모델에 넣으니 score
가 떨어졌다. 어디를 가리느냐에 따라 score
가 달라질텐데, 이때 score
를 많이 변하게 하는 부분이 중요한 부분이라고 생각한다.
aopc
는 주어진 이미지에 대해 각각의 XAI
기법이 설명을 제공하면, 제공한 설명의 중요도 순서대로 각 픽셀들을 정렬하여 그 순서대로 픽셀들을 교란했을 때 원래 예측한 분류 score
값이 얼마나 빨리 바뀌는지를 측정하는 기법이다.
만약 어떤 XAI
기법들이 만들어낸 중요도 픽셀들을 중요도 순서대로 교란했을 때, 모델의 출력 score
가 떨어질 것이고, 떨어지는 graph
를 생각해볼 수 있다.
교란이 많이 발생할 수록 출력 score
는 떨어진다.
본 그래프에서 그래프의 형상이 클수록 score
가 더 빨리 떨어짐을 의미하여, 정렬된 score
를 제공한 설명방법이 더 좋은 설명이라고 판단한다. 본 그림에서는 Deconv
나 Sensitivity
보다 LRP
가 우수한 성능을 보인다.
deletion
은 aopc
와 비슷하게 XAI
에서 제공한 중요 순서대로, 픽셀 하나하나 지워가며 얼마나 분류 score
값이 떨어지는지 보는 것으로, aopc
와는 반대로 curve
의 아래쪽 면적을 구한다. 즉, detletion
값이 작을수록 좋은 설명이다.
insertion
은 백지 상태의 이미지에서 중요한 순서대로 픽셀을 추가해가면서 classifier
에 출력 score
값이 올라가는 그래프의 아래 면적을 구한다. 즉, 면적이 클수록 좋은 설명이다.
위 방법들은 사람의 직접적인 평가나 annotation
을 활용하지 않으면서도 객관적이고 정량적인 평가 지표를 얻을 수 있다는 장점이 있다.
하지만, 주어진 입력의 데이터를 지우거나 추가하는 과정을 통해 model score
를 보는데, 이런 변화가 머신러닝의 주요 가정을 위반하는 경우가 존재한다.
-> 이미지의 어떤 픽셀을 지우고 model
에 넣었을 때, 해당 이미지들은 model
을 학습시킨 학습 이미지와 다르기에, 출력 score
의 변화가 정확하다고 보기 어려운 것
예를 들어, 위 그림의 경우 balloon
이라는 클래스의 score
가 상승하여 성에 대한 정확한 식별을 방해할 수 있다.
roar
는 XAI
기법이 생성한 주요한 피셀을 지우고나서 지운 데이터를 활용해 모델을 재학습한 뒤, 정확도가 얼마나 떨어지는지를 평가해보는 과정을 취하는 기법이다.
XAI
가 중요하다고 한 픽셀을 지우고 학습해본 뒤, 해당 클래스에 대한 정확도가 많이 감소할 경우에는 좋은 설명으로 취급하고, 반대라면 설명이 정확하지 않다고 결론을 낸다.
해당 기법은 조금 더 객관적이고 정확한 평가를 할 수 있는 장점이 있지만, 픽셀을 지우고나서 모델을 매번 재학습해야하므로, 계산복잡도가 매우 높아지는 단점이 있다.
model randomization
기법은 이미지에 대한 예측 결과를 얻고, 결과에 대한 설명을 픽셀 별로 하이라이트 하는 방법들은 Edge Detector
와 같이 이미지 내 object
를 하이라이트 하는가? 라는 의문을 가진다.
이를 해결하기 위해 주어진 분류모델의 위쪽 레이어부터 모델의 계수들을 순차적으로 randomize
한 후, 얻어지는 설명을 구해보는 테스트를 진행한다.
이를 통해, randomization
을 진행해도, 크게 설명이 바뀌지 않고, 여전히 객체를 하이라이트하는, 마치 Edge Detector
와 같이 동작하는 XAI
기법을 걸러낼 수 있다.
어떤 이미지에 대한 설명을 위 그림의 1열처럼 얻는다고 생각하면, 별 문제가 없이 정상적으로 강아지를 잘 추출해냄을 알 수 있다. 하지만, 입력 이미지의 픽셀들을 아주 약간 바꾸면 예측은 강아지를 내보내고 있지만 2열의 설명과 같이 이상한 결과를 냄을 알 수 있다.
adversarial attack
은 입력 이미지에 약간의 변형을 가해, classifier
에 예측 결과를 완전히 다르게 만들 수 있다는 내용인데, 해당 부분에서는 classifier
의 예측은 그대로 유지하며, 설명 방법을 공격한다.
이는, 주어진 딥러닝 모델의 decision boundary
가 smooth
하지않고, 울퉁불퉁 형성되기 때문이라고 설명한다. 즉, 많은 설명 방법들이 gradinet
와 연산된 값을 사용하는데 decision boundary
가 불연속적으로 나오게 된다면 gradient
의 방향이 급격하게 변할 수 있어 입력이 조금만 바뀌어도 gradient
는 아주 많이 바뀔 수 있다는 말이다.
이때, activation function
으로 ReLU
를 사용하지 않고, softplus
를 사용하면 adversarial attack
에 좀 더 강인한 모델 만들기가 가능하다.
위 그림의 결과와 같이, ReLU
대신 softplus
를 사용할 경우 adversarial attack
에 좀 더 강인한 결과를 내보낸다.
adversarial model manipulation
은 입력을 바꿔서만 공격이 가능해지는 것이 아니라 모델을 조작할 수도 있다는 아이디어로, 예를 들어 특정 model
을 만든 개발자가 XAI
방법을 통해 model
이 편향되었음을 알았을 때, 해당 model
을 편향되지 않도록 고치는 재학습을 진행하는 것이 아니라 model
의 계수 W
를 조금씩만 조작해서 model
의 정확도는 차이가 없지만 XAI
로 만들어낸 설명만 마치 공정한 model
인 것 처럼 조작이 가능하다.
위 그림처럼 XAI
를 통해 모델 편향성을 검증하려고 했을 때, 해당사항이 없도록 조작할 수 있다.
해당 방법은 입력을 조작하는 것과는 다른 공격이며, 해당 공격 기법을 제안한 논문에서는 정확도의 감소는 거의 없지만, 전체 validation set
에 대한 설명이 모두 조작됨을 보였다.
여전히 실제 모델은 원래 중요하게 생각했던 것을 보고있고, 설명만 조작된 것임을 알 수 있다.