인공신경망의 예측은 어떻게 설명할까요?

Lee Tae-Sung·2021년 12월 27일
0

인공신경망의 예측은 어떻게 설명할까요?

  • 블랙박스(Black box) 모델
  • 인공신경망은 블랙박스 모델일까?
    수식적으로 특정 node의 값, weight값들을 구할 수 는 있음
    수많은 hidden layer와 feature들이 쌓이고 얽혀 있기 때문에 인과관계 해석 어려움

인공신경망의 예측을 왜 해석해야 할까요?

  • 인공신경망이 학습한 feature들이 무엇인지를 파악하고 싶음
    => 어떤 feature가 중요한 것인지 알아낼 수 있음

  • 인공신경망의 판단의 근거를 알 수 없음 -> 안전성의 문제
    => 자율주행을 할 때, 브레이크를 밟는 output책임소재 등

  • 인공신경망이 사람이 생각하지 못한 판단의 근거를 알아냄
    => 알파고가 사람이 두던 기보와 다른 묘수를 만듦
    => 근데 이건 완전 새로운걸 만들었다기 보다는 아마 사람이 파악하지 못할 수준까지 feature등이 쌓여서 그렇게 된 듯.

설명이 가능한 AI라는 명칭으로 XAI(Explainable AI)도 있음.

Grad-CAM

  • gradient를 이용해 인공신경망을 설명

  • Classification class node 기준으로 feature map 상의 어떤 spatial한 위치가 해당 node에 영향을 많이 줬는지 표시.

    => 각 변수의 기능들을 잘 모르겠음.... 추후 긴 시간투자가 필요할듯 ...

=> relu1_1과 비교해 relu5_3(high level)이 사람이 봤을때도 구별할 수 있는 결과값을 가진다.

  1. Grad-CAM이 시사하는 중요한 점은 Grad-CAM를 통해서 CNN의 실패의 이유를 밝힐 수 있다는 점.

예를 들어,

CNN이 각각의 사진들을 Predicttion을 사막, 자동차 유리로 하였는데

Grad-CAM을 이용해 CNN이 아래의 모래 부분을 특정, 유리의 동그란 부분을 특정 해서 잘못된 결과를 도출했다는 것을 확인 할 수 있었음.

  1. 데이터셋의 bias를 파악할 수 있다는 점

위의 스샷의 예시는 아래의 의사도 간호사로 예측했는데 그 Grad-CAM을 통해 그 근거를 찾을 수 있었다.

그 근거는 바로 헤어와 얼굴을 인지하면서 여자라는 점이 큰 이유로 작용했는데 이것은 데이터셋이 간호사에 여자의 특징들이 많이 들어간 이유였다.(bias)

이러한 에러의 문제의 원인을 특정해내 해결할 수 도 있다.

그래서 성비를 적절하게 반영했더니 세번째 사진처럼

청진기의 위치에 따라 판단을 하는걸로 바뀐 것을 확인할 수 있었음.

  1. Weakly-supervised localization / segmenation에 활용

Grad-CAM을 이용해 주요 위치를 특정한 후 작업이 가능해진다.

예를 들어, 우리가 해본 semantic segmentaion에는 라벨링이라는 엄청난 비용이 드는데 Grad-CAM을 이용하면 라벨링이 필요 없이 detecting을 진행할 수 있다.

profile
긍정적인 에너지를 가진 개발자, 이태성입니다.

0개의 댓글