시험 준비 및 공부 기록 아카이브 용으로 작성하는 글입니다.
다소 내용이 정제되어 있지 않을 수 있습니다.
데이터 전처리

특징의 단위가 서로 차이가 많이 나거나 (예시: 키의 단위 m와 몸무게의 단위 kg) 특징이 모두 양수이면 학습 속도가 느려짐. 이를 해결하기 위해 특징을 정규화하는 과정을 거침.
$$ x_i^{\text{new}} = \frac{x_i^{\text{old}} - \mu_i}{\sigma_i} $$

또한, 명칭값을 원핫 코드로 변환하는 전처리 과정도 거치기도 함. 아래 예시에서는 성별을 2비트, 체질을 4비트 원핫 코드로 변환함.
$$ (1.755, 65.5, 122, 1, 3) \rightarrow (1.755, 65.5, 122, \underbrace{1, 0}_{\text{성별}}, \underbrace{0, 0, 1, 0}_{\text{체질}}) $$
대칭적 가중치에선 두 노드의 값이 같아져 중복성이 발생하기도 함. 이를 방지하기 위해 초기 가중치 초기화를 난수로 함.

난수는 가우시안 분포나 균일 분포에서 추출해서 사용함. 아래의 식들을 이용해 $r$을 결정한 뒤, $[-r, r]$ 사이에서 난수를 발생시킴.
$$ r = \frac{1}{\sqrt{n_{in}}} $$
$$ r = \frac{\sqrt{1}}{\sqrt{n_{in} + n_{out}}} $$
모멘텀
기계 학습의 그래디언트 추정은 잡음을 포함할 가능성이 높기 때문에, 모멘텀을 도입해 잡음 효과를 줄이고 수렴 속도를 향상시킴.
$$
\left.
\begin{aligned}
\mathbf{v} &= \alpha \mathbf{v} - \rho \frac{\partial J}{\partial {\Theta}} \\
{\Theta} &= {\Theta} + \mathbf{v}
\end{aligned}
\right\}
$$
위 식에서 $\mathbf{v}$는 속도 벡터로, 이전 그래디언트를 누적시킨 것.
$\alpha$는 모멘텀 계수로, $\alpha$가 0인 경우, 모멘텀이 적용되지 않은 상태이며, $\alpha$가 1에 가까울수록 이전 그래디언트 정보에 큰 가중치를 줌. (${\Theta}$가 그리는 궤적이 매끄러워짐)

모멘텀을 도입하면 스텝이 진동하는 오버슈팅 현상을 막을 수 있음. 위의 방식 외에, 현재 $\mathbf{v}$값으로 예측한 스텝 $\tilde{{\Theta}}$에 그래디언트 $ \left. \frac{\partial J}{\partial {\Theta}} \right|_{\tilde{{\Theta}}} $를 더해 다음 스텝을 정하는 네스테로프 모멘텀 방식도 있음.
\begin{align*}
\tilde{{\Theta}} &= {\Theta} + \alpha \mathbf{v} \\
\mathbf{v} &= \alpha \mathbf{v} - \rho \left. \frac{\partial J}{\partial {\Theta}} \right|_{\tilde{\Theta}} \\
{\Theta} &= {\Theta} + \mathbf{v}
\end{align*}



학습률 $\rho$가 너무 커도 오버슈팅이 발생하지만, 그렇다고 학습률을 너무 낮게 잡으면 수렴이 느려짐 -> 적응적 학습률을 사용 (Adagrad, RMSProp, Adam).
1) Adagrad

$\mathbf{r}$ 은 이전 그래디언트를 누적한 벡터로, $\mathbf{r}_{i}$와 $ \left| \Delta \Theta_i \right| $는 반비례함.
$\mathbf{r}_{i}$가 큼: $ \left| \Delta \Theta_i \right| $가 작아서 조금만 이동
$\mathbf{r}_{i}$가 작음: $ \left| \Delta \Theta_i \right| $가 커서 많이 이동
6번째 줄의 $ \frac{\rho}{\epsilon + \sqrt{r_i}} $이 위에서 언급한 적응적 학습률.
2) RMSProp

하지만 Adagrad는 $\mathbf{r}$에 계속 제곱이 더해져, 오래된 그래디언트의 반영률과 최근 그래디언트의 반영률이 크게 차이나지 않는다는 단점이 있음. ($\mathbf{r}$이 점점 커져 수렴을 방해함)
RMSProp는 가중 이동 평균 기법 $ \mathbf{r} = \alpha \mathbf{r} + (1 - \alpha) \mathbf{g} \odot \mathbf{g} $을 적용해 이를 해결함. $\alpha$가 작을수록 최근 것에 비중을 둠.
3) Adam
Adam은 RMSProp에서 위에서 설명한 모멘텀을 추가한 버전.

