모든 픽셀들의 연결 = Connection 3 X (3 X 100 X 100) ⇒ 총 9만개
→ 모든 Connection을 고려해야 한다.
정해진 Weight Set으로 데이터 값들을 긁어낸다.
가까이 있는 값들만 연결 → 위치 정보를 잃지 않음 → 담당 노드라는 “의미”가 생김
‘전체’를 보는것이 아니라 일부에 집중할 수 있음(어느 지역 담당) → 다른 부분의 Weight가 0
일부분을 보도록 시야를 강제한다고 생각(나머지 부분은 강제로 Weight를 0으로 맞춤)
Kernel(Filter) + bias : 스캔을 통해 필터와 비슷한 특징(패턴)을 찾는다(내적)
CNN에서는 kernel, bias가 학습 파라미터가 된다. 각 필터가 어떤 특징을 추출할지를 AI가 정하도록 한다.
어떤 특징이 어디에, 얼만큼 강하게 있는가?
경계값에 3만큼 강한 특징이 존재
Feature Map : 각각의 Convolution 결과를 깊이 축으로 쌓는다
필터의 채널 수는 반드시 입력의 채널 수에 맞춰 주어야 한다.
ex) 3 x 7 x 7 입력, 3 x 3짜리 kernel의 채널 수 : 3 + 데이터 수는 32개
필터를 10종류 사용하였다 → 그 다음 20종류 사용
3 X 3 필터링 시 행, 열은 각각 2개씩 줄어든다
데이터 수가 늘어난다고 신경망 노드 수가 늘어나지 않음 → 개수에는 필터링이 영향을 안준다
카테고리별로 노드가 다르고 각 데이터는 순서대로 신경망을 통과할 뿐
$y = w_1F_1 +w_2F_2+w_3F_3$ : Feature map에 weight를 곱한 조합.(어떤 특징을 얼마나 뽑아내는가?)
if Kernel Size가 1 X 1 이면 : Feature map간의 weighted Sum이 될 것