Kim Seon Deok

3. 딥러닝 학습 방법론 본문

AI/Deep Learning

3. 딥러닝 학습 방법론

seondeok 2022. 1. 21. 03:08

 

데이터셋 구성

Training set

실제 학습에 사용되는 데이터(전체의 80%)

 

Validation set

학습 중간 중간에 사용되는 평가 데이터 (전체의 약 10%)

best performance model을 선택하는 데 사용됨

 

Test set 

학습 과정에서는 절대 사용하지 않는 데이터 (전체의 약 10%)

내 모델이 실제 사용되는 상황에서 마주하는 데이터 >> 최종성능을 판단

validation set과 함께 사용하지 않는다!!

 

Weight Initialization

딥러닝 학습의 목표 : 좋은 weight의 값을 찾는 것

시작이 어떠한값이어도 좋은 weight에 도달할 수 있을까? >> NO

시작 값이 좋아야 학습도 잘된다.

특정 분포를 정해두고 해당 분포에서 sampling 한 값들을 weight의 초깃값으로 설정

좋은 분포를 설정하는 것이 좋은 시작값을 갖는 것 > 정규 분포를 이용 (평균은 0 , 표준편차의 값을 변경)

sampling 을 하기 때문에 기본적으로 딥러닝학습에는 random성이 존재

같은 상황(모델구조, 데이터, 하이퍼 파라미터)에서도 다른 결과가 나오게 된다.

 

1.Xaiver Initialize

표준편차가 1/√n인 저육분포로 초기화 (n : 앞층 노드 수)

activation function이 sigmoid일 때 사용

n = √(2/n_in+n_out)으로 표현하기도 한다.

simoid 함수이다 보니 0,1일 때 결과값이 압도적으로 많다(표준편자 : 1, 0값 근처에만 매우 몰림 (표준편차 : 0.01))

2.He Initialize

표준편차가 √(2/n)인 정규분포로 초기화

activation function이 ReLU일 때 사용

ReLU함수는 Z가 음수일 때 y가 0으로 처리되므로 결과값이 대체로 0에 치우친다.

Overfitting

딥러닝모델이 겪는 일반적이지만 중요한 문제점

모델이 학습(Train)데이터에 지나치게 집중하면서 실제로 테스트(Test)데이터에서 결과가 더 안좋게 나오는 현상

학습데이터로 학습하고 테스트 데이터에서 성능이 좋은 것을 Generalize(일반화)가 잘 되었다고 얘기 한다.

적절한 학습데이터는 초록선이 학습데이터를 적절히 반영하는 것이다. 초록선이 학습데이터를 과하게 반영하면 train data와 test data 사이 성능차이가 발생한다.

Overfitting의 극복방법

1.Early Stopping

Trainloss & Eval graph 상에서 최적 포인트를 자동으로 찾아 지정한 epoch까지 모두 학습하는 게 아니라 최적 포인트에서 학습과정을 미리 멈추는 기법

학습은 하되, 매 시점마다 accuracy 측정(accuracy 가장 높고 error가 가장 낮은 값)

cross validation error - 학습 중간중간 평가하는 데이터, degree of polynomial - 학습 시간, 하늘색 선을 지나는 순간 validation error과 training error 차이가 벌어지게 되어 overfitting이 발생

2.Dropout

네트워크의 일부를 생략하는 것

학습 중 Forward 과정에서 일부 perceptron을 특정 확률(p)사용 / 미사용함.

p값은 hyper parameter이며 일반적으로 0.5를 사용함(p값이 작아지면 원본과 비슷해짐)

평가과정에서는 Dropout을 사용하지 않고 모든 perceptron을 사용

정해진 데이터셋으로 한 번 학습 하는 과정으로 동일한 네트워크를 이용해 여러 네트워크를 만들어 이용한 최적 네트워크 탐색과정의 효과를 얻을 수 있음

연산 시간이 줄어듦

perceptron 자체를 죽이지 않으면서 weight를 줄임 >> perceptron으로 오는 신호를 꺼버림, 특정 weight 전체를 지우는 게 아니라 학습이 되는 weight들을 중간중간 바꿔가면서 일부는 더 학습되고 일부는 덜 학습되는 방식

3.Weight decay, Weight restriction(parameter Norm Penalties)

Overfitting된 weight들은 보통 그 크기가 매우 크다.

따라서 그 weight들의 값을 너무 키우지 않는 방법으로 Overfitting을 방지한다.

-Weight decay(가중치 감소) E = error

-Weight restriction(가중치 제한)

train에 대해 accuracy가 올라가려면 weight값이 커지고 그래프가 뾰족해야한다. 하지만 그래프가 뾰족해지는것을 penalty로 제한하므로 test accuracy는 증가 train accuracy는 감소

4.Data Augmentation

데이터가 늘어나는 효과

데이터의 특징학습에 도움

 

'AI > Deep Learning' 카테고리의 다른 글

5. CNN을 활용한 대표적 모델  (0) 2022.01.21
4. CNN 기초  (0) 2022.01.21
1. Back propagation  (0) 2022.01.21
딥러닝 학습방법론  (0) 2021.11.23
딥러닝 기초이론 학습의 과정-2 : Loss and Gradient  (0) 2021.11.23
Comments