본문 바로가기

AI28

[01 - ImageNet Sketch 데이터] - Training (resnet101) [1] 1. Agumentation이미지 분류 모델을 학습할 때, 데이터가 많지 않거나 특정한 패턴에 대해 과적합이 발생할 우려가 있다. 이런 상황을 개선하기 위해 데이터 증강(Augmentation) 기법을 사용하는데, 이 과정에서 이미지의 크기나 시각적 왜곡을 가하여 다양한 형태의 학습 데이터를 만들 수 있다.class AlbumentationsTransform: def __init__(self, is_train: bool = True): # 공통 변환 설정 common_transforms = [ A.Resize(224, 224), # 224x224 resize A.Normalize(mean=[0.485, 0.456, 0.406], st.. 2024. 9. 24.
ResNet 논문 리뷰 Abstract 깊은 신경망은 훈련하기 어렵다는 문제가 있습니다. Resnet 논문에서는 이전보다 훨씬 더 깊은 네트워크의 훈련을 용이하게 하기 위해 Residual learning(잔차 학습) 제안했습니다. 기존의 신경망은 각 층에서 출력할 값을 직접 학습 즉, 새로운 함수를 계속 학습하는 것인데, 이 방식은 층이 깊어질수록 학습하기 어려워지는 문제가 있었습니다. Residual Learning에서는 각 층이 출력할 값 자체를 학습하는 대신, 출력 값과 입력 값의 차이(residual(잔차))를 학습하게 됩니다. 이 Residual 는 "기존의 입력값에서 얼마나 더 변화를 줘야 하는지"만 신경 쓰는 것이죠. 이렇게 하면 신경망이 깊어져도 학습이 훨씬 더 쉬워집니다. 쉽게 말해서, 일반 신경망은 "처음부.. 2024. 9. 20.
StratifiedKFold란? StratifiedKFold와 앙상블을 사용한 CIFAR-10 분류 모델 학습이번 포스팅에서는 StratifiedKFold를 사용하여 CIFAR-10 데이터셋을 다루는 방법과, 각 폴드에서 학습한 모델들을 앙상블하여 최종 성능을 높이는 방법을 소개하겠습니다. StratifiedKFold는 데이터셋의 클래스 비율을 유지하면서 데이터를 여러 폴드로 나누기 때문에, 특히 데이터 불균형 문제를 해결하는 데 유용합니다.1. 프로젝트 개요우리는 CIFAR-10 데이터셋을 사용하여 이미지를 분류하는 작업을 수행할 것입니다. 이 데이터셋에는 10개의 클래스(예: 개구리, 고양이, 개 등)로 분류된 이미지가 있습니다. 각 클래스에서 고정된 수의 샘플을 선택한 후, StratifiedKFold를 사용하여 교차 검증을 진행.. 2024. 9. 16.
[01 - ImageNet Sketch 데이터] - Torchvision 와 Albumentations Trasnformer 비교 최근에 ImageNet Sketch 데이터셋을 사용하여 딥러닝 모델을 학습하던 중, 두 가지 이미지 변환 라이브러리인 Torchvision과 Albumentations에서 미묘한 차이점을 발견하게 되었습니다. 표면적으로는 동일한 이미지 전처리 작업을 적용했지만, 내부 구현 방식의 차이로 인해 모델 학습 과정에서 로스(loss)와 성능에 차이가 생겼습니다. 이 글에서는 두 라이브러리 간의 차이점을 명확히 비교하고, 실제로 어떻게 다른지 설명드리겠습니다.1. 변환 라이브러리의 내부 구현 차이회전의 중심이 어디로 설정되는지,이미지 크기 조정 방식,픽셀 처리 방식 등이 다를 수 있다.이러한 미세한 차이들이, 특히 모델이 민감하게 반응할 수 있는 스케치 이미지와 같은 데이터에서 큰 영향을 미칠 수 있습니다. 스케.. 2024. 9. 13.