Kim Seon Deok

딥러닝 학습방법론 본문

AI/Deep Learning

딥러닝 학습방법론

seondeok 2021. 11. 23. 17:47

데이터셋 구성

Training Set : 실제 학습에 사용되는 데이터

Validation Set : 학습 중간 중간에 사용되는 평가 데이터

Test Set : 학습과정에서는 절대 사용하지 않는 데이터. 학습 도중 네트워크가 볼 수 없는 데이터, 실제 사용되는 상황에서 마주하는 데이터

 

 

Weight Initalization

-딥러닝 학습의 목표는 weight의 값을 찾는 것-weight의 가장 초깃값을 생각해 보았을때 그 시작이 어떠한 값이라 했을 때 반드시 좋은 weight에 도달할 수 있는 것은 아니다. >> 시작 값이 좋아야 학습도 잘 된다.-특정 분포를 정해두고 해당 분포에서 sampling한 값들ㅇ르 weight의 초깃값으로 설정-좋은 분포를 설정하는 것이 좋은 시작값을 갖는다. >> 보통은 정규분포를 사용. 평균은 0, 표준편차의 값을 변경

 

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

-같은 상황에서도 다른 결과가 나옴

 

모든 값을 0으로 설정한다면?

같은 layer에 같은 연산이 반복되며 진행되는 구조이다. >> 이후의 층에 전달되는 영향이 계속 같게 되므로 변동성이 너무 낮아진다.

Xavier Initialize

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

activation function이 sigmoid일 때 사용n = √2/(n in + n out)

He Initialize

표준편차가 2/√n인 정규분포로 초기화(n : 앞층 노드수)

activation function이 ReLU일 때 사용

overfitting

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

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

-Train 데이터로 학습하고 Test데이터에서 성능이 좋은 것을 Generalize(일반화)가 잘 되었다고 얘기함.

 

overfitting 극복방법

1.Early Stopping

-최적 포인트에서 학습과정을 미리(Early) 멈추는(Stopping) 기법 >> 학습 도중 성능이 더 안좋아질 수 있기 때문에 학습은 하되, 매 시점마다 accuracy 측정

 

2.Dropout

-네트워크의 일부를 생략>> perceptron 자체를 죽이지 않으면서 weight를 죽임 >> perceptron으로 오는 신호를 꺼버림

- 특정 weight 전체를 지우는 게 아니라 학습이 되는 weight들을 중간중간 바꿔가면서 일부는 더 학습되고 일부는 덜 학습되는 방식 >> 모든 데이터가 과하게 학습되는 것을 방지!! + 서로 다른 구조의 네트워크들이 서로 협력해 문제를 푸는 것처럼 행동

-학습 중 Forward 과정에서 일부 perceptron을 특정 확률(p)로 사용 / 미사용 함 >대체로 p : 0.5

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

-기대효과

    - overfitting 방지

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

    - 연산 시간이 줄어듦

 

 

3.Weight Decay(가중치 감쇠) & 4.Weight Restriction(가중치 제한)

overfitting된 weight들은 보통 그 크기가 매우 크다 >> 그 weight들의 값을 너무 키우지 않는 방법으로 overfitting 방지

 

5.학습 데이터 양 증가 >> Data Augmentation

-데이터가 늘어나는 효과

-데이터의 특징 학습에 도움

-데이터가 작아 늘어나는 Overffiting의 위험을 줄여줌

 

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

3. 딥러닝 학습 방법론  (0) 2022.01.21
1. Back propagation  (0) 2022.01.21
딥러닝 기초이론 학습의 과정-2 : Loss and Gradient  (0) 2021.11.23
1. 딥러닝 학습 기초  (0) 2021.11.22
LSTM  (0) 2021.11.20
Comments