[01 ImageNet Sketch] - Training (resnet101)
·
딥러닝 (Deep Learning)/[08] - 프로젝트
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..
ResNet 논문 리뷰
·
딥러닝 (Deep Learning)/[05] - 논문 리뷰
Abstract 깊은 신경망은 훈련하기 어렵다는 문제가 있습니다. Resnet 논문에서는 이전보다 훨씬 더 깊은 네트워크의 훈련을 용이하게 하기 위해 Residual learning(잔차 학습) 제안했습니다. 기존의 신경망은 각 층에서 출력할 값을 직접 학습 즉, 새로운 함수를 계속 학습하는 것인데, 이 방식은 층이 깊어질수록 학습하기 어려워지는 문제가 있었습니다. Residual Learning에서는 각 층이 출력할 값 자체를 학습하는 대신, 출력 값과 입력 값의 차이(residual(잔차))를 학습하게 됩니다. 이 Residual 는 "기존의 입력값에서 얼마나 더 변화를 줘야 하는지"만 신경 쓰는 것이죠. 이렇게 하면 신경망이 깊어져도 학습이 훨씬 더 쉬워집니다. 쉽게 말해서, 일반 신경망은 "처음부..
StratifiedKFold란?
·
딥러닝 (Deep Learning)/[04] - 학습 및 최적화
StratifiedKFold와 앙상블을 사용한 CIFAR-10 분류 모델 학습이번 포스팅에서는 StratifiedKFold를 사용하여 CIFAR-10 데이터셋을 다루는 방법과, 각 폴드에서 학습한 모델들을 앙상블하여 최종 성능을 높이는 방법을 소개하겠습니다. StratifiedKFold는 데이터셋의 클래스 비율을 유지하면서 데이터를 여러 폴드로 나누기 때문에, 특히 데이터 불균형 문제를 해결하는 데 유용합니다.1. 프로젝트 개요우리는 CIFAR-10 데이터셋을 사용하여 이미지를 분류하는 작업을 수행할 것입니다. 이 데이터셋에는 10개의 클래스(예: 개구리, 고양이, 개 등)로 분류된 이미지가 있습니다. 각 클래스에서 고정된 수의 샘플을 선택한 후, StratifiedKFold를 사용하여 교차 검증을 진행..
[01 ImageNet Sketch] - Torchvision 와 Albumentations Trasnformer 비교
·
딥러닝 (Deep Learning)/[08] - 프로젝트
최근에 ImageNet Sketch 데이터셋을 사용하여 딥러닝 모델을 학습하던 중, 두 가지 이미지 변환 라이브러리인 Torchvision과 Albumentations에서 미묘한 차이점을 발견하게 되었습니다. 표면적으로는 동일한 이미지 전처리 작업을 적용했지만, 내부 구현 방식의 차이로 인해 모델 학습 과정에서 로스(loss)와 성능에 차이가 생겼습니다. 이 글에서는 두 라이브러리 간의 차이점을 명확히 비교하고, 실제로 어떻게 다른지 설명드리겠습니다.1. 변환 라이브러리의 내부 구현 차이회전의 중심이 어디로 설정되는지,이미지 크기 조정 방식,픽셀 처리 방식 등이 다를 수 있다.이러한 미세한 차이들이, 특히 모델이 민감하게 반응할 수 있는 스케치 이미지와 같은 데이터에서 큰 영향을 미칠 수 있습니다. 스케..
Day-21
·
AI Naver boost camp/회고
강의딥러닝 문제 정의 학습 내용어떻게 모델을 선택하는지문제 정의를 어떻게 접근 하는지  Daily study모델의 Inductive Bias 확인 후데이터가 어떤 모델에 적합한지 생각하기  회고어떤 딥러닝 프로젝트를 진행 할때막연한 과정에, 막연한 결론을 내봤자, 막연한 경험이 될뿐 이다그래서 근간의 이해하면서 공부와 프로젝를 진행 해야한다.
[05] - CV 분야에서 모델의 이해 및 선정 방법
·
AI Naver boost camp/CV 프로젝트 가이드
1. 모델 이해 (Understanding Model) 1) 모델은 어떻게 이해할까??딥러닝 모델의 작동 방식을 이해하는 것은 복잡한 과정이지만, 그 근본적인 원리는 비교적 간단하다.우리는 데이터를 입력으로 주고, 모델은 그 데이터를 처리하여 예측을 내놓는다.하지만 그 과정에서 모델이 실제로 데이터를 어떻게 이해하고, 왜 특정한 결과를 도출하는지에 대한 이해는 어려울 수 있다.  Model은 어떻게 복잡한 데이터를 이해 할까?? 딥러닝의 Model 에서 집중적으로 봐야할 것은 그 안에 시스템이다.이 모델이 무엇이길래?? 어떻게 구성되어 있길래?? 학습을 어떻게 하는거지??모델의 근간에 대해서 이해를 해보자.  2) Inductive Bias (귀납적 편향) 위의 표는 딥러닝의 구성 요소들이 어떻게 데이터..
[02] - 다양한 Image Format
·
AI Naver boost camp/CV 프로젝트 가이드
1. Image  Data 및 Type1) Image Data이미지는 컴퓨터에서 데이터로 처리됩니다. 이미지를 처리할 때 중요한 요소는 해상도, 픽셀, 채널입니다. 이미지를 정확히 이해하고 처리하기 위해서는 이 요소들을 잘 파악해야 합니다.이미지는 컴퓨터에서 보통 w, h, c 형태의 데이터로 표현됩니다.w: 이미지의 너비(Width)h: 이미지의 높이(Height)c: 채널(Channel) 수예를 들어, w=1920, h=1080, c=3인 이미지는 1920x1080 해상도를 가진 이미지이며, 각 픽셀이 3개의 값을 갖는다는 뜻입니다. 이 3개의 값은 RGB 채널을 의미하며, 각각 빨간색(Red), 초록색(Green), **파란색(Blue)**의 값을 나타냅니다. 2) 이미지의 Data Type  디지..
[01] - 딥러닝 문제 정의 및 구체화
·
AI Naver boost camp/CV 프로젝트 가이드
딥러닝 모델을 개발할 때, 많은 사람들이 모델 설계나 데이터 처리에 집중하는 경향이 있습니다.하지만, 문제 정의와 구체화 과정이 제대로 이루어지지 않으면 아무리 좋은 모델을 사용하더라도원하는 성과를 얻기 어렵습니다. 이번 글에서는 딥러닝 프로젝트에서 문제를 정의하고 구체화하는 과정이 왜 중요한지,그리고 이 단계가 프로젝트의 성공에 어떤 영향을 미치는지 알아보겠습니다.1. 문제 정의가 왜 중요한가?문제를 정확하게 정의하는 것은 딥러닝 프로젝트의 첫걸음입니다.문제를 제대로 이해하지 못하면 해결책 또한 엉뚱한 방향으로 갈 수 있기 때문입니다.딥러닝은 일반적으로 데이터를 통해 학습하고 패턴을 찾아가는 과정이므로,문제의 핵심을 파악하지 못하면 모델이 학습해야 할 목표가 불분명해집니다. 예를 들어, 자동차 이미지 ..
Day-20
·
AI Naver boost camp/회고
강의Generative Model 학습 내용Autoregressive (AE)Variational Auto Encoder (VAE)Difusstion  Daily study생성모델의 개념과 원리에 대한 이해 회고생성모델에 개념을 정리하고, 수식도 파악 후에 머릿속에 넣어야겠다.