Develog

Probabilistic Modeling 본문

Technology/AI (2026)

Probabilistic Modeling

Priv 2026. 4. 9. 00:39

생성형 모델 학습시키기

우리는 강아지를 찍은 이미지 $x$에 대한 확률 분포 $p(x)$를 학습하고자 한다. 이를 위해서는 어떻게 확률 분포를 대표할 것인지를 알아야 한다.

생성형 모델을 학습시키기 위해서는 먼저 학습을 위한 훈련용 데이터 세트(Training Set)가 필요하며, 이 데이터 세트를 활용해 일반화할 수 있는 특징을 찾아야 한다.

  • 강아지 이미지 1만 개 > 귀의 형태와 수, 꼬리의 유무, 색상, 코의 위치와 크기 등 특징 이해

생성형 모델에 제공하는 개별적인 데이터는 실제 세계에 존재하는 미지의 확률 분포에서 추출된 샘플($p_{data})$이라고 가정한다.

생성형 모델을 최적화하기 위해 사용되는 파라미터 $\theta$의 집합을 모델 패밀리($M$)라고 부른다. 이 파라미터는 모델이 정의하는 확률 분포($p(\theta)$)를 결정하는 역할을 한다. 모델 패밀리와 사용자의 입력 데이터는 $d(p_{data}, p_{\theta})$만큼 떨어져 있으며, 최적화 단계를 거쳐 이 거리를 최소화해야 한다.

  • KL-Divergence: 두 확률 분포가 얼마나 다른지 측정하는 지표
  • KL-Divergence를 최소화하는 것은 모델에서 실제 데이터가 나타날 확률을 최대화하는 것과 같다.

모델 최적화

모델을 최적화한다는 것은 가장 효율적으로(확률은 최대로, 오류는 최소로) 작동하도록 모델의 파라미터를 조정하는 반복 작업을 의미한다. 즉, 생성 모델의 학습은 결국 실제 데이터라는 정답지에 모델을 가장 완벽하게 밀착시키기 위한 최적화 작업이라고 말할 수 있다.

  • 최대화: 정답(데이터)이 나타날 확률을 가장 높게 만든다.
  • 최소화: 정답과 모델 사이의 오차를 가장 낮게 만든다.

최적화의 목표는 '거대한 산맥에서 가장 높은 봉우리 찾기' 작업과 동일하다.

  • 목적 함수: 산의 지형.

  • 파라미터: 현재 위치를 나타내는 좌표. 조금씩 움직이며 가장 높은 봉우리를 찾아야 한다.

  • 최적화 알고리즘: 산을 어떻게 오를 것인지 결정하는 방법. (경사 하강법, Adam 등)

  • 처음 시작할 때는 산의 지형 아무 곳에서 시작한다. (랜덤 가중치)

  • 현재 위치가 얼마나 높은지(확률이 높은지) 확인한다.

  • 조금 더 높은 방향을 탐색해 그곳으로 이동한다. (경사로를 따라 가중치 갱신)

  • 더 이상 올라갈 곳이 없을 때(최대치에 도달했을 때) 학습이 완료되었음을 선언한다.

확률

확률은 특징에 따라 종류가 아래와 같이 달라진다.

  • 결합 확률 ($P(X, Y)$): 여러 확률이 동시에 일어날 확률. 가로축($X$)과 세로축($Y$)이 교차하는 특정한 칸 하나의 값을 의미한다. ("오늘 비가 오고($X$) 기온이 20도 이상($Y$)일 확률")
  • 주변 확률 ($p(X)$ or $p(Y)$): 특정 변수 하나에 집중하기 위해서 나머지 변수를 합친 확률. ("기온과 무관하게 오늘 비가 올 확률")
  • 조건부 확률 ($p(X \mid Y)$): 어떤 사건($Y$)이 일어났다는 정보를 이미 알고 있을 때, 다른 사건($X$)이 일어날 확률. ("기온이 20도라고 확정했을 때, 비가 올 확률")

VAE(Variational Autoencoder)가 사용하는 인코더와 디코더는 모두 조건부 확률 모델에 해당한다.

  • 인코더: 입력 데이터가 주어졌을 때, 잠재 변수가 무엇일지 추론한다.
  • 디코더: 잠재 변수가 주어졌을 때, 입력 데이터를 복원할 확률을 추론한다.

확률 변수

확률에 따라 값이 바뀌는 변수.

