일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 플로이드 와샬
- 다익스트라
- c++
- dfs
- dropout
- Overfitting
- NEXT
- 너비 우선 탐색
- 분할 정복
- 조합론
- 세그먼트 트리
- BFS
- 자바스크립트
- 미래는_현재와_과거로
- 가끔은_말로
- 알고리즘
- DP
- 회고록
- pytorch
- 2023
- tensorflow
- 백트래킹
- 가끔은 말로
- 문자열
- lazy propagation
- back propagation
- 크루스칼
- 우선 순위 큐
- 이분 탐색
- object detection
- Today
- Total
Doby's Lab
Normalization이 필요한 이유 본문
Normalization
Normalization이란 정규화로 특정 feature의 scale을 0에서 1로 새롭게 scaling 하는 기법을 의미합니다.
(개념에 대해 정리한 글)
https://draw-code-boy.tistory.com/438
이 작업이 데이터셋에서 feature 간 scale이 다르기 때문에 이를 같게 하기 위해 쓰이는 작업인 것만 알고 있었습니다.
하지만, Image Dataset을 사용한 프로젝트를 진행하면서 픽셀의 범위는 모두 같은데 Normalization이 왜 필요한가라는 궁금증에서 출발하여 글을 작성하게 되었습니다.
1. Feature Scale이 넓은 경우
이 이유는 앞서 말한 것과 같습니다. Feature 간의 Scale이 다른 경우, Scale이 넓은 Feature가 모델에 끼치는 영향 때문에 [0, 1] 사이의 범위로 모두 같게 Scaling 하여 영향을 최대한 균등하게 가져가기 위한 이유입니다.
2. Local minima에 빠질 위험 감소, 이로 인한 수렴 속도 향상
Image에 대해 Normalization을 하는 이유에서 설득력 있게 다가온 이유입니다.
위 그림에는 Model Parameter(w, b)에 따른 J(= Cost Function)를 시각화한 형태입니다.
왼쪽은 Unnormalized, 오른쪽은 Normalized입니다.
왼쪽은 Scale의 범위가 넓기 때문에 그림처럼 Local Minima에 빠질 위험이 있습니다. 또한, 여러 번의 Training을 통해 Global Minimum에 도달하는 횟수가 오른쪽보다 왼쪽이 더 많은 것을 볼 수 있습니다.
위 그림이 어려울 수도 있으니 아래와 같이 하나의 Parameter에 대해서도 나타낼 수 있습니다.
Unormalized 한 데이터셋을 학습시킬 때, Parameter에 따른 Error를 나타냈습니다.
Scale이 넓다 보니 Local Minimum에 빠질 위험이 있습니다.
위 그림은 Normalized 한 데이터셋에 대한 Error와 Unnormalized 한 데이터셋의 Error를 나타내었습니다.
Scale이 좁아졌다 보니 Local Minimum이 빠질 위험이 줄어들 수 있습니다. 그리고, Local Minimum에 빠질 경우 빠져나온다고 하면, 빠져나오는 시간은 당연하게 Normalized 한 데이터셋이 폭이 더 좁기 때문에 훨씬 쉬워질 것입니다.
이러한 경우들을 보아 Normalization을 해야 하는 이유는
- Local Minimum에 대한 위험 감소
- Global Minimum에 수렴하는 속도 상승
으로 정리할 수 있습니다.
Reference
https://powerofsummary.tistory.com/155
https://light-tree.tistory.com/132
https://sonsnotation.blogspot.com/2020/11/8-normalization.html
'AI > Concepts' 카테고리의 다른 글
Dropout에 대하여 (1) | 2022.12.31 |
---|---|
L1, L2 Regularization에 대하여 (0) | 2022.12.31 |
Image Augmentation이란? (2) | 2022.12.29 |
Gradient Descent와 Loss Function의 관계 (0) | 2022.09.03 |
Standardization(표준화)와 Normalization(정규화)의 차이 (0) | 2022.09.03 |