파이토치(PyTorch) 딥러닝 모델링 전략 (2) - 파이토치 딥러닝 모델링 단계
파이토치를 활용한 딥러닝 모델링이 익숙하지 않아서
중요하다고 생각되는 부분들을 정리하고자 포스팅합니다.
파이토치 딥러닝 모델링 단계
1) 문제 이해, 모델링 전략 수립
- 해결할 문제를 이해하고, 문제에 대한 배경과 목적을 정의한다.
- 어떤 데이터를 활용해서 어떤 방식으로 무엇을 예측/분류/처리 해야 하며 어떻게 접근할지 등을 확인한다.
2) 데이터 확보 전략 수립 및 확보
- 상기 1의 문제이해/정의가 명확해지면 목적에 맞는 데이터를 확보하기 위한 전략을 수립하고, 필요한 데이터의 형태, 수량에 맞게 확보하여야 한다. (확보시 많은 시간과 비용이 들 수 있음)
3) 데이터 구조 탐색/시각화 - EDA(Exploratory Data Analysis, 탐색적 데이터 분석)
- 활용할 데이터의 구조를 탐색한다. 데이터 시각화를 통해 타깃값의 분포를 확인한다.
· 데이터 양(파일 수 및 크기, 전체 용량 등), 데이터 형태 확인
· 피처 이름, 의미 이해
· 타깃값 설정 후 타깃값의 분포 확인(데이터 불균형 여부)
· 데이터 불량 확인
- 데이터의 수량이 충분한지 확인하고, 불충분할 경우 데이터 재확보 또는 재활용(Data Augmentation 활용 등)할 지 여부도 결정한다.
4) 베이스라인 모델 셋팅/모델 훈련 및 예측 수행
- 데이터 구조에 맞는 베이스라인 모델을 설정하고, 1차적으로 이를 구현할 수 있는 환경을 셋팅한다.
(1) 환경 설정 : 결과 재현이 가능토록 Seed 고정, GPU 자원 활용이 가능할 시 Device 설정
(2) 데이터 준비 : 활용할 딥러닝 Framework에 적합하게 데이터를 준비한다.
훈련/검증 데이터 분리, 데이터셋 클래스 정의 및 생성, 데이터 로더 생성, 배치(Batch) 크기 설정,
이미지 변환기 셋팅(데이터 증강) 등
*이미지 변환기 참고 링크 : 1) torchvision.transform 변환기, 2) Albumentations 변환
(3) 모델 훈련, 성능 검증 : 백본(BackBone) 모델 생성(Neuralnet Model을 직접 생성 or Pretrained Model 활용), 손실함수(criterion) 및 옵티마이저(Optimizer) 설정, 훈련데이터를 활용하여 모델 훈련
* 모델 생성 참고 링크 : 1) torchvision.models 모듈, 2) pretrainedmodels 모듈
(4) 예측 수행 : 훈련된 모델과 테스트 데이터셋으로 예측 수행
5) 성능 개선 모델 셋팅/성능 검증 및 예측
- 다양한 기법을 활용하여 딥러닝 모델의 성능을 개선해본다. (데이터 증강, Pretrained Model 선정, 하이퍼파라미터 조정, 모델 앙상블, 손실함수 최적화, 옵티마이저 최적화, 스케쥴러 설정, 에폭 수 변경 등)
- 개선 모델을 훈련 데이터(train data)로 훈련 후 성능을 검증 데이터(valid data)로 평가한다. 성능이 좋지 않을 경우, 앞의 단계로 돌아가 다시 수행해야 한다. (TTA(테스트 단계 데이터 증강), 레이블 스무딩 적용 등)
- 성능이 개선되었다고 판단되는 모델은 테스트 데이터(test data)를 활용하여 최종 결과를 예측한다.
'DataScience > 딥러닝' 카테고리의 다른 글
파이토치(PyTorch) 딥러닝 모델링 전략 (3) - 파이토치 딥러닝 모델링 단계별 기본 셋팅 (1) | 2024.07.01 |
---|---|
파이토치(PyTorch) 딥러닝 모델링 전략 (1) - 모델링 할 때 지녀야 할 마인드셋 (0) | 2024.06.30 |
딥러닝 :: 밑바닥부터 시작하는 딥러닝 Chap5. 오차역전파법 (0) | 2023.05.06 |
딥러닝 :: 밑바닥부터 시작하는 딥러닝 Chap4. 신경망 학습 (0) | 2023.05.05 |
딥러닝 :: 밑바닥부터 시작하는 딥러닝 Chap3. 신경망 (0) | 2023.05.03 |
댓글