확률 변수 $X$가 특정 값 $a$를 가질 확률은 $p(X = a)$ 또는 $p(a)$로 표기한다.

  • 어떤 상황에서도 확률은 0보다 작을 수 없다. ($P(a) >= 0$)
  • 일어날 수 있는 모든 경우의 수를 합치면 반드시 100이 된다. ($\sum_{𝑎𝑙𝑙} 𝑝(𝑋) = 1$)

확률 변수는 데이터의 형태에 따라 2가지 종류로 구분된다.

  • 이산 확률 변수 ($\sum_{x}xp(x)$): 주사위, 동전 등 값이 끊어진다.
  • 연속 확률 변수 ($\int_xp(x)dx$): 이미지의 픽셀값, 몸무게 등 값이 연속적으로 이어진다.
    이산 확률 변수는 끊어지는 '값을 더하는' 방식이기 때문에 시그마를 사용하지만, 연속 확률 변수는 연속적으로 이어진 값으로 형성된 '면적을 더하는' 방식이기 때문에 적분을 사용한다.

표본 평균

$E[x]=∑​_{x}x⋅1/m​$

모든 데이터가 나타날 확률이 동일한 균등 분포(Uniform distribution) 상황에서 기대할 수 있는 값.
데이터 $m$개를 모두 더한 뒤, $1/m$를 곱하면 모든 데이터에 균등한 확률 가중치를 곱해 합산한 값이 된다. 이는 일반적인 산술 평균과 같은 의미를 지닌다.

분산

$var[x]=E[(x−E[x])^2]$

데이터들이 평균($E[x]$)으로부터 얼마나 멀리 퍼졌는지 측정하는 지표.
분산을 계산하기 위한 수식은 아래와 같이 구성된다.

  • 제곱 편차: 개별 데이터가 평균에서 떨어진 거리를 구한 뒤 제곱하면 제곱 편차를 구할 수 있게 된다. 이 제곱 편차는 거리가 음수로 계산되지 않도록 막아주며, 평균에서 아주 멀리 떨어진 '튀는 값'에 더 큰 비중을 두기 위해서 사용된다.
  • 평균: 제곱 편차로 계산된 거릿값을 이용해 평균을 계산한다. 이를 계산하면 데이터가 평균적으로 얼마나 넓게 퍼진 것인지 파악할 수 있다.

차원의 저주

기본적인 형태의 이산 확률 분포를 다룬다고 가정하면 데이터를 생성할 때 가장 많이 사용되는 두 가지 이산 분포는 아래와 같다.

  • 베르누이 분포: 결과가 앞/뒤처럼 2가지만 있는 경우를 다룬다. 앞면이 나올 확률이 $p$라면 뒷면이 나올 확률은 $1-p$이다. 즉, 필요한 파라미터의 수는 1개뿐이다.
  • 카테고리컬 분포: 주사위처럼 결과가 $m$개인 경우를 다룬다. 모든 확률의 합은 반드시 1이며, 마지막 하나의 확률은 자동으로 결정된다. 즉, 필요한 파라미터의 수는 $m-1$개이다.

이처럼 이산 확률 특성을 보이는 데이터를 다룰 때는 큰 문제가 되지 않는다.

만약 이미지처럼 다차원 데이터를 다룬다고 가정하면 이미지 픽셀 1개는 RGB 색상을 표현할 수 있다. 또한 각 채널은 255단계의 값을 가질 수 있다. 이를 바탕으로 픽셀이 표현할 수 있는 모든 색상 조합을 확률로 나타내면 $256 * 256 * 256 - 1$개이다. 만약, $28 * 28$ 사이즈의 아주 작은 흑백 이미지를 표현하더라도 모든 경우의 수를 확률로 나타낸다면 $2^{784}-1$개의 파라미터라는 결과가 나온다.

이처럼 매우 작은 데이터임에도 다차원 데이터가 사용되기 시작하면 비현실적으로 많은 수의 파라미터가 요구되기 때문에 이를 단순한 확률표로 관리한다는 것은 불가능하다. 또한 각 변수가 독립된 관계라고 가정하더라도 픽셀 간의 연관성을 무시하게 되므로 모델의 성능이 떨어진다는 문제가 발생한다.

이를 '차원의 저주'라고 부른다.

연쇄 법칙

