EH_dream

딥러닝실습정리: Boston, Reuters, CIFAR_25.06.11 본문

딥러닝

딥러닝실습정리: Boston, Reuters, CIFAR_25.06.11

Song EH. 2025. 6. 11. 20:29

딥러닝 실습 정리

이번 글에서는 세 가지 실습 과정을 정리한다. Boston Housing 데이터셋을 활용한 주택 가격 예측, Reuters 뉴스 텍스트 분류, CIFAR-10 이미지 분류까지의 흐름을 정리했고, 각 프로젝트마다 모델 구성, 손실 함수 설정, 전처리 방식, 학습 전략 등을 하나하나 실습하며 정리했다.


 

Boston Housing

Boston Housing 데이터는 보스턴 시의 여러 주택 정보를 바탕으로 주택 가격을 예측하는 회귀 문제였다. 특성은 총 13개로, 각 특성에 대해 평균과 표준편차를 기준으로 표준화를 진행했고, 학습 데이터에서 구한 평균과 표준편차를 테스트셋에도 동일하게 적용했다. 모델은 Dense 레이어로 구성된 단순한 회귀 모델로, 출력층은 노드 1개에 활성화 함수 없이 구성했고 손실 함수는 mean_squared_error, 평가지표는 mean_absolute_error를 사용했다. 학습에는 EarlyStopping과 ModelCheckpoint 콜백을 함께 사용해 과적합을 방지하고 최적 가중치를 저장했다.

 

 

Reuters 뉴스

Reuters 뉴스 분류는 텍스트 데이터에 대한 다중 클래스 분류 문제였다. 46개의 뉴스 카테고리를 분류해야 했고, 입력은 정수 인덱스로 표현된 단어 시퀀스였다. 전체 단어 수는 상위 10,000개로 제한했고, 원-핫 인코딩을 통해 입력을 10,000차원의 벡터로 변환했다. 레이블도 to_categorical()을 이용해 원-핫 인코딩 방식으로 변환했다. 모델은 Dense(128) - BatchNormalization - Dropout - Dense(64) - BatchNormalization - Dropout - Dense(46, softmax) 구조로 구성했고, 손실 함수는 categorical_crossentropy, 평가지표는 accuracy를 사용했다. 학습에는 EarlyStopping과 ModelCheckpoint를 동일하게 적용했고, 전처리 순서에 따라 shape 에러가 나지 않도록 조심해야했다.

 

 

CIFAR-10

CIFAR-10은 32x32 크기의 RGB 컬러 이미지로 구성된 10개 클래스 분류 문제였다. 데이터는 (32, 32, 3) 형태였고, Flatten 방식으로 32 * 32 * 3 = 3072 형태로 변형했다. 클래스는 'airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck' 으로 총 10종. 모델은 Dense(512) - Dense(256) - Dense(10, softmax)로 구성했고, 손실 함수는 정수형 레이블에 맞춰 sparse_categorical_crossentropy를 사용했다. 마찬가지로 조기 종료와 체크포인트 콜백을 추가해 학습을 안정화시켰다.

모든 실습에서는 train_test_split()으로 학습/검증 데이터를 분리했고, 학습 중에는 loss, val_loss, accuracy, val_accuracy의 변화를 시각화하여 학습 진행 상황을 확인했다.

 

 

실습 흐름을 따라가면서 데이터 전처리 순서, 손실 함수와 레이블 형식의 일치 여부, 입력 형태와 모델 구성의 연결 등을 꼼꼼히 맞춰야 오류 없이 진행할 수 있었다.