Explainable AI - 3

KangMyungJoe·2022년 7월 21일
0

lgaimers

목록 보기
17/23

해당 시리즈는 LG에서 지원하는 LG Aimers의 교육 내용을 정리한 것으로, 모든 출처는 https://www.lgaimers.ai/ 입니다.


XAI 기법을 평가할 때, 사람들이 직접 해당 방법들이 만들어낸 설명을 보고 비교 평가하는 방식이 존재한다.

AMT : Amazon Mechanical Turk

amt 방법은 2가지의 XAI를 직접적으로 비교하여 예측과 예측에 대한 설명을 추출한 뒤, 사람에게 설명을 보여주고 정답을 맞춰보게끔 하는 방식이다.

위 방식으로 guided BackpropGuided Grad-CAM 방식을 비교하면, Guided Grad-CAM이 높은 점수를 얻는다.

또 다른 방식으로, 주어진 이미지에 대해 사람이라고 답하면, 그에 대한 다른 설명 2개를 보여주고, 어느 쪽이 더 사람에 가까운지 고르는 식으로, 이 역시 사람이 관여한다.

해당 테스트에서도 위와 마찬가지로 Guided Grad-CAM 방식이 더 좋다고 나왔다.

위의 방법들의 경우 사람이 개입하기 때문에 쉽게 비교가 가능하지만, 사람이 직접 진행하기에는 값도 비싸고 시간도 오래걸리는 단점이 존재한다.


Human Annotation

human annotation 기법은 사람들이 이미 만들어 놓은 annotation을 이용하는 방식이다.

object detection이나 semantic segmentation 모델을 학습하기 위한 학습 데이터셋에서는 오른쪽 그림처럼 주어진 객체에 대한 bounding boxpixel labellabeling이 되어있는 semantic segmentation map이 이미 제공된다.

Pointing Game

pointing gamebounding box를 활용해 평가하는 방법이다.

각 이미지 i에 대한 bounding box B가 주어질 때, 이미지에 대한 설명 h를 구한다.

예를 들어, Grad-CAM의 경우, 모델의 분류에 가장 중요도가 높은 픽셀 p가 주어진 bounding box안에 들어가는지를 보고 평가를 진행한다.

위의 고양이 그림을 예로 들면, 고양이의 bounding box가 있을 때, XAI 방법이 가장 중요하다고 보여주는 픽셀이 사람이 만든 bounding box 안에 있는 경우, 좋은 설명이라고 칭한다.

Weakly Supervised Semantic Segmentation

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 boxsegmentation label이 진짜 좋은 설명을 제공하는지 명확하지 않은 문제점이 있다.

Pixel Perturbation

pixel perturbation 기법은 픽셀들을 교란함으로써 모델의 출력 값이 어떻게 변하는지를 직접 테스트 해보는 방식이다.

만약 위의 그림에서 모델이 이미지를 'castle' 로 분류했을 때 성에 대한 분류 score가 11인데, 일부를 가리고 모델에 넣으니 score가 떨어졌다. 어디를 가리느냐에 따라 score가 달라질텐데, 이때 score를 많이 변하게 하는 부분이 중요한 부분이라고 생각한다.

AOPC : Area Over MoRF Perturbation Curve)

aopc는 주어진 이미지에 대해 각각의 XAI 기법이 설명을 제공하면, 제공한 설명의 중요도 순서대로 각 픽셀들을 정렬하여 그 순서대로 픽셀들을 교란했을 때 원래 예측한 분류 score 값이 얼마나 빨리 바뀌는지를 측정하는 기법이다.

만약 어떤 XAI 기법들이 만들어낸 중요도 픽셀들을 중요도 순서대로 교란했을 때, 모델의 출력 score가 떨어질 것이고, 떨어지는 graph를 생각해볼 수 있다.

교란이 많이 발생할 수록 출력 score는 떨어진다.

본 그래프에서 그래프의 형상이 클수록 score가 더 빨리 떨어짐을 의미하여, 정렬된 score를 제공한 설명방법이 더 좋은 설명이라고 판단한다. 본 그림에서는 DeconvSensitivity보다 LRP가 우수한 성능을 보인다.

Insertion and Deletion

deletionaopc와 비슷하게 XAI에서 제공한 중요 순서대로, 픽셀 하나하나 지워가며 얼마나 분류 score 값이 떨어지는지 보는 것으로, aopc와는 반대로 curve의 아래쪽 면적을 구한다. 즉, detletion 값이 작을수록 좋은 설명이다.

insertion은 백지 상태의 이미지에서 중요한 순서대로 픽셀을 추가해가면서 classifier에 출력 score 값이 올라가는 그래프의 아래 면적을 구한다. 즉, 면적이 클수록 좋은 설명이다.

