데이터 반출 없는 다기관 연합 인공지능 학습 플랫폼

분류 전체보기 193

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

개요붓꽃 데이터를 대상으로 꽃의 종류를 분류다층 퍼셉트론(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 상황입니다. 하지만 현실에..

확률 분포 샘플링 방법

이 문서는 특정 확률 분포를 따르는 난수(샘플)를 추출하는 네 가지 주요 방법인 역변환법, 기각-채택법, 박스-뮬러 변환, MCMC에 대해 상세히 설명합니다.1. 역변환법 (Inverse Transform Method)가장 기본적이고 직관적인 방법으로, 누적 분포 함수(CDF)의 역함수를 이용합니다.기본 원리모든 누적 분포 함수 $F(x)$는 0과 1 사이의 값을 가집니다. 만약 $U$가 $(0, 1)$ 구간의 균등 분포(Uniform Distribution)를 따른다면, $X = F^{-1}(U)$는 $F$를 누적 분포 함수로 갖는 확률 변수가 됩니다.알고리즘목표 확률 분포의 PDF $f(x)$를 적분하여 CDF $F(x)$를 구합니다.$F(x) = u$ 로 놓고, $x$에 대해 풀어 역함수 $x = ..

지수 분포의 이해

1. 직관적인 이해: 이산 시간에서 연속 시간으로10분에 평균 1대꼴로 오는 버스가 있습니다.단위 시간(여기서는 1분) 당 버스 도착 확률(비율): $\lambda = \frac{1}{10} = 0.1$A는 오전 9시에 버스 정류장에 도착하여 버스를 기다립니다. 버스가 도착할 시간을 1분 단위의 구간으로 나누어 생각해 봅시다.0~1분 (구간 1)1~2분 (구간 2)...각 1분 단위 구간마다 버스가 도착할 확률을 $p = 0.1$이라고 가정해 봅시다. (반대로 도착하지 않을 확률은 $1-p = 0.9$입니다.) A가 $t$분 시점까지 계속 기다리고 있을 확률(버스가 아직 도착하지 않았을 확률)을 계산해 보겠습니다.1분 후에도 못 탔을 확률:첫 번째 구간에서 안 옴: $(1-p) = 0.9$2분 후에도 못..

감마 분포 -> 디리클레 분포

감마 분포(Gamma Distribution)로부터 디리클레 분포(Dirichlet Distribution)를 유도하는 과정은 확률 변수의 변환(Change of Variables) 기법을 사용하여 설명할 수 있습니다. 핵심 아이디어는 "서로 독립인 $K$개의 감마 확률 변수를 그 합으로 나누어 정규화(Normalize)하면 디리클레 분포를 따른다"는 것입니다. 단계별 유도 과정은 다음과 같습니다.1. 전제 조건 및 설정 $K$개의 서로 독립인 확률 변수 $X_1, X_2, \dots, X_K$가 있고, 각각은 척도 모수(scale parameter)가 1인 감마 분포를 따른다고 가정합니다. $$X_i \sim \text{Gamma}(\alpha_i, 1), \quad i = 1, \dots, K$$ 이..

지수 분포 -> 감마 분포

지수 분포가 '첫 번째 사건'이 발생할 때까지의 시간이라면, 감마 분포(Gamma Distribution)는 이를 일반화하여 '$k$번째 사건'이 발생할 때까지의 시간을 모델링합니다. 지수 분포 유도 때와 마찬가지로 푸아송 과정(Poisson Process)을 기반으로 아주 직관적인 방법(미소 구간 확률)을 사용하여 유도할 수 있습니다.1. 목표 설정: 무엇을 구하는가?상황: 사건이 평균적으로 단위 시간당 $\lambda$회 발생하는 푸아송 과정.확률 변수 $T$: $k$번째 사건이 발생할 때까지 걸리는 시간.목표: $T$의 확률 밀도 함수(PDF) $f(t)$ 구하기.2. 직관적 유도 (미소 구간 접근법)확률 밀도 함수 $f(t)$의 정의를 생각해 봅시다. $f(t)dt$는 '정확히 시간 $t$ 시점에..