딥러닝 학습방법 이해하기
신경망
- 신경망은 복잡한 패턴을 해석하는 데 선형 모델의 한계를 극복하기 위해 사용되는 비선형 모델입니다. 신경망의 구조는 선형 모델과 비선형 모델의 결합으로 볼 수 있습니다.

선형 모델의 확장
- 데이터 $x_i$ 와 가중치 행렬 $W$ 간의 행렬곱 및 절편 $b$ 벡터의 합으로 표현됩니다.
- $d$ 개의 변수가 $p$ 개의 선형 모델로 연결되어 $d \times p$ 개의 연결선을 형성하는 구조입니다.
softmax
- 분류 문제에서 모델의 출력을 확률로 해석할 수 있게 변환하는 연산입니다.
- 출력 벡터 $o$에 소프트맥스 함수를 적용하면, 특정 클래스 $k$에 속할 확률을 나타내는 확률 벡터가 됩니다.
활성함수 (activation function)
- 선형모델의 출력을 비선형으로 변환하는 비선형 함수입니다.
- 출력 벡터를 잠재 벡터로 변환하는 데 사용됩니다.
- 예: 시그모이드(sigmoid), tanh, ReLU 함수 등
신경망 분해

- 입력 $x$는 가중치 행렬 $W^{(1)}$을 통해 $Z$로 변환되고, 활성함수를 거쳐 잠재벡터 $H$로 변환됩니다.
- 순전파(forward propagation): $L$개의 신경망 계산을 거쳐 최종 출력물 $o$를 생성합니다.
- 층이 깊어질수록 효율적인 학습이 가능하지만, 학습의 난이도는 증가할 수 있습니다.
역전파(backpropagation) 알고리즘

- 각 층의 파라미터 $W$와 $b$를 학습하기 위해 사용됩니다.
- 손실함수에 대한 미분을 계산할 때 역전파 알고리즘을 사용합니다.
- 연쇄법칙 기반의 자동 미분을 통해 그래디언트 벡터를 전달합니다.
- 역전파는 순전파보다 더 많은 메모리를 사용합니다.
확률론 맛보기
딥러닝에서의 확률론 필요성
- 딥러닝은 확률론 기반의 기계학습 이론에 바탕을 두고 있습니다. 기계학습에서 사용되는 손실함수들은 데이터 동향을 통계적으로 해석하여 유도됩니다. 예를 들어, 회귀 분석에서 L2-norm 손실함수는 예측 오차의 분산을 최소화하며, 분류 문제에서의 교차 엔트로피는 모델 예측의 불확실성을 최소화합니다.
- 데이터 공간 $X \times Y$를 가정하고, $D$를 데이터 공간에서 데이터를 추출하는 확률분포라고 할 때, $D$를 한 번에 아는 것은 불가능합니다. 따라서 이를 기계학습을 통해 추정합니다.
확률변수
확률변수는 확률분포 $D$에 따라 이산형(discrete)과 연속형(continuous)으로 구분됩니다.
- 이산형 확률변수: 확률변수가 가질 수 있는 모든 경우의 수를 고려하여 확률을 더해서 모델링합니다.

- $P(X=x)$는 확률질량함수로, 확률변수가 $x$ 값을 가질 확률을 의미합니다.
- 연속형 확률변수: 데이터 공간에 정의된 확률변수의 밀도(density) 위에서의 적분을 통해 모델링합니다.


- $P(x)$는 밀도함수로, 누적확률분포의 변화율을 모델링합니다. 이는 확률로 해석하면 안 됩니다.
- 결합분포 $P(x,y)$를 사용하여 원래 확률분포 $D$를 모델링할 수 있습니다.

- $P(x)$는 입력 $x$에 대한 주변확률분포로, $y$에 대한 정보는 제공하지 않습니다.
- 조건부확률분포 $P(x|y)$는 데이터 공간에서 입력 $x$와 출력 $y$ 사이의 관계를 모델링합니다.
조건부확률과 기계학습
- 조건부 확률 $P(y|x)$는 입력 변수 $x$에 대해 정답이 $y$일 확률을 의미합니다.
- 로지스틱 회귀에서는 선형모델과 소프트맥스 함수의 결합으로 데이터에서 추출된 패턴을 확률로 해석합니다.
- 분류 문제에서 $softmax(W\phi + b)$는 데이터 $x$로부터 추출된 특징 패턴 $\phi(x)$와 가중치 행렬 $W$를 통해 조건부 확률 $P(y|x)$을 계산합니다.

- 기대값
- 확률분포가 주어지면 데이터를 분석하는 데 사용 가능한 여러 종류의 통계적 범함수(statistical functional)를 계산할 수 있습니다. 기댓값(expectation)은 데이터를 대표하는 통계량이면서 동시에 확률분포를 통해 다른 통계적 범함수를 계산하는 데 사용됩니다. 기대값을 이용해 분산, 첨도, 공분산 등 여러 통계량을 계산할 수 있습니다.
- 연속확률변수냐 이산확률변수냐에 따라 적분을 취해주거나 급수를 취해주고 연속확률변수일땐 밀도함수를, 이산확률변수일 땐 질량함수를 곱해줍니다.
몬테카를로 샘플링(Monte Carlo)
- 대부분의 기계학습 문제에서 확률분포를 명시적으로 모르는 경우가 많습니다. 이때 몬테카를로 샘플링을 사용하여 기대값을 계산합니다.

- 몬테카를로 샘플링은 이산형이든 연속형이든 적용 가능하며, 독립적인 샘플링을 통해 수렴성을 보장합니다.
'Naver Boostcamp AI Tech > Level 1' 카테고리의 다른 글
| < Boostcamp > 딥러닝 기초 (0) | 2023.12.27 |
|---|---|
| < Boostcamp > AI Math 3 (0) | 2023.12.27 |
| < Boostcamp > Python 2 (0) | 2023.12.27 |
| < Boostcamp > Python 1 (0) | 2023.12.27 |
| < Boostcamp > AI Math 1 (0) | 2023.12.27 |