[인공지능] PyTorch로 분류 모델 만들기 정리

라떼뚜이·2025년 4월 25일

인공지능

목록 보기
11/23

End-to-End Classification Example

1단계 : 데이터셋 만들기

  • X : 입력 데이터 (예 : 키, 몸무게)
  • Y : 정답 클래스 (예 : 0 = 남자, 1 = 여자)
  • 둘을 PyTorch가 처리할 수 있게 Tensor로 변환
train_loader = DataLoader(train_dataset, batch_size=2, shuffle=True)
  • 데이터를 2개씩 나눠서(batch) 학습하고,
  • 순서도 섞어서 (shuffle) 학습 효과를 높이려는 설정

2단계 : 모델 만들기

  • fc1 : 첫 번째 레이어 (입력 → 은닉층)
  • fc2 : 두 번째 레이어 (은닉층 → 출력층)
  • input_dim =2 이면 입력 특징이 2개 (예 : x1 = 키, x2 = 몸무게)
  • forward() : 입력이 들어왔을 때, 예측값을 어떻게 계산할지 정의함
  • ReLU 는 은닉층에서만 사용

3단계 : 손실함수와 옵티마이저 정의

  • CrossEntropyLoss : 분류 모델에서 예측값과 정답의 차이(=손실) 을 계산
  • Adam : 가중치를 얼마나 어떻게 바꿀지 결정해주는 학습 알고리즘
  • model.parameters() : 학습 대상인 모델의 가중치들

4단계 : 학습 루프

  • 1번 반복 = 1 epoch
  • 모델은 데이터를 보고 예측하고, 틀렸다면 가중치를 조금씩 수정

5단계 : 예측해보기 (모델 평가)

  • eval() 은 학습 중에 쓰던 기능들(dropout 등)을 꺼서 정확한 예측이 가능하게 함
  • 예측 결과는 [0.2, 0.8] 처럼 나옴 → argmax로 가장 큰 값을 가지는 클래스 선택 (예 : 1번 클래스)

0개의 댓글