728x90
Dropout이라는게 뭔지 생각해보려면
머신러닝 기초 파트를 공부할 때 배웠던
overfitting에 대해서 다시 상기해야한다.
Overfitting이란 train data에 과하게 학습이 되어
그 이외의 데이터에서는 정확도가 떨어지는 현상을 의미한다.
이것을 해결하기 위해서 다양한 해결법이 존재했다.
3가지 정도를 봤었고 그 중에서 regularization이 조금 특이했기에
식까지 살펴보았다.
cost 값에 상수와 weight 제곱의 합의 곱을 더해주는
L2 형식의 규제를 살펴보았었다.
위의 내용은 강의 7강에 담겨있다.
Dropout 도 딥러닝에서 overfitting을 해결하는 방법 중 하나이다.
그 아이디어가 특이하기에 살펴볼 필요가 있다.
위의 그림에서 보이는 것과 같이 학습 시 neural network 사이의 연결을
일부러 끊어버리는 방법이다.
기껏 만들어둔 모델 중 일부만 사용하는 것이 이상해 보일 수 있다.
서로 다른 모델들을 이용하여 학습을 진행한 후 최적의 모델로 일반화 하는 것이다.
머신러닝 기법 중 앙상블을 들어보았다면 Dropout이 비슷한 역할을 수행하며 효율을 정확도를
높여줄 수 있다는 예상을 할 수 있다.
반응형
'딥러닝 > 모두를 위한 딥러닝 시즌1' 카테고리의 다른 글
[모두를 위한 딥러닝 시즌1] Lec11-02. ConvNet Max pooling 과 Full Network (1) | 2024.02.10 |
---|---|
[모두를 위한 딥러닝 시즌1] Lec11-01. ConvNet의 Conv 레이어 만들기 (0) | 2024.02.10 |
[모두를 위한 딥러닝 시즌1] Lec10-02. Weight 초기화 (1) | 2024.02.10 |
[모두를 위한 딥러닝 시즌1] Lec10-01. ReLU activation function (3) | 2024.02.10 |
[모두를 위한 딥러닝 시즌1] Lec09. XOR 문제 딥러닝으로 풀기 (1) | 2024.02.10 |