Image processing/Deep-learning

[Deep Learning] 입력 데이터에서 데이터 정규화를 하는 이유

유니디니 2020. 1. 7. 11:04
728x90
반응형

입력 데이터에 대하여 데이터 정규화(Normalization)를 하는 이유



경망의 학습을 빠르게 할수 있는 하나의 기법은 입력데이터를 정규화 하는 것이다.





초기 입력데이터의 산포도가 1번 그래프와 같다고 가정해보자. 데이터를 3과 같이 정규화 하기 위해 다음과 같은 과정을 거치게 된다.


  • 먼저, 평균을 빼는 것이다. 1번의 그래프는 2와 같이 0으로 옮겨지게 된다.
  • 다음으로, 분포를 일정하게 해준다. 2번 그래프에서 x1의 범위가 x2의 범위보다 비 정상적으로 크기 때문이다.
  • 결과적으로 3과 같은 데이터 분포를 얻게 된다.

이와 같은 과정을 학습데이터 뿐만 아니라, 테스트 데이터에도 동일하게 적용해야 한다. 




그렇다면, 왜 입력 특성을 정규화 해야하는 것일까?



비용함수에 대한 정의는 다음과 같다.




그래프는 최적값에 도달하기 위한 비용함수를 의미하며, 왼쪽 이미지는 Unnormalized를 오른쪽 이미지는 Normalized를 뜻한다.


Unnormalized : 구부러진 활 모양의 가늘고 긴 형태


Normalized : 대칭적이며, 원의 형태


우리가 학습을 통해 최솟값을 얻고자 할 때, Gradient Descent Algorithm을 적용하게 되며 학습과정에서 차이를 보인다. 


Unnormalized의 경우, 앞뒤로 왔다 갔다 하면서 수많은 단계를 거쳐 최적값에 도달하게 된다. 또한, 학습률(Learning Rate)를 작게 설정 해야 한다. 반면에, Normalied의 경우 어디서 시작하든 쉽게 최적값에 도달할 수 있으며, 학습률을 상대적으로 높여서 사용할 수 있게 때문에 빠르게 훈련시킬 수 있다. 




참고자료

 

Youtube : https://www.youtube.com/watch?v=FDCfw-YqWTE&feature=youtu.be


[1] https://goodtogreate.tistory.com/entry/Neural-Network-%EC%A0%81%EC%9A%A9-%EC%A0%84%EC%97%90-Input-data%EB%A5%BC-Normalize-%ED%95%B4%EC%95%BC-%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0




반응형