케라스 창시자에게 배우는 딥러닝_5장

코넬·2023년 1월 11일
0

DeepLearning_Keras

목록 보기
5/13
post-thumbnail

머신러닝의 기본 요소에 대해 알아보자.

최적화 (optimization) : 가능한 훈련 데이터에서 최고의 성능을 얻으려고 모델을 조정하는 과정
일반화 (generalization) : 훈련된 모델이 이전에 본 적 없는 데이터에서 얼마나 잘 수행되는지 의미한다.

일반화는 머신러닝의 목표이다 !

하지만 일반화는 성능을 제어할 방법이 없다. 모델을 훈련 데이터에만 맞출 수 있을 뿐 !

과소적합과 과대적합

훈련초기 : 훈련 데이터의 손실이 낮아질수록 테스트 데이터의 손실도 낮아진다.
과소적합(underfitting) 이 발생한다. 하지만 모델의 성능이 계속 발전될 여지가 남아있다.
특정 횟수만큼 반복 후 : 일반화 성능이 더 이상 높아지지 않으며 검증 세트의 성능이 멈추고 감소되기 시작함. 모델의 과대적합(overfitting) 이 시작된다.(= 훈련에 특화된 패턴을 학습하기 시작했다는 의미) 과대적합은

  • 데이터에 잡음이 있거나
  • 불확실성이 존재하거나
  • 드문 특성이 포함되어있을 때

발생할 가능성이 높다.
1. 데이터의 잡음이 있거나 : 잡음의 경우 필연적으로 과대적합을 유발시킨다. 특성이 모델에 유익한지 또는 모델을 혼란스럽게 만드는지 확실하지 않다면 훈련 전에 특성 선택(feature selection)을 수행하는데, 특성 선택을 통해서 잡음을 걸러낼 수 있다.
2. 불확실한 특성 : 이 경우에는 최적적합과 과대적합 간 충돌이 일어날 수 있다. 최적적합이 되도록 모델을 구축하는 것이 중요하다.

딥러닝에서 일반화의 본질

딥러닝에서 일반화의 본질은 딥러닝 모델 자체와 거의 관련이 없고 실제 세상의 정보구조와 많은 관련이 있다.
매니폴드 가설 : MNIST 데이터에서 한 숫자에서 다른 숫자로 점차 변형되는 여러가지 MNIST 샘플을 통해 손글씨 숫자의 공간이 매니폴드를 가지고 있음을 보여주는데, 여기서 매니폴드는 국부적으로는 선형(유클리드) 공간과 비슷하게 보이는 부모 공간의 저차원 부분 공간 이다. 여기서 매니폴드 가설은 실제 세상의 모든 데이터가 고차원 공간 안에 있는 저차원 매니폴드에 놓여 있다고 가정한다.

  • 머신 러닝 모델은 가능한 입력 공간 안에서 비교적 간단하고, 저차원이며, 매우 구조적인 부분공간(잠재 매니폴드)만 학습하면 된다.
  • 이런 매니폴드 중 하나 안에서 두 입력 사이를 보간(interpolation)하는 것이 항상 가능하다. 즉, 연속적인 경로를 따라 한 입력에서 다른 입력으로 변형할 때 모든 포인트가 이 매니폴드에 속한다.

일반화의 원천인 보간의 진실 : 근사적으로 학습된 데이터 매니폴드에서 보간을 통해 딥러닝의 일반화가 달성되지만 보간이 일반화의 전부라고 가정하는 것은 실수 !
보간을 이전에 본 것과 매우 가까운 것을 이해하는데 도움을 줄 수 있을 뿐이다. 이것을 지역 일반화(local generalization) 라고 한다.
사람은 보간 이외의 메커니즘으로 궁극 일반화(extreme generalization) 를 할 수 있다.

