개념
컨볼루션은 이미지 위에 필터 또는 커널을 슬라이딩시키며, 겹치는 값들의 곱을 모두 더해 새로운 값을 만드는 연산이다. 이미지의 특정 패턴을 강조하거나 추출하는 데 사용된다.
2차원 입력 와 커널 의 연산은 다음처럼 나타낼 수 있다.
이미지에서의 의미
필터가 수직 에지를 찾도록 설계되어 있다면, 컨볼루션 결과는 수직 방향의 밝기 변화가 큰 위치에서 큰 값을 가진다. 이 결과가 Feature Map이다.
주요 용어
- 필터 또는 커널: 이미지에서 찾고 싶은 패턴을 담은 작은 행렬
- stride: 필터가 한 번에 이동하는 간격
- padding: 이미지 가장자리 정보 손실을 줄이기 위해 주변에 0을 채우는 방식
- channel: RGB처럼 이미지가 가진 값의 층
CNN과의 관계
CNN에서는 컨볼루션 필터를 사람이 직접 정하지 않는다. 학습 과정에서 필터 값이 업데이트되며, 이미지 분류에 도움이 되는 패턴을 자동으로 찾는다.