-주로 이미지 및 비디오 데이터 처리에 사용되는 딥러닝 모델의 한 유형이다.
-합성곱 계층을 사용하여 이미지에서 패턴 추출한다.



-이미지의 왼쪽 위에서부터 filter 적용 (합성곱 - Convolution 연산)
-옆과 아래로 순차적으로 이동 (한 번에 몇 칸을 이용하는지는 분석가 결정 - 하이퍼파라미터)
-filter 적용 시 filter가 적용되는 이미지 부분의 색 정보와 filter의 각 가중치 간에 내적 연산 수행 → 하나의 스칼라값 도출

내적 연산 : 같은 자리에 있는 셀의 값(원소)끼리 곱하여 더함

컬러 이미지
-하나의 픽셀이 보통 3개의 색 정보를 지님 (Red, Green, Blue : RGB채널 → 채널 수 = depth = 3)
-3차원 array로 저장 → m x n
-컬러 이미지의 경우 m x n x 3의 3차원 array로 데이터 저장

-32x32 pixel 이미지의 경우, channel의 수(depth) = 3






-활성화 함수를 적용하여 출력되는 값들을 모아놓은 것 = Feature Map or Response Map
-이미지의 경우 보통 ReLU 사용
-Activation Map에 또 다른 필터 적용 가능

filter를 한번에 옆으로 (or 아래로) 얼마나 움직이는가 (hyperparameter)

-특정한 값으로 이미지 주변을 채워줌
-Zero Padding : 0을 사용하여 Padding
ex) 7x7 이미지에 3x3 필터를 적용한다고 가정, stride = 3인 경우
(7 - 3)/3 + 1 = 2.3333 → 정보 손실 발생

패딩 적용 후 3x3 filter, stride = 3인 경우에도 정보 손실이 발생하지 않음
(9 - 3)/3 + 1 = 3
-Activaion Map에 존재하는 정보 중 이미지를 잘 나타내는 일부 정보만을 추출
→ Downsampling 효과
-필터를 적용하여 합성곱 연산을 한 이후에는 보통 Pooling 과정을 거침
주요 방법
Max Pooling
-큰 숫자 = 더 밝은 색을 의미
-Max Pooling은 더 밝은 색을 추출
-백그라운드는 어둡고 우리가 관심있는 물체가 밝은 경우 사용하면 유용

Average Pooling
이미지를 부드럽게 하는 효과 (Smoothing Out), 하지만 Sharp Features는 잘 도출되지 않음

Global Poolig
-각 channel의 Feature Map에서 하나의 Value를 추출
-Global Pooling 연산의 경우 depth는 그대로 유지
-임베딩 벡터를 얻고자 하는 경우 유용

-다차원 배열 형태의 출력을 일차원 배열로 변환한다.
-이를 통해 합성곱 층에서 추출한 특징 맵을 Fully Connected Layer에서 사용할 수 있게 된다.



특징 추출
-데이터가 가지고 있는 spatial 정보를 추출하는데 유리
-입력 데이터에서 중요한 특징을 자동으로 학습하고 추출, 필터(커널) 사용
이미지 데이터 분석에 효용
파라미터의 수 감소
-합성곱 계층을 사용하여 입력 이미지를 처리, 완전 연결계층을 사용하는 전통적인 인공 신경망보다 적은 수의 파라미터를 사용
-가중치 공유 (같은 필터를 전체 이미지에 적용) → 모델의 과적합 방지, 계산 효율성 UP