차원의 저주를 풀기 위해 전체 상황을 한꺼번에 보지 말고, 사건이 하나씩 차례대로 일어난다고 가정하는 연쇄 법칙을 시도해 볼 수 있다. 하지만 이를 적용하더라도 파라미터의 수 자체가 줄어들지는 않기 때문에 문제를 완전히 해결할 수는 없다.

단, 연쇄 법칙을 적용하게 되면 '$X_3$은 $X_1$과 무관하며, $X_2$에만 영향을 받는다'는 가정을 세울 수 있게 된다.

조건부 독립

모든 변수가 연결된 것이 아니라, '부모 노드'에만 의존한다고 가정하여 파라미터 수를 줄인다. 이 조건부 독립을 활용하면 차원의 저주를 유발한 파라미터의 수를 줄일 수 있게 된다.

두 확률 변수 $X$와 $Y$가 있을 때 제3의 변수 $Z$가 새로 주어졌다고 가정한다. 만약, $Y$를 아는 것이 $X$를 예측하는 데 아무런 도움이 되지 않는다면 $X$와 $Y$는 $Z$에 대해 조건부 독립이다.

조건부 독립은 일반 독립과 달리 원래는 관련이 있었으나, 공통의 원인을 알고 나서 관련성이 사라진 것을 의미한다. 즉, 조건이 성립되면 독립성을 보이게 됨을 의미한다.

