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

분류 전체보기 201

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

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$ 시점에..

푸아송 분포 -> 지수 분포

지수 분포의 수식을 유도하는 가장 논리적이고 표준적인 방법은 푸아송 과정(Poisson Process)에서 출발하는 것입니다. 지수 분포는 '사건이 발생할 때까지 걸리는 시간'에 대한 분포이고, 푸아송 분포는 '특정 시간 동안 발생하는 사건의 횟수'에 대한 분포입니다. 이 둘은 동전의 양면과 같습니다. 이 관계를 이용하여 지수 분포의 확률 밀도 함수(PDF)인 $f(t) = \lambda e^{-\lambda t}$를 유도해 보겠습니다. 1. 전제 조건: 푸아송 분포단위 시간당 평균 $\lambda$번 발생하는 사건이 있다고 가정합니다. 시간 $t$ 동안 사건이 총 $k$번 발생할 확률 $P(N(t)=k)$는 푸아송 분포를 따르며 다음과 같습니다. $$P(N(t) = k) = \frac{(\lambda ..

이항분포 -> 푸아송 분포

푸아송 분포(Poisson Distribution)는 이항분포(Binomial Distribution)의 특수한 극한 형태로 유도하는 것이 가장 일반적이고 직관적입니다. 단위 시간(또는 단위 공간) 안에 어떤 사건이 몇 번 발생할 것인지를 표현하는 이 분포는, "시행 횟수($n$)는 무수히 많고, 발생 확률($p$)은 매우 희박할 때"의 확률 분포입니다. 다음은 이항분포에서 출발하여 푸아송 분포의 수식을 유도하는 단계별 과정입니다.1. 기본 설정: 이항분포에서 출발먼저, 확률 변수 $X$가 시행 횟수 $n$, 성공 확률 $p$인 이항분포를 따른다고 가정합니다.$$X \sim B(n, p)$$이때 $k$번 성공할 확률 질량 함수(PMF)는 다음과 같습니다.$$P(X=k) = \binom{n}{k} p^k ..