Regularization: 오버피팅(과적합) 문제를 해결하기 위한 방법 중 하나. L1 Regularization, L2 Regularization, Dropout, Batch Normalization 등의 방법이 있다.
*오버피팅? train set은 매우 잘 맞히지만, validation/test set은 맞히지 못하는 현상
L1 Regularization
L2 Regularization
Dropout: 드롭아웃 기법이 나오기 전의 신경망은 fully connected architecture로 모든 뉴런들이 연결되어 있었다. 그러나 드롭아웃이 나오면서 확률적으로 랜덤하게 몇 가지의 뉴럴만 선택하여 정보를 전달할 수 있게 되었다. 몇 가지의 값들을 모든 뉴런에 전달하는 것이 아닌 확률적으로 버리면서 전달하는 기법. 오버피팅을 막는 Regularization layer 중 하나.
*Dropout과 Dropconnect
https://stats.stackexchange.com/questions/201569/what-is-the-difference-between-dropout-and-drop-connect
Batch Normalization: gradient vanishing, explode 문제를 해결하는 방법.
fully connected layer와 Batch Normalization layer를 추가한 두 실험을 비교하면 정확도 와 속도에서 차이가 난다.
Batch Normalization을 추가하면 정확도가 상승하고 loss 함수의 감소도 더 빨라진다.
즉, Batch Normalization으로 인해 이미지가 정규화되어 좀 더 고른 분포를 가지게 되고 안정적인 학습이 가능해진다.