본문 바로가기

반응형

컴퓨터 과학

(117)
Input Layer, Hidden Layer, Output Layer란? 1. 인공지능이 문제를 푸는 과정딥러닝(Deep Learning)은 복잡한 문제를 차근차근 생각해서 답을 찾는 과정이야.이때 등장하는 것이 바로 Input Layer, Hidden Layer, Output Layer야!이걸 쉽게 설명하기 위해, 퀴즈 대회에 참가한 너를 떠올려보자.2. 비유로 쉽게 이해하기🎯 Input Layer: 문제를 듣는 단계퀴즈 대회에서 사회자가 문제를 읽어주는 순간!너는 그 문제를 귀로 듣고 머릿속으로 받아들이지?여기서 "문제를 듣는 것"이 바로 Input Layer야.→ Input Layer는 '정보를 받아오는 입구'야!(예: 사진의 픽셀 값, 문장의 단어들, 소리의 파형)🧠 Hidden Layer: 생각하는 단계문제를 들은 다음 바로 답을 외치는 게 아니라,머릿속에서 문제..
Fully Connected Layer란? 1. Fully Connected Layer란?"Fully Connected Layer"는 딥러닝(Deep Learning)에서 모든 입력과 모든 출력이 서로 연결된 층을 뜻합니다. 줄여서 "FC Layer"라고도 부릅니다.조금 어려워 보일 수 있지만, 비유를 들어 쉽게 설명할게요.2. 쉽게 이해하는 비유: 학교 반 친구들과 인사하기상상해봐!네 반에 친구들이 5명 있고, 옆 반에도 친구들이 4명 있어.너와 네 반 친구들(5명)이 "입력(input)"이고,옆 반 친구들(4명)이 "출력(output)"이야.Fully Connected Layer에서는 모든 입력 친구들이 모든 출력 친구들과 각각 악수를 한다고 생각하면 돼.네 반의 1번 친구는 옆 반의 1번, 2번, 3번, 4번 친구와 모두 악수!네 반의 2번..
dataset과 dataloader의 차이와 활용도 ✅ 1. DatasetDataset은 데이터셋 전체에 대한 정의입니다.데이터의 구조, 길이, 하나씩 접근하는 방법을 정의하는 클래스예요.🔧 주요 기능__len__: 전체 데이터 샘플 개수 반환__getitem__: 인덱스를 이용해 하나의 샘플 반환📌 활용도커스텀 데이터셋을 정의할 때 사용이미지, 텍스트 등 어떤 데이터든 구조만 정해주면 됨전처리(transform)도 Dataset 클래스 내부에서 처리 가능🧸 예시from torch.utils.data import Datasetclass MyDataset(Dataset): def __init__(self, data, labels): self.data = data self.labels = labels def _..
시그모이드함수(Sigmoid Function)을 파헤쳐 보자 💡 Sigmoid 함수란?Sigmoid 함수는 이런 모양의 함수야:Sigmoid(x)=11+e−x\text{Sigmoid}(x) = \frac{1}{1 + e^{-x}}Sigmoid(x)=1+e−x1​이걸 그래프로 그리면:입력값 xxx가 작을수록 0에 가까운 값입력값 xxx가 클수록 1에 가까운 값가운데는 부드럽게 0.5를 지나감🤔 왜 이런 함수를 쓰지?1. 확률처럼 보이게 만들고 싶어서!신경망이 어떤 결과를 내놓을 때,“이게 맞을 확률이 몇 퍼센트일까?” 라고 생각하고 싶을 때가 있어.예를 들어,“이 사진이 고양이일 확률이 몇 %일까?”이럴 때 Sigmoid 함수는 숫자를 0에서 1 사이로 바꿔줘서확률처럼 사용할 수 있어!2. 이진 분류 문제에서 딱 좋아!Sigmoid는 주로 참(True)/거짓(F..
딥러닝 기본 파이프라인 예제 (pytorch) 1. 데이터셋 로드 및 전처리from torchvision import datasetsfrom torchvision.transforms import ToTensortraining_data = datasets.FashionMNIST( root='data', train=True, download=True, transform=ToTensor())test_data = datasets.FashionMNIST( root='data', train=False, download=True, transform=ToTensor())  FashionMNIST는 의류 이미지 데이터셋 (28x28 흑백)transform=ToTensor() : 이미지를 [0, 1] 범위의 텐서로 변환2. DataLoader로 배치 생성b..
PyTorch DataLoader: 실무에 가까운 고급 사용법과 예제 DataLoader는 단순히 데이터를 배치 단위로 나눠주는 것 이상으로,데이터 전처리부터 성능 최적화까지 다양한 역할을 할 수 있어요.이번 글에서는 다음과 같은 심화 기능들을 다뤄볼 거예요: 🧠 다룰 내용collate_fn으로 배치 구성 방식 커스터마이징num_workers로 데이터 로딩 속도 높이기불균형 데이터에 대응하기 위한 WeightedRandomSampler시퀀스 길이가 다른 텍스트 데이터 패딩 처리(보너스) persistent_workers, pin_memory 등 옵션 이해1. 🧩 collate_fn: 배치 구성 방식을 직접 정의collate_fn은 DataLoader가 개별 데이터를 배치로 묶을 때 묶는 방식을 커스터마이징할 수 있게 해줘요.💡 예제: 텍스트 길이에 따라 패딩 추가하기..
CSV 파일 DataLoader로 불러오기 🧾 CSV 파일도 DataLoader로 불러올 수 있어? 당연하지!이전 포스트에서는 PyTorch의 DataLoader로 MNIST 이미지 데이터를 불러와봤어요.그런데 실제 프로젝트나 대회에서 만나는 데이터는 대부분 .csv, .txt, 혹은 직접 만든 데이터셋이죠?그래서 오늘은:CSV 파일 데이터를 불러오는 방법Dataset 클래스를 상속해서 커스터마이징하는 방법그리고 실습 예제까지 깔끔하게 정리해드릴게요.📦 목표: Titanic 생존자 예측 데이터를 DataLoader로 불러오자 Kaggle의 대표 입문용 데이터셋, Titanic 데이터를 사용하겠습니다.  ✅ Step 1. CSV용 커스텀 Dataset 클래스 만들기import pandas as pdimport torchfrom torch.uti..
PyTorch에서 DataLoader를 쓰는 이유는 뭘까? 딥러닝 공부를 하다 보면 꼭 등장하는 녀석이 있습니다. 바로 DataLoader.처음엔 그냥 "데이터를 한 번에 여러 개 불러와주는 도구인가보다~" 하고 넘어가지만,실제로는 학습 효율성, 성능, 확장성까지 책임지는 핵심 유틸리티라는 걸 알게 되죠.오늘은 왜 PyTorch에서 DataLoader를 써야 하는지, 그리고 어떻게 사용하는지 예제와 함께 살펴볼게요.✅ DataLoader란?PyTorch의 DataLoader는 데이터셋을 배치 단위로 나눠서, 하나씩 모델에 전달할 수 있게 도와주는 데이터 관리 도구입니다.좀 더 정확하게 말하면:데이터를 작은 묶음(batch) 으로 잘라서,필요할 때마다 (iterator처럼) 꺼내쓰고,데이터를 랜덤으로 섞거나, 병렬로 불러오거나,GPU 학습이 원활하도록 메모리도 최..

반응형