filter visualization - (3,11,11)인 필터라서 컬러로 나옴
Activation visualization - input(강아지사진)에 filter로 convolution시킨 결과가 각 filter마다 한 채널로 나오기 때문에 흑백이미지로 나온다. 자세히 보면 어떤 결과는 강아지가 45도로 있는 것, 칼라를 반영하는 것, 세부적인 디테일을 본 결과들 등 다양한 결과들을 확인 할 수 있다. 이렇게 간단한 visualization을 통해 CNN의 첫 layer가 어떤것을 보고, 어떤것을 행동하고 있는지를 볼 수있다.
2.2 Layer activation (중간layer와 깊은layer를 해석하는 방법)
layer의 activation을 분석함으로써, 모델의 특성을 파악하는 방법
2.3 Maximally activating patches(중간layer를 해석하는 방법)
layer activation을 분석하는 방법중에, patch를 뜯어서 사용하는 방법이 있다. 각 layer의 채널에서 하는 역할을 판단하기 위해서 그 채널 즉, hidden node에서 가장 높은값을 갖는 위치의 근방의 patch를 뜯어서 보면 어떤 특징을 보는 히든 노드인지 알 수 있다.
예제 데이터를 backbone 네트워크에 넣어서 각 layer의 activation을 다 뽑습니다. 그리고 우리가 뽑고 싶어했던 14번째 채널에 activation을 저장합니다. 그리고 그렇게 저장된 해당 채널에 activation값 중에서 가장 큰 값을 갖는 위치를 파악하고 그 위치에서 여기 activation에 오기전에 있는 입력 도메인에 이 위치에서의 maximum값을 도출하게 된 receptive field를 계산한 다음에, receptive field에 대한 입력영상의 해당 patch를 뜯어온다.
2.4 Class visualization(예제 데이터를 사용하지 않고, 네트워크가 내재하고있는(기억하고 있는) 이미지가 어떤것인지 분석하는 방법)
A라는 큰 patch를 이용해서 Occulusion으로 가려준다. 그 때 elephant라고 대답을 할 확률이 score가 된다.
마찬가지로 B부분을 가렸을 때는 0.88이 나온다. 이렇게 어떤 부분을 가려주는지에 따라 스코어가 달라진다. 물체의 중요한 부분을 가리는지, 상관없는 부분을 가리는지에 따라 스코어가 달라지는 것을 활용해서 각 위치를 모두 확인해보며 위치에 따라서 변하는 score의 지도를 기록한다.