베이즈 정리 (Bayes' rule)

조건부 확률을 역으로 나타내는 수학적 규칙으로 새로운 데이터나 정보 등 결과가 주어졌을 때 원인이 발생할 확률을 구할 수 있게 해준다.

  • "그룹의 40%는 남성, 60%는 여성이다. 그중 남성의 50%는 흡연자, 여성의 30%는 흡연자이다. 만약 길거리에서 흡연자를 발견했을 때, 그 흡연자가 남성일 확률은 몇%인가?"

베이즈 네트워크 (Bayesian Networks)

여러 개의 확률 변수가 서로 어떤 영향을 주고받는지 방향성이 있는 그래프로 표현된 모델로 베이즈 정리와 조건부 독립 가정을 바탕으로 한다.

베이즈 네트워크에서는 각 변수를 하나의 노드로 두고, 변수 간의 인과관계를 연결하여 하나의 트리 구조를 형성한다. 이를 통해 모든 변수를 한꺼번에 계산하는 대신 각 변수가 자신의 부모 노드에만 의존한다는 조건부 독립 가정을 통해 계산량을 줄일 수 있다.

이처럼 조건부 독립을 적용해 계산량을 줄이게 되면 파라미터의 수가 전체 변수의 수에 따라 기하급수적으로 늘어나지 않고, 각 노드의 부모 수에만 영향을 받게 된다. 부모 노드의 개수를 적게 유지할 수 있다면 그만큼 파라미터의 수도 억제할 수 있음을 의미하기 때문에 훨씬 경제적이다.

나이브 베이즈 알고리즘 (Naive Bayes)

복잡한 관계를 모두 버리고, 클래스별 특징만 따로 곱해서 계산한다.

가장 일반적인 생성형 분류 알고리즘 중 하나로, 모든 특징은 라벨이 주어졌을 때 서로 독립적이라는 조건부 독립 가정을 바탕으로 한다.

이메일 클라이언트 앱이 스팸인지 아닌지 분류한다고 가정할 때, 스팸 메일이면 $Y=1$, 스팸 메일이 아니면 $Y=0$이 된다. 여기서 나이브 베이즈 알고리즘은 단순히 분류만 하는 것을 넘어 스팸 메일은 보통 이런 단어들로 구성된다는 데이터 생성 원리를 학습할 수 있다. 단, 스팸 메일을 구성하는 '광고', '대출', '클릭' 등과 같은 단어들이 등장할 확률을 각각 따로 계산한다. 즉, 스팸 메일을 구성하는 특징($X_n$)은 모두 별개의 노드로 구성되는 것이다.

나이브 베이즈는 계산이 매우 빠르고 파라미터 및 데이터가 적어도 적당한 성능을 보여준다는 장점이 있다. 하지만 은행이나 계좌처럼 강하게 연결된 단어들이 나와도 이를 독립적으로 판단하여 가중치가 중복으로 연산 되므로 때에 따라 정확도가 떨어질 수 있다.

판별 모델 (Discriminative Models)

데이터 $X$가 주어졌을 때 그 데이터의 라벨 $Y$가 무엇인지 예측하는 모델.
입력 데이터에 대한 정답의 조건부 확률을 직접 추정한다.

  • "메일 내용이 주어졌을 때, 이것이 스팸인지 아닌지 그 확률을 계산한다."

판별 모델은 데이터 $X$가 주어졌을 때 데이터 라벨 $Y$를 분류하는 작업에만 효과가 있기 때문에 입력 데이터 $X$에 대한 확률 분포 $p(x)$에 대해서는 학습할 필요가 없다.

로지스틱 회귀 (Logistic Regression)

확률표를 만들지 않고, 입력값 $x$를 넣으면 결과 확률이 출력값으로 나오는 수학 함수를 사용한다.

  • "데이터가 이런 상황일 때 수학 함수에 데이터를 대입하면 계산되는 확률은 몇인가?"

이 수학 함수의 출력값은 언제나 0 ~ 1 사이의 값이어야 한다. 이를 가능하게 만들기 위해 아무리 크거나 작은 숫자가 들어와도 0 ~ 1 사이의 값으로 반환해 주는 '시그모이드 함수'를 활용한다. 또한 로지스틱 회귀에서는 각 특징에 가중치를 곱해서 모두 더하는 선형 결합 방식을 사용한다. 각 특징에 가중치가 더해지기 때문에 나이브 베이즈 방식보다 좀 더 상식적인 결과를 기대할 수 있다.

  • 스팸 메일 여부 = ($x_1$ * '광고' 단어 가중치) + ($x_2$ * '대출' 단어 가중치) + ...

로지스틱 회귀로 확률 모델을 정의할 때는 파라미터가 $n+1$개만 있으면 된다.
차원의 저주를 언급할 때 다루었던 것처럼 확률표 방식으로 이미지를 정의하면 픽셀의 수가 784개일 때 파라미터는 $2^{784}-1$개 필요했다. 하지만 로지스틱 회귀 방식을 사용하면 각 픽셀의 가중치 784개와 기본 편향 1개로 총 785개의 파라미터만 있으면 된다.

기본 편향은 일차함수의 절편과 같은 역할을 하며, 데이터가 아무리 복잡해도 입력값만으로 설명할 수 없는 기본적인 성향을 모델에 부여하는 역할을 한다. 만약 기본 편향이 없다면 모든 입력값이 0일 때 결괏값도 무조건 0이 되어야 한다. 하지만 시그모이드 함수에서 $z = 0$은 확률 0.5(50%)를 의미하므로 '입력이 아무것도 없으면 무조건 확률이 50%이다'라는 제약적인 모델이 되어버린다.

신경망 모델

확률 모델을 구현할 때, 복잡한 확률 관계를 표로 표현하지 않고 인공신경망이라는 함수를 사용해 표현하는 방식의 모델. 인간 뇌의 뉴런 연결 구조를 모방하여 데이터 내의 복잡한 비선형 패턴을 학습하고 예측하도록 설계되었다. 신경망 모델은 입력층, 은닉층, 출력층으로 구성되어 있다. 뉴런 모델의 기본 단위는 뉴런이며 레이어로 조직된다.

이산 분포처럼 모든 경우의 수에 대한 레시피를 적는 '표 방식'으로는 차원의 저주에서 자유롭지 못하다. 그 반면에 신경망 모델 방식은 비선형 패턴을 학습하여 만들어진 함수를 사용하기 때문에 학습이 완료되면 완전히 새로운 데이터가 유입되어도 일정한 결과를 기대할 수 있다.

신경망 모델은 가중치 조정과 반복 수행을 통해 정확한 출력을 만들어내기 위한 최적화 과정을 수행한다. 처음에는 무의미한 랜덤 가중치를 적용하여 결과를 내놓고, 실제 정답과 이를 비교하며 가중치를 반복적으로 조정한다. 이 과정은 안정적인 결과물이 나올 때까지 수없이 반복된다.

신경망 모델의 각 레이어는 계산 결과가 일정 수준을 넘으면 다음 단계로 중요한 정보를 넘긴다. 표가 아닌 연결의 힘을 기준으로 정답을 찾기 때문에 방대한 양의 파라미터 표가 없어도 복잡한 이미지나 영상도 반복 훈련을 통해 처리할 수 있게 된다.

경험적 최대 우도 추정 (Empirical Maximum Likelihood)

가지고 있는 실제 데이터를 바탕으로 모델이 그 데이터를 생성했을 확률이 가장 높도록 모델의 파라미터를 찾아내는 수학적 방법론.

KL-Divergence 값(실제 데이터 분포와 모델 분포 사이의 거리)을 최소화하는 목표를 실천하는 구체적인 계산법 중 하나에 해당한다.

  • 최대 우도: "어떤 파라미터를 사용해야 지금 보고 있는 데이터들이 나타날 확률이 가장 높은가?"
  • 경험적: 세상의 모든 데이터를 알 수는 없으므로, 실제로 수집한 경험(데이터 세트)에 의존하여 확률을 계산해야 한다.

$m$개의 데이터 ${x^{(1)}, x^{(2)}, \dots, x^{(m)}}$가 있다고 가정했을 때, 이 데이터들이 동시에 나타날 확률을 최대화하는 파라미터를 찾아야 한다. 여기서 확률은 0 ~ 1 사이의 작은 값을 사용하기 때문에 곱셈을 반복하면 숫자가 과도하게 작아지므로, 로그를 사용하여 곱셈을 덧셈으로 바뀌어 계산될 수 있도록 설정해 사용한다.

강아지를 그리는 로봇을 제작한다고 가정한다면 먼저 로봇에게 실제 강아지 사진을 제공해야 할 것이다. 이 강아지 사진은 '실증적 데이터'가 된다. 로봇은 설정값을 조금씩 바꿔가면서 '어떤 설정일 때 이 100장의 강아지 사진이 나올 법한가'를 분석해 나간다. 이 분석 과정은 '최적화'가 된다. 최종적으로 100장의 강아지 사진이 나올 확률이 가장 높은 설정값을 로봇이 선정해 출력한다. 이 출력은 '최대 우도 추정'의 결과물이 된다. 즉, 여기서 강아지를 그리는 로봇은 '처음 제공한 실증적 데이터가 모두 정답이라고 믿고, 그 정답이 나올 확률이 가장 높은 모델의 가중치를 찾으라'는 명령을 수행한 것과 같다.

베지안 네트워크에 MLE(최대 우도 추정) 적용하기

전체 시스템의 확률을 최적화하기 위해서 개별 노드에 대한 최적화를 독립적으로 진행하는 방법으로, 로그의 성질을 적용하여 전체 확률을 곱셈이 아닌 덧셈으로 바꾸는 방식을 사용한다.

전체 확률은 원래 노드 간의 곱셈으로 연결되어 있다.

  • $p(X_1​,…,X_n​) = p(X_1​ \mid P_{a1}​) × p(X_2​ \mid P_{a2}​) × ⋯ × p(X_n​ \mid P_{an}​)$

여기에 로그를 적용하여 노드 간의 덧셈으로 변환한다.

  • $log\ p(X_1​, … ,X_n​) = \sum_{i = 1}^nlog\ p(X_i​ \mid P_{ai}​)$

이제 정답이 나올 가장 높은 확률을 찾는 최적화 작업(현재 데이터들을 가장 잘 설명할 수 있는 최적의 파라미터를 찾는 작업)을 수행하기 위해 각 노드의 파라미터를 개별적으로 조절할 수 있게 되었다.

  • $max_{\theta}​ \sum log\ p(X_i​ \mid P_ai​,\theta_i​) = \sum​ max_{\theta_i}\ log\ p(X_i​ \mid P_ai​,\theta_i​)$

가우시안 분포(정규 분포)에서의 MLE(최대 우도 추정)

가우시안 분포에서의 MLE를 적용한다는 것은 데이터의 평균과 분산을 계산하는 것과 수학적으로 동일한 의미를 가진다. 가우시안 분포에서는 평균($\mu$)과 분산($\sigma$)을 조정하여 데이터가 나타날 확률을 최대화하는 값을 찾는 것이 목표이다.

가우시안 분포의 확률 밀도 함수를 보면 지수 함수가 포함되어 있어 계산이 복잡하다.

  • $p(x \mid \mu,\sigma^2) = 1/\sqrt{2\pi\sigma^2}\ exp(-(x-\mu)^2/2\sigma^2)$

자연로그를 사용해 지수를 내리면서 간단한 덧셈 형태로 변환하면 아래와 같이 식이 변한다.

  • $\ln \ p(x \mid \mu,\sigma^2) = -1/2\ln(2\pi\sigma^2) - (x - \mu)^2/2\sigma^2$

자연로그를 적용한 상태에서 로그 우도를 합산하면 식의 결괏값 최대화를 위해 오차 제곱($\sum(x_i - \mu)^2$)을 최소화해야 함을 알 수 있다. 이는 데이터와 평균 사이의 거리 제곱(오차)을 최소로 만드는 최소제곱법의 원리에 해당한다.

  • $\sum\ln p(x_i \mid \mu,\sigma^2) = (constant) - \sum(x_i - \mu)^2/2\sigma^2$

Q. 표준편차를 구할 때 왜 제곱을 사용하는가?

출처: https://brunch.co.kr/@gimmesilver/85

표준편차는 데이터가 평균에서 얼마나 흩어져 있는지를 정량적으로 구한 값을 말한다.
일반적으로 표준편차를 계산하기 위해 데이터와 평균 사이의 거리를 구할 때 음수값이 생기지 않도록 평균과의 거리에 제곱을 취한다. 표준편차의 공식은 각 데이터를 '어떤 기준이 되는 값'으로 뺀 값의 제곱 값 평균을 구한 뒤 그 값에 제곱근을 취하는 방식이다. 만약 어떤 기준이 되는 값을 모른다면, 평균 대신 다양한 값을 대입해 표준편차 결과가 최소가 되는 값을 찾아야 할 것이다. 이 값을 실제로 연산해 보면 평균이 나온다.

즉, 평균은 '편차를 제곱하는 방식으로 데이터들의 거리를 계산할 때 전체 합이 최소가 되는 기준값'이라고 정의할 수 있다.

절댓값을 사용해서 표준편차(평균과의 편차)를 계산할 경우, 결괏값은 거리의 총합이 최소가 되는 값이 아니다. 즉, 흩어진 정도를 공정하게 측정하는 것이 불가능해진다. 절댓값을 이용해 거리를 구한 총합이 최소가 되게 하는 기준점은 중앙값이기 때문에 절댓값을 이용해 데이터의 흩어진 정도를 구한다면 각 데이터에서 평균 대신 중앙값을 빼야 한다. 이렇게 구한 편차를 절대편차라고 부른다.

최소제곱법은 $y$와 $y'$의 차이에 제곱한 값들의 합이 최소가 되도록 $y'$를 만드는 회귀식을 찾는 방법이다. 표준편차를 최소로 하는 기준값이 평균이었으므로, 최소제곱법을 통해 구한 회귀식은 '조건부 평균'임을 알 수 있다.


MLE 원칙을 신경망 모델로 확장하기

데이터를 가장 잘 설명하는 확률 분포의 파라미터를 신경망이 스스로 계산하고, 그 신경망이 내놓은 값이 실제 데이터와 최대한 비슷해지도록(확률이 높아지도록) 가중치를 조정하는 작업. 즉, MLE 원칙을 뉴럴 모델로 확장한다는 것은 확률 분포의 매개변수를 고정된 숫자가 아닌, 함수를 이용해 상황에 맞게 연산한다는 것을 의미한다.

가우시안 MLE는 데이터 전체를 가장 잘 설명하는 하나의 평균($\mu$)를 찾는 것을 목표로 하지만 뉴럴 모델 MLE는 입력에 따라 항상 달라지는 평균을 내뱉는 함수($f_\theta$)를 찾는 것을 목표로 한다. 이 때문에 가우시안 MLE는 결과물이 숫자이지만, 뉴럴 모델 MLE는 결과물이 신경망의 가중치이다.

  • 가우시안 MLE: 모든 학생에게 동일한 평균 점수 부여
  • 신경망 MLE: 학생의 공부 시간을 보고 예상 점수를 계산하는 함수 제작

편향-분산 트레이드 오프

모델이 학습을 수행할 때, 학습용 데이터 세트(Training Set)의 범위를 넘어 지나친 일반화를 막기 위해 두 종류의 오차(편향과 분산)를 최소화할 때 겪는 문제.

  • 편향: 잘못된 가정을 했을 때 발생하는 오차. 편향 값이 높으면 데이터의 특징과 결과물 간의 적절한 관계를 놓치는 과소 적합 문제가 발생한다.
  • 분산: 트레이닝 세트에 내재한 작은 변동 때문에 발생하는 오차. 분산 값이 높으면 큰 노이즈까지 모델링에 포함되는 과적합 문제가 발생한다.

모델을 선택할 때는 학습용 데이터 세트의 규칙을 정확하게 포착하는 것을 넘어 보이지 않는 범위에 대한 일반화까지 고려하는 것이 이상적이다. 하지만, 이 둘을 완벽하게 달성하는 것은 현실적으로 불가능하다. 학습용 데이터 세트의 규칙을 정확하게 포착하는 것에 성공하면 유연성이 떨어져서 일반화 성능이 떨어지고(과적합), 모델이 너무 단순하면 트레이닝 데이터에서 중요한 규칙을 포착하지 못하는 문제(과소 적합)가 발생한다.

과적합(Overfitting) 피하기

과적합을 피하기 위한 방법으로는 데이터, 모델 구조, 학습 과정으로 측면을 나눠서 고려해 볼 수 있다.
별도의 검증 데이터 세트을 사용하여 일반화 성능을 평가하는 방법을 사용할 수도 있다. 과적합이 발생하지 않는다면 (판별 모델링에서처럼) 로그 우도 값은 훈련 세트와 검증 세트 모두와 유사해야 한다.

  • 데이터양 늘리기: 가장 확실한 방법이다. 데이터가 많아지면 모델은 특정 점보다는 전체적인 흐름에 집중하게 된다.
  • 데이터 증강하기: 데이터가 부족하면 기존의 데이터를 변형(노이즈 강화, 이미지 회전, 색 변경 등)해서 새로운 데이터처럼 활용하는 방법이다. 모델이 본질에 집중하게 만드는 데 효과적이다.
  • 모델의 복잡도 줄이기: 신경망의 층을 줄이거나, 뉴런의 개수를 줄여서 모델의 표현력을 의도적으로 낮추는 방법이다.
  • 드롭아웃: 학습할 때마다 신경망의 뉴런을 무작위로 몇 개씩 죽이는 방법이다. 특정 뉴런에만 의존할 수 없게 만들어 모델이 일반화에 더 특화되도록 유도한다.
  • 가중치 규제: 가중치 값이 너무 커지면 모델이 예민해지므로 가중치 크기를 손실 함수에 더하여 과도하게 가중치가 커지지 않도록 조절한다.
  • 조기 종료: 학습을 반복하면 훈련 오차는 줄지만, 검증 오차가 올라가는 시점이 발생한다. 이 순간이 오면 학습 자체를 조기 종료시킨다.

조건부 생성 모델

데이터를 만들 때 조건을 지정하여 해당 조건을 만족하는 결과물을 만들도록 제한하는 모델.

조건부 생성 모델은 조건에 맞는 생성, 조건에 맞는 분류에 대한 것만 알고 있으면 충분한 성능을 기대할 수 있다. 즉, 조건부 생성 모델에서는 더 적은 파라미터로도 정확한 정답을 맞힐 수 있음을 기대할 수 있다.

  • 텍스트로 된 프롬프트를 이용해 이미지 생성하기 등

조건부이기 때문에 여기서는 결합 분포($p(X, Y)$)가 아닌 조건부 분포($p(Y \mid X)$)를 사용한다. 즉, 질문($X$)가 무엇인지 보다는 질문($X$)에 가장 적합한 응답($Y$)가 무엇인지에 집중한다.

조건부 손실함수에 해당하는 $−log\ p_\theta​(y \mid x)$는 MLE(최대 우도 추정)을 조건부 환경으로 변형한 것이다. 조건부 생성 모델의 목표는 모델이 내놓은 정답 확률을 최대화하는 것이다. 그러므로 손실함수의 결괏값은 최소가 되어야 한다. 여기서 조건부 손실함수는 '조건 $X$가 주어졌을 때, 정답 $Y$를 맞추지 못하면 페널티를 부여한다'는 의미를 담고 있다. 즉, 조건부 생성 모델은 입력 데이터($p(X)$) 그 자체를 이해하지 않고, 입력이 주어졌을 때의 결과가 나올 확률($p(Y \mid X)$)을 높이는 데만 집중하므로, 사용되는 손실함수도 오직 조건부 확률에만 의존하는 것이다.

'Technology > AI (2026)' 카테고리의 다른 글

Transformer  (0) 2026.04.21
Generative Adversarial Networks  (0) 2026.04.21
Autoencoder  (0) 2026.04.11
Optimization  (0) 2026.04.10
Data & AI  (0) 2026.04.08
Comments