본문 바로가기
DataScience/딥러닝

파이토치(PyTorch) 딥러닝 모델링 전략 (2) - 파이토치 딥러닝 모델링 단계

by 올커 2024. 6. 30.

파이토치(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)를 활용하여 최종 결과를 예측한다.

 

반응형

댓글