딥러닝

역전파 알고리즘(Backpropagation), 오차역전파법

데이터요리사 2021. 11. 30. 17:42
-정방(Feedforward) 연산 이후, 에러(Error) 예측값과 실제값과의 오차를 후방(Backward)으로 다시 보내줌으로써, 많은 노드를 가진 MLP라도 최적의 Weight와 Bias를 학습하는 기법
-가중치들(wn) 각각에 대해 별도로 경사하강을 관찰하고, 누적오차 감소에 가장 큰 기여를 하는(기울기가 가장 가파른 쪽의) 가중치 한 개 값을 이동시키는 방법을 반복하여 해를 찾아 가는 기법
-다중퍼셉트론의 은닉층 학습의 한계를 해결: 출력층의 오차를 역전파하여 은닉층을 학습
 

 

 

1)전파(propagation)단계

학습 벡터로부터 실제 출력값을 출력하고,

목적값(target value)와 실제 출력값의 차이인

오차를 계산하여 각 층에 전달

2) 가중치 수정단계

전파된 오차를 이용하여 가중치를 수정

 

Vanishing Gradient(기울기 소멸 문제)

 

-역전파 알고리즘을 학습을 통해 가중치를 수정할 때, 은닉층으로 오차가 거의 전달 되지 않는 문제
-은닉층을 여러 단계 거치는 딥러닝에서 가중치를 수정하기 위해 미분을 반복적으로 사용하면서 기울기가 0이 되어버려 학습이 중단되는 문제
-원인 : data set 부족, 컴퓨터 파워 부족, 초기 가중치 값 오류, 활성함수 선택 오류
-해결 방안 :  Drop Out, GPU활용 , ReLU 활성화 함수 적용  

시그모이드 미분값은 약 0.3 이하

 

DROPOUT

-오류역전파의 문제점을 개선한, 신경망 학습시 임의의 노드를 생략하고 학습하는 알고리즘
-학습 시, weight의 동조화 되는 현상 회피

무작위로 일부 Node를 Dropout.  단, 학습 시에만 활용됨.

 

Overfitting(과적합), Underfitting(부적합)

Overfitting(과적합)

- 학습데이터에 성능이 좋지만 실제 데이터에 관해 성능이 떨어지는 현상

- Supervised Learning 을 통해 만들어진 모델이 학습 데이터(Training data) 내에서는 분류가 잘되나, 새로운 데이터(Unseen Data or Test Data )에서는 분류성능이 떨어지는 상황

Underfitting(부적합)

- 적정 수준의 학습을 하지 못해 실제 성능이 떨어지는 현상

ü조기 종료(early stopping) :
정확도가 떨어지는 순간 학습 종료
ü가중치 감소
ü드롭아웃
 
 
해결기법 상세설명
Drop out 학습 중에 은닉층의 뉴런을 무작위로 삭제하여 과적합을 예방하는 기법

Weight decay
(가중치 감소)
학습 과정에서 큰 가중치에 대해서 큰 페널티를 부과하여 과적합을 예방하는 기법,
모든 가중치의 각각 손실 함수에   1/2λW2
Validation Set Validation Set을 통한 모델에 대한 성능 평가 수행

교차검증
(Cross-validation)
ØLeave-One-Out CV (LOOCV) : 첫 번째 값을 제외하고  training set 적용
ØLeave-p-Out CV(LpOCV)
Øk-fold CV (KFCV) : 전체 데이터를 k등분 후, 각 등분을 한번씩 테스트 (평균값 이용)
ØRepeated Learning-Testing (RLT) : 랜덤하게 validationtraining set 분리 후 테스트(평균값 이용)
728x90