위 방법들은 사람의 직접적인 평가나 annotation을 활용하지 않으면서도 객관적이고 정량적인 평가 지표를 얻을 수 있다는 장점이 있다.

하지만, 주어진 입력의 데이터를 지우거나 추가하는 과정을 통해 model score를 보는데, 이런 변화가 머신러닝의 주요 가정을 위반하는 경우가 존재한다.

-> 이미지의 어떤 픽셀을 지우고 model에 넣었을 때, 해당 이미지들은 model을 학습시킨 학습 이미지와 다르기에, 출력 score의 변화가 정확하다고 보기 어려운 것

예를 들어, 위 그림의 경우 balloon이라는 클래스의 score가 상승하여 성에 대한 정확한 식별을 방해할 수 있다.

ROAR : RemOve And Retrain

roarXAI 기법이 생성한 주요한 피셀을 지우고나서 지운 데이터를 활용해 모델을 재학습한 뒤, 정확도가 얼마나 떨어지는지를 평가해보는 과정을 취하는 기법이다.

XAI가 중요하다고 한 픽셀을 지우고 학습해본 뒤, 해당 클래스에 대한 정확도가 많이 감소할 경우에는 좋은 설명으로 취급하고, 반대라면 설명이 정확하지 않다고 결론을 낸다.

해당 기법은 조금 더 객관적이고 정확한 평가를 할 수 있는 장점이 있지만, 픽셀을 지우고나서 모델을 매번 재학습해야하므로, 계산복잡도가 매우 높아지는 단점이 있다.


Model randomization - Sanity checks

model randomization 기법은 이미지에 대한 예측 결과를 얻고, 결과에 대한 설명을 픽셀 별로 하이라이트 하는 방법들은 Edge Detector와 같이 이미지 내 object를 하이라이트 하는가? 라는 의문을 가진다.

이를 해결하기 위해 주어진 분류모델의 위쪽 레이어부터 모델의 계수들을 순차적으로 randomize한 후, 얻어지는 설명을 구해보는 테스트를 진행한다.

이를 통해, randomization을 진행해도, 크게 설명이 바뀌지 않고, 여전히 객체를 하이라이트하는, 마치 Edge Detector와 같이 동작하는 XAI 기법을 걸러낼 수 있다.

Adversarial Attack

어떤 이미지에 대한 설명을 위 그림의 1열처럼 얻는다고 생각하면, 별 문제가 없이 정상적으로 강아지를 잘 추출해냄을 알 수 있다. 하지만, 입력 이미지의 픽셀들을 아주 약간 바꾸면 예측은 강아지를 내보내고 있지만 2열의 설명과 같이 이상한 결과를 냄을 알 수 있다.

adversarial attack은 입력 이미지에 약간의 변형을 가해, classifier에 예측 결과를 완전히 다르게 만들 수 있다는 내용인데, 해당 부분에서는 classifier의 예측은 그대로 유지하며, 설명 방법을 공격한다.

이는, 주어진 딥러닝 모델의 decision boundarysmooth 하지않고, 울퉁불퉁 형성되기 때문이라고 설명한다. 즉, 많은 설명 방법들이 gradinet와 연산된 값을 사용하는데 decision boundary가 불연속적으로 나오게 된다면 gradient의 방향이 급격하게 변할 수 있어 입력이 조금만 바뀌어도 gradient는 아주 많이 바뀔 수 있다는 말이다.

이때, activation function으로 ReLU를 사용하지 않고, softplus를 사용하면 adversarial attack에 좀 더 강인한 모델 만들기가 가능하다.

위 그림의 결과와 같이, ReLU 대신 softplus를 사용할 경우 adversarial attack에 좀 더 강인한 결과를 내보낸다.

Adversarial Model Manipulation

adversarial model manipulation은 입력을 바꿔서만 공격이 가능해지는 것이 아니라 모델을 조작할 수도 있다는 아이디어로, 예를 들어 특정 model을 만든 개발자가 XAI 방법을 통해 model이 편향되었음을 알았을 때, 해당 model을 편향되지 않도록 고치는 재학습을 진행하는 것이 아니라 model의 계수 W를 조금씩만 조작해서 model의 정확도는 차이가 없지만 XAI로 만들어낸 설명만 마치 공정한 model인 것 처럼 조작이 가능하다.

위 그림처럼 XAI를 통해 모델 편향성을 검증하려고 했을 때, 해당사항이 없도록 조작할 수 있다.

해당 방법은 입력을 조작하는 것과는 다른 공격이며, 해당 공격 기법을 제안한 논문에서는 정확도의 감소는 거의 없지만, 전체 validation set에 대한 설명이 모두 조작됨을 보였다.

여전히 실제 모델은 원래 중요하게 생각했던 것을 보고있고, 설명만 조작된 것임을 알 수 있다.

profile
소통을 잘하는 개발자가 되고 싶습니다.

0개의 댓글