딥러닝 되짚어보기
신경망
- 인간의 뇌 구조와 기능에서 영감을 받아 만들어진 머신러닝의 한 분야
- 각 연산 단위(뉴런)은 층(layer)을 이뤄 다른 뉴런과 연결됨
- 두 개 이상의 층 → 심층 신경망(Deep Neural Network, DNN)
- 이러한 모델을 딥러닝 모델이라 함
왜 딥러닝?
다양한 신경망 아키텍처(교재 p.10)
-
완전 연결 계층(Fully-connected), 선형 계층(linear)
- 앞서 나온 계층의 모든 뉴런이 뒤에 나오는 계층의 모든 뉴런과 연결되는 구조

-
합성곱(Convolutional) 계층

-
순환(Recurrent) 계층
- 기억하는 능력이 있음 → 순차 데이터(sequential data)에 유리

-
디컨볼루션(DeConv) 계층
-
합성곱 계층의 역연산
-
입력 데이터를 공간적으로 확장시킴
→ 이미지 생성, 재구성에 유리

-
풀링(Pooling) 계층
- 최대 풀링(max-pooling): 입력을 특정 단위로 나눠 각 부분에서 가장 높은 숫자 선택
- 최소 풀링(min-pooling), 평균 풀링(mean-pooling)

-
드롭아웃(Dropout) 계층
-
일부 뉴런의 스위치가 일시적으로 꺼짐(연결 끊기)
-
모델이 일반화 가능한 패턴을 학습하게 함
→ 특정 뉴런이 없더라도 모델이 잘 가능하도록 만듦
→ 모델 정규화(regularization)에 도움

1) 활성화 함수
-
시그모이드(로지스틱, sigmoid)
- 입력($x$)을 (0, 1) 범위 사이의 값으로 출력($y$)

-
tanh(Hyperbolic Tangent)
- 입력($x$)을 (-1, 1) 범위 사이의 값으로 출력($y$)
- 출력으로 양수와 음수가 모두 필요할 때 유용

-
정류 활성화 유닛(Rectified linear units, ReLU)
- $y = f(x) = max(0,x)$
- 함수의 경사가 0으로 감소하는 문제를 방지
- 그러나 입력이 음수면 출력/경사가 모두 0이 됨

-
Leaky ReLU
- 음수 입력을 $k$로 나눈 값을 출력함으로써 처리
- $y = f(x) = max(kx,x)$

2) 최적화 스케줄
- 딥러닝 모델 또한 매개변수를 조정함으로써 훈련됨
- 역전파(back-propagation) 과정을 통해 조정됨
- 신경망의 최종(출력) 계층은 손실을 계산
- 손실(loss)은 신경망의 최종 계층의 출력과 그에 대응하는 정답을 취하는 손실함수에 의해 계산됨
- 해당 손실은 이전 계층으로 역전파됨
- 이때 경사 하강법(gradient descent)과 미분의 연쇄 법칙이 쓰임
- 각 계층의 매개변수/가중치는 손실을 최소화하도록 수정됨
- 학습률(learning rate): 0과 1 사이 값을 갖는 계수
⇒ 신경망의 가중치를 업데이트하는 모든 절차를 최적화 스케줄이라 함
여러 최적화 스케줄
