Dropout 이란?
- 딥러닝 학습에 있어서의 overfitting을 방지하기 위한 방법 중 한 가지
- hidden layer의 일부 뉴런이 동작하지 않게 하여, 특정한 feature만을 과도하게 학습하는 것을 방지하는 방법
- 모델링시 계층(레이어) 설정에서 정의
Dropout 사용법
from keras.layers import Dropout
# 노드의 20%를 드롭아웃 처리
model.add(Dropout(0.2))
전체 모델 예시
import tensorflow as tf
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Dropout
def build_model():
model = Sequential()
model.add(Dense(128, 'relu', input_shape=(784,)))
model.add(Dropout(0.2))
model.add(Dense(64, 'relu'))
model.add(Dense(10, 'softmax'))
model.compile('adam', 'sparse_categorical_crossentropy', ['accuracy'])
return model
'Machine Learning > Deep Learning' 카테고리의 다른 글
Tensorflow - 이미지를 1차원으로 만드는 방법(Flatten) (0) | 2022.12.30 |
---|---|
Tensorflow - Callback 클래스를 이용해서, 원하는 조건이 되면 학습을 멈추기 (0) | 2022.12.29 |
Tensorflow - Overfitting, Underfitting 개념 (0) | 2022.12.29 |
Tensorflow - ANN 분류 모델 activation, loss 함수 설정 방법 (0) | 2022.12.29 |
Tensorflow - 3개 이상 분류 문제의 인공신경망(ANN) (0) | 2022.12.29 |