딥러닝 최적화 방법
1. 목적함수 개선
2. 효율적인 학습 전략
3. 규제 기법
4. 하이퍼파리미터 최적화
5. 2차 미분을 이용한 최적화
효율적인 학습 전략
효율적인 학습 전략에는 데이터 전처리, 가중치 초기화, 모멘텀, 적응적 학습률이 있다.
1. 데이터 전처리
데이터 전처리에서 발생하는 문제점
- 규모 불일치 (특징마다 규모가 다른 문제) => 규모가 큰 쪽으로 가중치 업데이트가 크게 일어남 (지그재그)
- 모든 특징이 양수인 문제 => 여러 가중치가 뭉치로 증가 또는 감소한다. 가중치 업데이트의 다양성이 훼손된다.
이러한 문제점을 해결하는 방법으로는 정규화가 있다
1-1. 정규화
- 평균 0 => 모든 특징이 양수인 문제를 해결
- 표준편차 1 => 규모가 불일치 하는 문제를 해결한다.


💡어떤 특징이 더 중요하다면 어떻게 특징을 정규화하면 될까?
=> 다른 특징에 비해 표준편차가 더 크도록 정규화하면 된다.
1-2. 명칭값 처리 방법 (원 핫 코드 변환)
성별이나 체질 같은 것에는 크기/거리 개념이 없다. 즉 명칭값이다. 이러한 명칭값을 전처리 하는 방법으로는 원 핫 코드가 있다
범주별 개별 가중치가 생겨 범주 마다 다른 영향력을 모델이 학습하게 된다

2. 가중치 초기화
대칭적 가중치 문제
가중치가 대칭적으로 초기화 되면 두 노드가 완전히 동일한 특징을 학습하는 중복성이 발생한다. 노드들은 각각 다른 특징을 학습해야한다. 따라서 해결 방안으로 나온 것이 가중치를 난수로 초기화하여 대칭을 파괴하는 것이다.
2-1. 난수로 가중치 초기화
난수는 가우시안 또는 균일 분포에서 난수를 추출한다
그러나 난수의 범위는 무척 중요하다. 가중치의 범위는 범위를 좁게 잡으면 0으로 수렴하기 때문에 업데이트할 가중치가 너무 작아져버린다.
따라서 난수의 범위를 설정하는 것이 매우 중요하다.
적용 사례
- AlexNet 2012 : 평균 0, 표준편차 0.001인 가우시안 분포에서 난수 범위 설정
- ResNet 2016
3. 모멘텀
그레디언트 잡음 형상
기계학습은 훈련 집합을 이용하여 그레디언트를 추정하기 때문에 이 방법은 잡음 가능성이 높다
모멘텀은 그레디언트에 스무딩을 가하여 잡음 효과를 줄인다 즉 수렴 속도를 향상시킨다.

모멘텀에서 속도 벡터 v 는 이전 그레디언트를 누적한 것이다.

모멘텀을 이용한 가중치 갱신

모멘텀 속도 v는 재귀적으로 계산이 가능하다.
모멘텀 계수 𝛼의 효과
- 𝛼 = 0 이면, 모멘텀이 적용되지 않는다 즉 일반적인 경사 하강법이다
- 𝛼가 1에 가까우면 이전 그레이디언트 정보에 큰 가중치 부여한다 즉 관성이 매우 큰 것이다.
보통은 0.5, 0.9 또는 0.99을 사용한다고 한다
3-1. 모멘텀 효과
오버슈팅 완화현상

모멘텀은 더 적은 반복횟수로 최적해에 도달 가능하다
3-2. 네스테로프 모멘텀
1. 현재 𝐯 값으로 다음 이동할 곳 가중치를 예견한다 Look-ahead
즉 기존 관성을 𝛼만큼 고려하여 미리 위치를 예측한다

2.가중치 예측 지점에서 그레디언트를 사용한다

기존 관성 + 미래의 경사 = 새로운 속도가 된다
3. 가중치를 업데이트한다

모멘텀을 적용한 경사하강법은 다음과 같다
네스테로프 모멘텀 핵심원리는 미래 위치의 경사를 보고 경로를 수정하는 데 있다.

미래 위치의 그레디언트가 브레이크로 기능하며 내리마긍로 경로 수정이 가능하다 따라서 오버슈팅이 완화된다.


4. 적응적 학습률
매개변수마다 자신의 상황에 따라 학습률을 조절해서 사용하는 기법이다.
현대 기계학습에서 널리 사용되는 기법 : AdaGrad, RmsProp, Adam
4-1. AdaGrad
AdaGrad : 매개변수 별로 지금까지 얼마나 업데이트 되었는지 보고 적절한 학습률을 결정한다.
매개변수별 그레디언트 누적값을 저장하는 벡터 r 을 정의한다.

- r이 너무 크면 가중치 변화량은 적어서 조금만 이동
-
r이 작으면 가중치 변화량은 커서 많이 이동 (그동한 업데이트가 적어서 크게 하도록한다)
즉 가중치별로 상황에 따라 학습률을 다르게 적용하여 가중치 보폭을 정한다.
'{Lecture} > Machine Learning' 카테고리의 다른 글
| [기계학습] 딥러닝 최적화 - 규제 ( 가중치 감쇠, 조기 멈춤, 데이터 증강) (0) | 2025.12.14 |
|---|---|
| [기계학습] Multilayer Perceptron : MLP (0) | 2025.10.17 |
| [기계학습] Perceptron (0) | 2025.10.17 |
| [기계학습] 선형대수학 - 행렬 (0) | 2025.10.16 |
| [기계학습] 선형대수학 정리 - 벡터 (0) | 2025.10.16 |