2025/12 16

오류 역전파 및 기울기 계산 과정

개요붓꽃 데이터를 대상으로 꽃의 종류를 분류다층 퍼셉트론(Multi-Layer Perceptron, MLP) 모델의 오류 역전파 및 기울기 계산 과정 설명데이터셋붓꽃 데이터꽃 종류setosa (50개)versicolor (50개)virginica (50개)측정 항목sepal length (cm): 꽃받침 길이sepal width (cm): 꽃받침 넓이petal length (cm): 꽃잎 길이petal width (cm): 꽃잎 넓이문제 정의붓꽃의 종류가 무엇인지 표시되어 있는 데이터 세트를 사용하여 붓꽃 분류 기능을 학습합니다.새로운 붓꽃 데이터에 대하여 종류가 무엇인지 예측합니다.모델 함수 정의입력층의 크기: 4은닉층의 크기: 8 (다른 값으로 지정할 수도 있음)출력층의 크기: 3비용 함수 정의비용 ..

경사하강법에서 손실값의 변화

모델 파라미터 변경에 따른 손실의 변화율 손실 함수 위의 한 지점(현재 파라미터)에서 손실 값의 변화가 가장 큰 방향을 계산할 수 있습니다. 이를 기울기(Gradient)라고 합니다. 즉, 기울기는 '특정 파라미터를 조금 변경했을 때, 손실 값이 얼마나 변하는가’를 나타내는 값입니다. 손실을 줄이는 방향으로 모델 파라미터 수정 기울기는 손실이 가장 크게 '증가’하는 방향을 가리킵니다. 우리의 목표는 손실을 '감소’시키는 것이므로, 기울기의 반대 방향으로 파라미터를 조금씩 이동시켜야 합니다.경사하강법의 종류와 손실 값의 변화 경사하강법은 기울기를 계산할 때 사용하는 데이터의 양에 따라 크게 세 가지 방식으로 나뉩니다. 이 방식에 따라 손실 값의 변화 양상과 학습 효율성이 크게 달라집니다.구분설명Batch ..

모델 학습 세 단계: 함수 정의, 비용 정의, 파라미터 찾기

1. 모델 함수 정의 (Model Function Definition) 이 단계는 "가설을 세우는 단계"라고 할 수 있습니다. 데이터의 입력(X)과 출력(Y) 사이에 어떤 수학적 관계가 있을 것이라고 가정하고, 그 관계를 나타내는 함수를 정의합니다. 이 함수를 '모델' 또는 '가설(Hypothesis)'이라고 부릅니다. 역할: 입력 변수들을 사용해서 예측값을 어떻게 계산할지 구조를 결정합니다. 예시: 선형 회귀 (Linear Regression): 입력(x)과 출력(y) 사이에 직선 관계가 있다고 가정하고, 모델 함수를 H(x)=Wx+b 와 같이 정의합니다. 여기서 W(가중치)와 b(편향)가 우리가 찾아야 할 파라미터입니다. 신경망 (Neural Network): 여러 개의 뉴런과 활성화 함수를 복잡하게..

PyTorch 딥러닝 훈련 메커니즘과 Autograd 이해

딥러닝의 학습 과정은 고차원 공간(파라미터 공간)에서 에너지 포텐셜(Loss Function)이 가장 낮은 지점을 찾아가는 과정과 같습니다. PyTorch는 이 과정을 효율적으로 수행하기 위해 동적 계산 그래프(Dynamic Computational Graph)라는 개념을 사용합니다. MNIST 분류 모델을 예로 들어, 훈련 루프 내부에서 일어나는 일을 단계별로 해부해 보겠습니다.import torchimport torch.nn as nnimport torch.optim as optimfrom torchvision import datasets, transformsfrom torch.utils.data import DataLoader# 1. 데이터셋 준비 (MNIST)# 텐서 변환 및 정규화transfor..

CIFAR-10 모델 성능 분석 및 SOTA 트렌드 가이드

CIFAR-10 데이터셋(10개의 클래스, $32 \times 32$ 픽셀 이미지)은 딥러닝 모델의 성능을 평가하는 가장 대중적인 벤치마크 중 하나입니다. 현재 시점에서 가장 성능이 뛰어난(State-of-the-Art, SOTA) 모델들과 실무에서 사용하기 좋은 고효율 모델들을 분류하여 정리했습니다.1. 최고 성능 모델군 (State-of-the-Art: Transformers)현재 CIFAR-10 리더보드의 최상위권은 대부분 Transformer 기반 모델들이 차지하고 있습니다. 이들은 주로 대규모 데이터셋(ImageNet-21k, JFT-300M 등)으로 사전 학습(Pre-training)된 후 CIFAR-10으로 미세 조정(Fine-tuning)하는 방식을 사용합니다.Vision Transform..

Non-IID 환경을 위한 병합 전략: FedFocal

1. 개요FedFocal은 연합학습(Federated Learning) 환경, 특히 각 클라이언트가 보유한 데이터의 레이블 분포가 균일하지 않은 Non-IID(Label Skew) 상황을 해결하기 위해 제안된 기법입니다. 기존의 FedAvg가 사용하는 Cross Entropy(CE) 손실 함수 대신, Focal Loss를 도입하여 모델이 분류하기 쉬운 샘플(Easy Examples)보다는 분류하기 어려운 샘플(Hard Examples)이나 소수 클래스(Minority Class)에 더 집중하도록 유도합니다.2. 배경: 왜 FedFocal이 필요한가?2.1. 연합학습의 Non-IID 문제연합학습에서 이상적인 환경은 모든 클라이언트가 전체 데이터 분포와 유사한 데이터를 갖는 IID 상황입니다. 하지만 현실에..