사람의 시각 피질을 참고
뇌의 시각 피질은 계층적으로 연결
낮은계층은 단순한 패턴을 인식, 상위 계층으로 갈수록 패턴들을 조합하여 복잡한 이미지로 추상화

1998년 Yann Lecun이 손글씨 숫자를 인식하는 딥러닝 모델 LeNet-5을 개발
-손글씨 숫자를 MNIST 데이터셋을 인식할 수 있음(고해상도 이미지에 대해 성능이 떨어짐, Vanishing Gradients문제 발생)
신경망 층이 깊어지면 학습이 안되는 문제를 ReLU함수로 해결,
훈련 데이터에만 맞게 고정된 과대적합은 드롭아웃 기법으로 완화
역전파 과정에서 0~1의 값을 반환하는 시그모이드 함수는 레이어를 거칠수록 값이 점점 0이나 1에 가까워지고, 때문에 기울기가 작아져서 기울기 소실이 일어날 수 있다.
그 문제를 해결하기 위해 나온게 ReLU함수

convolution(합성곱): 이미지의 특징 추출 - 특성이 이미지의 어느 부분에 많이 있는지 구별하게 함
입력이 필터(커널)를 거쳐 feature map(특성 맵) 출력(필터의 개수만큼 특성 맵이 나옴)
[커널과 특성 맵은 행렬형식]


일반 신경망은 모든 노드가 연결되어 있고 각 연결의 가중치를 학습.
CNN은 미리 고정된 연결이 없음, convolution과정으로 출력 계산
합성곱 계층 출력값에 활성화 함수 ReLU함수 적용 (학습)
max-pooling으로 특성 맵의 크기를 줄임 - 가장 큰 값만 추출하여 출력을 작게 만듬
* pooling을 하는 이유는 필요한 주요 특징만 학습해서 overfitting(과적합)을 방지하기 위해

위 이미지는 2X2 맥스풀링
convolution과 max-pooling을 하나의 단위로 하여 여러 층으로 쌓음 - 높은 층으로 갈 수록 복잡한 feature map 크기는 작아지며, 패턴으로 구체적으로 추상화됨
flatten: feature map들을 1차원 벡터 형태로 변환하는 과정
사진의 고차원적인 패턴이 담긴 특성 맵이 나온다 -> Fully Connected Layer(완전연결 신경망): 추출된 특징으로 최종 분류 진행. 가중치, 편향 적용
SoftMax 활성화 함수: 결과 수에 제한 없이 전체에 대한 각각의 확률을 구할 때 사용하는 함수. (각 행에 값 합은 1)
출력은 0~9까지의 원핫인코딩 형식