규제

가지고 있는 데이터에 비해 용량이 훨씬 큰 모델을 사용하면 과잉적합에 빠지기 쉬움 -> 현대 기계학습은 충분히 큰 용량의 모델을 설계한 뒤 학습 과정에서 여러 규제 기법을 적용함.
가중치 감쇠: 모델의 가중치에 의한 과잉적합을 방지하고 모델의 일반화 성능을 높이는 방법.
$$ \underbrace{J_{\text{regularized}}({\Theta}; X, Y)}_{\text{규제를 적용한 목적함수}} = \underbrace{J({\Theta}; X, Y)}_{\text{목적함수}} + \underbrace{\lambda R({\Theta})}_{\text{규제 항}} $$
훈련집합과 무관한 규제항을 더해 목적함수에 규제를 적용함. 규제항은 매개변수를 작은 값으로 유지해 모델의 용량을 제한함. 규제항으로 주로 L2 놈이나 L1 놈이 사용됨.
$$ \underbrace{J_{\text{regularized}}(\Theta; X, Y)}_{\text{규제를 적용한 목적함수}} = \underbrace{J(\Theta; X, Y)}_{\text{목적함수}} + \underbrace{\lambda \| \Theta \|_2^2}_{\text{규제 항}} $$
$$ \underbrace{J_{\text{regularized}}(\Theta; X, Y)}_{\text{규제를 적용한 목적함수}} = \underbrace{J(\Theta; X, Y)}_{\text{목적함수}} + \underbrace{\lambda \| \Theta \|_1}_{\text{규제 항}} $$
L1 놈은 많은 매개변수를 0으로 만드는 희소성 효과가 있음 -> 선형 회귀의 특징 선택에 효과적

조기 멈춤: 일정 시간($t_{opt}$)이 지나면 과잉적합이 나타나기 시작 -> $t_{opt}$에서 훈련 멈춰서 과잉적합 방지

과잉적합을 막는 가장 확실한 방법은 훈련집합의 크기를 키우는 것이지만, 데이터 수집은 비용이 많이 들고 데이터의 수가 제한된 경우가 있음 -> 증강 (이동, 회전, 스케일링, 모핑, 잡음 추가 등...)을 통해 이를 해결


드롭아웃: 학습할 때마다 입력층과 은닉층의 노드 중 일정 비율을 무작위로 선택해 제거하는 기법.

예측 단계에선 가중치에 생존 비율 (1 - 드롭아웃 비율)을 곱해서 계산함 (학습 과정에서 가중치가 (1 - 드롭아웃 비율)만 참여했기 때문)

앙상블: 서로 다른 여러 모델을 결합해 일반화 오류를 줄이는 기법
하이퍼 매개변수 최적화
하이퍼 매개변수: 모델 내부의 가중치 외에 모델의 외부에서 모델의 동작을 조정하는 매개변수. (예시: 은닉층 개수, CNN 마스크 크기와 보폭, 학습률, 모멘텀 관련된 매개변수 등...)
하이퍼 매개변수를 선택할 때 보통 표준 라이브러리의 디폴트 값을 사용하면 됨 (보통 여러 후보 값 또는 범위를 제시함)
후보 값 중에서 주어진 데이터에 최적인 값을 선택하면 됨.

하이퍼 매개변수 조합을 찾는 방법에는 격자 탐색, 임의 탐색, 베이지안 최적화 등을 사용함. 임의 탐색은 성능이 좋지 않아 하이퍼 매개변수가 많지 않다면 격자 탐색을 주로 사용하나, 이 방법은 차원의 저주에 빠지기 쉬움. (매개변수가 $m$개이고 $q$개의 구간이 있다면 $q^{m}$개의 점을 조사해야 하기 때문)
학습률을 찾을 땐 로그 규모를 사용해서 매개변수 조합을 생성하기도 함.

'학교 공부 > 인공지능' 카테고리의 다른 글
| 6. 컨볼루션 신경망 (0) | 2025.10.27 |
|---|---|
| 5. 다층 퍼셉트론 (0) | 2025.10.07 |
| 3-2. 기계학습 수학 - 확률과 통계 (0) | 2025.10.06 |
| 3-1. 기계학습 수학 - 선형대수 (0) | 2025.10.06 |
| 2. 기계학습 (0) | 2025.10.06 |