Thing's by Actruce

모두를 위한 Deep Leaning 강좌(Sung Kim) 리뷰 05 본문

IT/Deep Learning

모두를 위한 Deep Leaning 강좌(Sung Kim) 리뷰 05

Actruce 2017. 12. 17. 13:04

이 포스트는 유명한 홍콩 과기대 김성훈 교수의 "모두를 위한 딥러닝 강좌 시즌 1" 의 내용 중 Convolution Neural Network 이전

특히, 29강 까지의 내용을 중점적으로 리뷰해 보고자 한다. (리뷰01, 02, 03, 04, 05, ...)


CNN 은 별도의 포스트를 구성할 예정이다.


본 포스트의 내용은 김성훈 교수의 Lecture Note 의 내용 및 Lab File 을 활용했음을 알려둔다.


Sung Kim “모두를 위한 딥러닝 강좌 시즌 1”

  > 강의 동영상 :  https://goo.gl/2cqKLz

  > 강의 웹사이트 : http://hunkim.github.io/ml/

  > Lecture 슬라이드 : https://goo.gl/4373zL

  > Lab 슬라이드 : https://goo.gl/WwCu4U

  > 강의 소스코드 : https://goo.gl/T2fuYi




리뷰05 Deep Learning Issues (강좌 Lecture3, Lecture 7-1, Lab 7-1 & https://goo.gl/jPtWNt)




1. Deep Learning Issues


- 일반적인 Deep Learning 의 이슈들을 확인해 본다.



먼저 알아볼 부분은 Feature Scaling 관련된 이슈이다. 만약 하나의 Feature 값이 1000, 2000 이고 다른 Feature 값은 0.1, 0.05 같이 Scale 차이가 엄청 크다고 하면 어떤 일이 벌어질까?

단순히 2차원에서 생각해 봐도 길고 좁은 형태의 Feature Dimension 을 그려볼 수 있을 것이다. 여기선 조금만 다른 방향으로 움직여도 한쪽 Feature 가 상대적으로 매우 크게되면 학습시 들쭉날쭉 해 지게 된다.


이런 단점을 극복하기 위해서는 Feature Normalization 을 통해서 대부분의 Feature 가 비슷한 Scale 을 갖도록 해 주는 방법을 들 수 있다.




두번째 이슈는 Learning Rate 값에 대한 부분이다.

Learning Rate 가 너무 작으면 Variable Update 에 시간이 오래 소요되어 전체 학습시간이 길어진다는 단점이 존재하고,

반면에 너무 크면 Variable 들이 너무 크게 변동되고 진동이 일어날 수 있어 일정한 값으로의 수렴이 오래걸릴 수 있게 된다.


따라서 적절한 Learning Rate 의 설정은 학습 진행상황을 모니터링 하면서 조정이 필요하다.




마지막 이슈는 OverFitting 에 대한 부분이다.

feature 수가 많은데 비해, training data 가 적은 경우에 OverFitting 이 발생하기 쉽다.

해결책으로는 feature 수를 줄이기를 통해 모델을 단순화 시키는 방법과 Regularization 을 통해 변수이외의 상수 Term 등을 더 가져가는 방식 등이다. 


풀려는 문제에 대해 일반적으로 미리 모델을 예측하는것이 어렵기 때문에 Feature 를 최대한 많이 가져가려고 하고,

현실 세계에 Training Data Set 은 충분하지 않기 때문에 가장 해결하기 어려운 문제이기도 하다.




Comments