챕터별 상세
00:00
Softmax 공식과 지수 함수의 불안정성
Softmax 함수는 각 입력값의 지수(exponential)를 전체 지수의 합으로 나누어 확률 분포를 만든다. 지수 함수는 입력값이 커짐에 따라 결과값이 기하급수적으로 증가하는 특성을 가진다. 예를 들어 exp(1)은 약 2.7이지만 exp(10)만 되어도 22,000을 넘어서며, 이는 컴퓨터 연산에서 수치적 불안정성을 야기한다.
Softmax는 다중 클래스 분류 문제에서 모델의 출력을 확률로 해석하기 위해 마지막 레이어에 주로 사용된다.
01:17
수치 안정화를 위한 최댓값 뺄셈 기법
Softmax의 분자와 분모에 동일한 값인 exp(-C)를 곱해도 전체 결과값은 변하지 않는다. 여기서 C를 입력 벡터의 최댓값으로 설정하면 모든 입력값 xi에서 C를 뺀 값은 0 이하가 된다. 결과적으로 지수 함수의 입력이 0 이하가 되어 결과값이 항상 0과 1 사이로 제한되며 오버플로우 문제를 원천적으로 차단한다.
지수 법칙 e^(a-b) = e^a / e^b를 이용한 수학적 트릭이다.
02:18
실전 코드 비교 및 float16에서의 효과
PyTorch의 float16 자료형을 사용하여 최댓값 뺄셈 기법의 유무에 따른 차이를 확인했다. [10, 11, 12]와 같은 입력을 넣었을 때 일반적인 Softmax는 float16의 표현 범위를 벗어나 연산에 실패하지만, 최댓값을 뺀 방식은 [0, 1, 2]를 입력했을 때와 동일한 정확한 결과를 산출했다. 이 기법은 Flash Attention과 같은 고성능 최적화 기술의 기초가 된다.
float16은 표현 가능한 수의 범위가 좁아 오버플로우에 매우 취약하다.
언급된 리소스
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 03. 17.수집 2026. 03. 17.출처 타입 YOUTUBE
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.