딥러닝이 작동하는 이유 : 딥러닝은 본질적으로 크고 복잡한 곡선(매니폴드)을 선택하여 훈련 데이터 포인트에 맞을 때까지 파라미터를 점진적으로 조정한다.

모델이 데이터의 매니폴드를 대략적으로 근사하는 중간 지점이 있는데, 그 지점에서 모델이 학습한 곡선을 따라 이동하는 것은 데이터의 실제 잠재 매니폴드를 따라 이동하는 것과 비슷하다.

  • 딥러닝 모델은 입력에서부터 출력이 매끄럽고 연속적인 매핑을 구현한다. 필수적으로 미분가능해야하기 때문에 매끄럽고 연속적이여야한다(그렇지 않으면 경사하강법 이용이 불가능). 이런 매끄러움은 동일한 속성을 가진 잠재 매니폴드를 근사하는데 도움이 된다.
  • 딥러닝 모델은 훈련 데이터에 있는 정보의 형태를 반영하는 식으로 구조화되는 경향이 있다. 특히 이미지 처리 모델과 시퀀스 처리 모델에서 그렇다. 심층 신경망은 학습한 표현을 계층적이고 모듈 방식으로 구조화되며 이는 자연적인 데이터가 구성되는 방식을 반영한 것이다.

가장 중요한 훈련 데이터 : 딥러닝이 실제로 매니폴드 학습에 잘 맞지만 일반화의 능력은 모델의 어떤 속성 때문이라기 보다는 데이터의 자연적인 구조로 인한 결과이다. 특성이 유익하고 잡음이 적을수록 입력 공간이 더 간단하고 구조적이기 때문에 더 잘 일반화할 수 있다. 데이터 큐레이션(data curation)특성 공학(feature engineering) 은 일반화에 필수적이다. 또한 입력 공간을 조밀하게 샘플링하여 훈련해야한다. 학습된 모델이 잠재 공간을 잘 근사하고 보간을 통해 일반화를 달성할 수 있다.


머신 러닝 모델 평가

훈련, 검증, 테스트 세트

단순 홀드 아웃 검증 :데이터의 일정량을 테스트 세트로 떼어 놓고, 남은 데이터에서 훈련하고 테스트 세트로 평가한다.

  • 단점 : 데이터가 적을 때는 검증 세트와 테스트 세트의 샘플이 너무 적어 주어진 전체 데이터를 통계적으로 대표하지 못할 수 있다.

K-겹 교차 검증 : 데이터를 동일한 크기를 가진 K개의 분할로 나눈다. 각 분할 i 에 대해 남은 K-1개의 분할로 모델을 훈련하고 분할 i 에서 모델을 평가한다. 최종 점수는 이렇게 얻은 K개의 점수를 평균한다.
셔플링을 사용한 반복 K-겹 교차 검증 : 비교적 가용 데이터가 적고 가능한 정확하게 모델을 평가하고자 할 때 사용한다.


훈련 성능 향상하기

최적적합 모델을 얻으려면 먼저 과대적합되어야한다. 그 후 일반화 성능을 개선하는데 있어 다음과 같은 문제가 발생한다.

  • 훈련이 되지 않는다 : 시간이 지나도 훈련 손실이 줄어들지 않는다.
  • 훈련은 잘 시작되었지만 모델이 의미 있는 일반화를 달성하지 못한다 : 상식 수준의 기준점을 넘어설 수 없다.
  • 시간이 지남에 따라 훈련과 검증 손실이 모두 줄어들고 기준점을 넘어설 수 있지만 과대적합되지 않을 것 같다.여전히 과소적합 상태이다.

이러한 문제를 해결하기 위하여 !

경사 하강법의 핵심 파라미터 튜닝하기

구조에 대해 더 나은 가정하기

모델 용량 늘리기


일반화 성능 향상하기

데이터셋 큐레이션

특성 공학

출처 : 케라스 창시자에게 배우는 딥러닝(개정판)

profile
어서오세요.

0개의 댓글