Study/AI

[AI]작업 흐름

seomj 2021. 2. 9. 18:10

1. 문제 정의와 데이터셋 수집

입력과 출력이 무엇인지, 어떤 데이터를 사용할 것인지

 

 

2. 성공 지표 선택

성공은 무엇인가를 정의

성공의 지표가 모델이 최적화할 손실 함수를 선택하는 기준이 됨

 

 

3. 모델 평가 방법 선택

데이터를 훈련, 검증, 테스트 세트로 나눔

  • 홀드아웃 검증 세트 분리: 데이터가 풍부할 때 사용
  • K-겹 교차 검증: 홀드아웃 검증을 사용하기에 샘플의 수가 너무 적을 때 사용
  • 반복 K-겹 교차 검증: 데이터가 적고 매우 정확한 모델 평가가 필요할 때 사용

선택할 때 유의해야할 사항: 대표성 있는 데이터, 시간의 방향, 데이터 중복

 

 

4. 데이터 준비

데이터 전처리

  • 벡터화
  • 정규화
  • 누락된 값 다루기
  • 특성 추출

 

 

5. 기본보다 나은 모델 훈련하기

통계적 검정력을 달성하는 것

아주 단순한  모델보다 나은 수준의 작은 모델을 개발

 

첫 번째 모델을 만들기 위해 세 가지 중요한 선택

  • 마지막 층의 활성화 함수
  • 손실 함수
  • 최적화 설정

손실 함수는 주어진 미니 배치 데이터에서 게산 가능해야 하고, 미분 가능해야 함

 

모델에 맞는 마지막 층의 활성화 함수와 손실 함수 선택

문제 유형 마지막 층의 활성화 함수 손실 함수
이진 분류 시그모이드 binary_crossentropy
단일 레이블 다중 분류 소프트맥스 categorical_crossentripy
다중 레이블 다중 분류 시그모이드 binary_crossentropy
임의 값에 대한 회귀 없음 mse
0과 1 사이 값에 대한 회귀 시그모이드 mse 또는 binary_crossentropy

 

 

6. 몸집 키우기: 과대적합 모델 구축

과소적합과 과대적합 사이, 즉 과소용량과 과대용량의 경계에 적절히 위치한 모델이 이상적

-> 어디에 위치하는지 찾기 위해서는 지나쳐 보아야 함

 

모델의 크기를 알기 위해서는 과대적합된 모델을 만들어야 함

  1. 층을 추가
  2. 층의 크기를 키움
  3. 더 많은 에포크 동안 훈련

검증 데이터에서 모델 서능이 감소하기 시작했을 때 과대적합에 도달한 것

 

 

7. 모델 규제와 하이퍼파라미터 튜닝

  • 드롭아웃 추가
  • 층을 추가하거나 제거해서 다른 구조를 시도
  • L1이나 L2 또는 두 가지 모두 추가
  • 최적의 설정을 찾기 위해 하리퍼파라미터를 바꾸어 시도
  • 선택적으로 특성 공학을 시도

 

 

 

출처 : 케라스 창시자에게 배우는 딥러닝