카테고리 없음

언젠간 나도 개발자 4

강블루 2021. 10. 17. 23:33

Droupout

 

딥러닝을 시작했다면 overfitting이란 단어를 많이 들어봤을것이다

overfitting(과적합)을 쉽게 설명하자면 기사시험을 준비한다고 치자 그럼 기출문제만 달달 외운다면 답이 다기억나서 기출문제를 풀면 100점을 맞을 것이다 하지만 조금이라도 달라진 새로운 문제를 푼다고 하면 틀릴 확률이 높을 것이다

이러한 현상을 Training Data(학습 데이터)에 Overfitting(과 적합)되었다고 한다.

즉 너무 과적합이 되면 일반화 능력이 떨어지며 새로운 데이터가 들어오면 맞출 가능성이 적어진다

앞에 설명이 길어졌는데 Droupout도 이 overfitting을 방지하기 위한 방법으로 등장하게 되었다

 

기본 신경망의 구조는 왼쪽처럼 각 레이어가 노드로 연결되어있다.

모델이 깊어질수록 선들이 매우 많아지는것을 알 수 있다 즉 매우 열심히 학습하게 되는 것이다

간단히 말하면 너무 똑똑해지는것을 방지하기위해(overfitting을 방지하기 위해) 인간처럼 까먹을수있게 한것이

Droupout이다(Droupout이란 선택적으로 노드를 Drop하는 것이다)

 

Training Data에서는 학습이 조금 덜 될 수도 있지만 일반화(Regularzation) 능력을 키워 Test Data에 대한 예측률을 높이는 방법이다