컨볼루션 신경망 (ConvNet)
학습 가능한 가중치(weight)와 바이어스(bias)로 구성
각 뉴런은 입력을 받아 내적 연산(dot product)을 한 뒤 선택에 따라 비선형(non-linear) 연산을 한다.
ConvNet의 레이어들은 가로,세로,깊이의 3개 차원을 갖게 된다.

- Convolution layer: Convolution + ReLU
- Pooling layer: 너비와 높이의 방향에 따라 다운 샘플링을 적용(풀링 연산)
- Fully-Connected layer: 클래스 스코어를 계산(미분 가능한 하나의 스코어 함수 이용)
- 마지막 layer에 손실 함수(Loss Function, SVM/Softmax같은)
ConvNet을 이루는 레이어들
CIFAR-10 데이터를 다루기 위한 간단한 ConvNet은 [INPUT-CONV-RELU-POOL-FC]로 구축할 수 있다.
Convolution layer: 기존 이미지 보존
convolution: 필터(nxm 크기의 행렬)로 높이x너비 크기의 이미지를 처음부터 끝까지 겹치며 훑으면서 nxm크기의 겹쳐지는 부분(수용영역)의 각 이미지와 필터의 원소의 값을 곱하여 모두 더한 값으로 출력하는 것
- 포워드 패스 (forward pass) 때에는 각 필터를 입력 볼륨의 가로/세로 차원으로 슬라이딩(convolve) 시키며 2차원의 activation map을 생성한다.
- 필터를 입력 위로 슬라이딩 시킬 때, 필터와 입력의 요소들 사이의 내적 연산 (dot product)이 이뤄진다. 입력의 특정 위치의 특정 패턴에 대해 반응하는 (activate) 필터를 학습한다.
- activation map을 깊이 (depth) 차원을 따라 쌓은 것이 곧 출력 볼륨이 된다.

필터: 가중치
필터를 가지고 이미지를 슬라이딩하면서 공간적으로 내적을 수행
필터: 입력의 깊이(Depth)만큼 확장 / 깊이 차원 측면에서는 항상 입력 볼륨의 총 깊이를 다룬다