[AIVLE SCHOOL] 딥러닝(3) - 성능 관리

춤추는 머쉬룸·2024년 11월 1일

AIVLE SCHOOL 6기

목록 보기
60/80
post-thumbnail

11/1 4, 5, 6, 7세션

A. 딥러닝의 복잡도

  • 파라미터 수가 많을 수록
  • 복잡하다
  • 연결이 많다
  • GPT 3.5의 파라미터 수는 1750억 개

B. Early Stop

  • 학습 시 callbacks 파라미터 추가
  • min_delta : 얼마나 차이가 나야하는 지
  • patience : 오류 차가 커지는 것을 몇번 기다릴 것인지
min_de = 0.001
pat = 5

es = EarlyStopping(monitor = 'val_loss', min_delta = min_de, patience = pat)

# 모델 학습
hist = model.fit(x_train, y_train, epochs=1000, validation_split=.2, callbacks=[es], verbose=0).history

C. Dropout

  • 과적합을 줄이기 위해 사용되는 정규화 기법
  • 훈련 배치에서 랜덤하게 선택된 일부 뉴런 제거
  • 모델 생성 시에 Dense 다음에 넣음
  • 하이퍼파라미터다
# Sequential 타입
model3 = Sequential( [Input(shape = (nfeatures,)),
                      Dense(128, activation= 'relu'),
                      Dropout(0.4),
                      Dense(64, activation= 'relu'),
                      Dropout(0.4),
                      Dense(32, activation= 'relu'),
                      Dropout(0.4),
                      Dense(1, activation= 'sigmoid')] )

TIP! 최근 DL 모델링 추세

  • 모델 구조를 복잡하게 (레이어, 노드 개수 많이)
  • 규제 기법 적용 (epoch, dropout)

D. 가중치 규제

Lasso (L1 규제)

  • 가중치 절대값의 합을 줄임

Ridge (L2 규제)

  • 가중치 제곱의 합을 줄임

0개의 댓글