[컴퓨터 비전의 모든 것] CNN Visualization (1) : 동작 원리

2024. 12. 20. 03:16MOOC

CNN Visualization

CNN Visualization이란 말 그대로 Convolutional Neural Network의 내부를 시각화하는 것을 뜻한다. 본 강의에서는 CNN Visualization의 개념과 활용 목적을 알아보고, 이를 실현하는 몇 가지 방법을 간략히 소개한다. 또한 모델의 내부 동작을 분석하고 예측 결과를 해석하기 위한 구체적인 시각화 방법을 살펴본다.


CNN Visualization이란 무엇인가?

CNN은 학습 가능한 파라미터와 비선형 활성화 함수로 구성된 연산기라 할 수 있다. 적절한 학습 과정을 거치면 인간 이상의 성능을 발휘하기도 한다. 그러나 CNN이 내부적으로 어떤 원리를 통해 이러한 결과를 만들어내는지 이해하기는 어렵다. 예를 들어:

  • Convolution filter는 어떤 정보를 학습하는가?
  • 특정 학습이 잘 되지 않을 때, 설정에서 무엇이 잘못되었는가?

CNN은 블랙박스 구조와 유사하기 때문에 이러한 질문에 답하는 것은 쉽지 않다. 이러한 문제를 해결하기 위해 CNN Visualization이란 도구가 사용된다.


예시: Filter Visualization

CNN Visualization의 개념을 이해하기 위해 간단한 예시를 들어보자. Convolution의 역연산인 Deconvolution을 활용하여 CNN 레이어들이 각 위치에서 어떤 지식을 배우는지 시각화한 연구가 있다. 이 연구에서:

  • 낮은 계층: 가로/세로 무늬, 동그란 물체 등 구체적인 방향성 정보를 담은 필터.
  • 높은 계층: 추상적이고 의미론적인 정보를 담은 필터.

이처럼 Filter Weight Visualization이라는 간단한 방법으로도 모델에 대한 유의미한 분석 결과를 얻을 수 있다.

AlexNet의 Filter Visualization

AlexNet의 첫 번째 Convolution 레이어 필터를 시각화한 예시를 살펴보자.

  • AlexNet의 첫 번째 conv. layer 필터 크기: 11x11x3
    컬러 이미지로 시각화가 가능하며, 다양한 기본 연산(operation)을 학습한 필터를 확인할 수 있다.
    • 예: 컬러 디텍터, 각도 디텍터, 블록 디텍터.
  • Activation 결과를 시각화한 경우:
    • Channel size가 1이기 때문에 흑백 이미지로 시각화됨.
    • 특정 방향(예: 45도 대각선)이나 세부적인 디테일에 집중하는 필터를 확인할 수 있음.

이처럼 간단한 시각화 기법으로 CNN 내부 필터가 어떤 정보에 집중하는지 직관적으로 확인할 수 있다.


Neural Network를 시각화하는 방법

딥러닝 모델의 블랙박스 특성을 분석하고 설명하기 위한 다양한 시각화 기법이 연구되어 왔다. 이들은 크게 두 가지 흐름으로 나뉜다.

  1. 모델의 행동 및 동작 방식을 분석하는 방법
  2. 모델의 예측 결과를 설명하는 방법