전체 글
-
early stoppingML/DeepLearning 2025. 4. 7. 15:55
출처: gpt 좋아, 딥러닝에서 자주 쓰는 **early stopping** 개념을 간단하고 직관적으로 설명해줄게!---### 🛑 Early Stopping이란?> **모델이 더 이상 개선되지 않으면 학습을 조기 종료하는 기법**이야.---### 🤔 왜 쓰는 걸까?- **오버피팅(overfitting)** 방지: 너무 오래 학습하면 모델이 학습 데이터에 과하게 맞춰져서, validation 성능은 오히려 **나빠질 수 있어**.- **학습 시간 절약**: 이미 최적 성능을 낸 뒤에는 **더 돌려봐야 의미 없음** → 시간 낭비 방지.---### 💡 어떻게 동작하냐면?보통은 아래 로직을 써:1. 매 epoch마다 **validation loss (또는 accuracy)** 를 확인해...
-
-
mixed precisionML/DeepLearning 2025. 4. 7. 11:36
출처:Gpt원래 float32를 쓰는데, 계산 정확도가 엄밀하지 않아도 되는 부분에는 float 16을 사용하여 연산 효율화 하는 방법. (메모리 절약, 속도 향상) 모델 훈련하는 부분에 적용해주면 되는데, 아래 autocast부분에 모델 예측 + loss계산은 float16로,optimizing하는 부분은 float32로scaler = torch.cuda.amp.GradScaler()for inputs, labels in dataloader: optimizer.zero_grad() with torch.cuda.amp.autocast(): outputs = model(inputs) loss = criterion(outputs, labels) scaler.scale..
-
-
train/valid/test set 나누는 기준ML/추천 2025. 3. 19. 17:47
출처: GPT 2번이 엄밀한 것 같고, 1번+3번 조합으로 쓰는 것이 현실적으로 보임1. 시간 기반 분할 (Temporal Split)최신 트렌드를 반영하려면 과거 데이터를 Train Set, 최근 데이터를 Validation/Test Set으로 사용해야 해.예: 2023년 1월~10월 → Train Set, 11월 → Validation Set, 12월 → Test Set.클릭 데이터는 시간이 지남에 따라 변하므로, 과거 데이터로 미래 클릭을 예측하는 방식이 일반적이야.2. Leave-One-Out (LOO) 또는 Leave-Last-N 방식각 사용자별 마지막 클릭을 Test Set으로 둬서, 이전 클릭 데이터를 기반으로 최종 클릭을 예측하도록 학습.예: 한 사용자가 10개의 클릭 기록이 있다면, 9개..
-
2017 NCF 논문 pytorch 구현 (toy dataset)ML/추천 2025. 3. 17. 18:35
아무래도 과거의 논문이다보니, pytorch로 된 코드가 많이없고 최근 버전과 안맞는 경우가 많았어서 , perplexity, gpt와 대화하면서 얻어냈다NCF의 주요 특징기본구조: 기존 MF모델(선형성) + MLP모델 결합(비선형성). -> 의의 : 협업 필터링을 딥러닝 기반으로 확장, 딥러닝을 추천 시스템에 적용하는 연구의 출발점 역할negative sampling: 추천의 경우 1,0 라벨중 0라벨이 없기때문에 상호작용이 없었던 아이템중에서 무작위로 선출( Random Negative Sampling)implicit feedback : 평점 대신 좀더 현실성 있는 클릭, 좋아요 데이터 사용 가능loss function: 기존의 MF 방식은 주로 MSE(Mean Squared Error) 를 사용하지..