단일 퍼셉트론은 XOR 문제와 같은 비선형 문제를 해결할 수 없다. 이를 해결하기 위해 MLP가 등장했고, 은닉층과 비선형 활성화 함수를 사용하여 이러한 문제를 해결하여 딥러닝에 사용된다.
주어진 데이터를 이용해 Perceptron의 가중치를 학습하는 과정. Perceptron은 가중치와 바이어스를 통해 출력을 계산하는 단순 선형 classifier이다.
딥러닝에서는 Perceptron을 여러개 겹쳐 사용한다.
Activation helps determine whether neurons need to be activated or not
(뉴런을 활성화할지 결정)
- 뉴런 출력값이 -∞부터 ∞라면 어떤 신호가 다음 뉴런으로 전달되어야 할 지 결정하기 어렵다.
- 데이터를 비선형(non-linear)로 변환하여 네트워크를 심화시킨다.
- 선형 시스템은 네트워크가 깊어지더라도 단일 히든 레이어로 구현 가능하다.
- Regularization
- Batch normalization
- Dropout
모델 복잡성(model complexity)을 패널티로써 추가한다.
미니배치(데이터셋을 여러 작은 부분으로 나누어 처리하는 기법)에 대해 입력 데이터의 분포를 정규화한다.
임의의 확률로 노드를 선택하고 선택한 노드의 연결을 끊어준다.
- 하이퍼파라미터 수가 적절해야 한다.
- computation power 가 좋아야 한다.
행렬에서 요소들을 곱하고 모든 결과를 더하는 선형 연산
입력 이미지의 가장자리(edge) 부분을 처리할 때 데이터가 손실되는 문제를 해결한다.
모든 노드가 같은 커널(가중치 행렬)을 사용하여 모델의 파라미터 수가 줄어 복잡도가 낮아진다.
Stride는 커널이 입력 이미지 위를 이동할 때 한번에 이동하는 픽셀 수이다. stride가 클 수록 출력 크기 맵이 작아진다.
CNN에서 입력 데이터에 대한 출력 크기를 줄이고, 계산량을 감소시켜 모델의 성능을 향상시키는 데 사용된다. Max pooling, average pooling이 있다.
효과
- Reduce parameters, reduce network expression and suppress overfitting
- Reduced computation saves hardware resources and speeds up
- The order of the elements is important
- Sample length is different
- Context dependence
- Seasonality