AI VIDEO BRIEFING

소프트맥스 원리 정리: 신경망이 지수함수를 쓰는 진짜 이유와 교차 엔트로피 기울기 계산

소프트맥스는 단순히 점수를 확률로 바꾸는 함수가 아니다. 지수함수와 음의 로그가능도를 짝지었을 때 기울기가 '예측 확률에서 정답 벡터를 뺀 값'이라는 한 줄로 정리되는 이유를, 신경망 학습 과정을 따라가며 차근차근 풀어본다.

신경망은 왜 소프트맥스를 버리지 못할까: 지수함수가 만드는 '공짜 기울기' 영상 대표 이미지

핵심 메시지

  • 지난 10여 년간 신경망 구조는 크게 바뀌었지만 마지막 단계의 소프트맥스만은 거의 손대지 않았다.
  • '확률로 만들고 미분 가능해야 한다'는 흔한 설명만으로는 왜 하필 지수함수인지 설명되지 않는다.
  • 소프트맥스와 음의 로그가능도를 함께 쓰면 야코비 행렬이 확률 벡터 하나만으로 표현되는 단순한 형태가 된다.
  • 두 선택이 맞물리면서 최종 기울기가 '모델이 예측한 확률 벡터 - 정답 원핫 벡터'라는 뺄셈 한 번으로 줄어든다.
  • 파이토치의 크로스 엔트로피 함수가 두 단계를 하나로 묶어 제공하는 것도 이 계산상의 이점 때문이다.

쉽게 이해하기

언어 모델과 컴퓨터 비전 모델을 지금 수준으로 끌어올린 주요 신경망들은 알고리즘과 구조 면에서 저마다 큰 변화를 시도했다. 그런데 영상은 이들 모두가 건드리지 않은 공통 부품이 하나 있다고 짚는다. 바로 모델이 뽑아낸 점수를 확률로 바꾸는 마지막 단계, 소프트맥스다.

교과서적인 설명은 이렇게 흘러간다. 모델은 각 범주에 점수를 매기는데 이 점수는 음수일 수도 있고 합이 1도 아니다. 학습과 검증을 위해서는 이를 모두 양수이면서 합이 1인 확률로 바꿔야 하고, 확률적 경사하강법으로 학습하려면 그 변환이 미분 가능해야 한다. 가장 높은 점수 하나를 골라 확률 1을 몰아주는 방식은 미분이 되지 않아 학습이 불가능하다.

문제는 이 설명이 '왜 하필 지수함수인가'에는 답하지 못한다는 점이다. 양수로 만들고 미분만 되면 되는 조건이라면 다른 함수도 얼마든지 있다. 게다가 지수함수는 덧셈·곱셈보다 계산 비용이 크고 수치 오버플로에도 취약하다. 영상은 이 비용을 감수할 만큼 강력한 이유가 있어야 한다고 되묻는다.

답은 손실 함수까지 함께 볼 때 드러난다. 점수를 확률로 바꾸는 함수로 소프트맥스를, 손실로 음의 로그가능도를 고르면 기울기 계산에서 놀라운 정리가 일어난다. 확률을 대각선에 놓은 행렬에서 확률끼리의 외적을 뺀 형태, 즉 벡터 하나의 정보만으로 만들어지는 야코비 행렬이 나온다. 이 행렬은 행과 열의 합이 모두 0이라 경사 하강 과정에서 확률의 합이 1이라는 제약이 깨지지 않는다.

여기에 손실 쪽 항까지 곱하면 결과는 더 단순해진다. 최종적으로 점수에 대한 기울기는 모델이 예측한 확률 벡터에서 정답을 나타내는 원핫 벡터를 뺀 값이 전부다. 행렬 곱을 실제로 수행할 필요조차 없다. 영상의 화자는 소프트맥스를 볼 때 확률 해석보다 이 점을 먼저 떠올린다고 말한다. 거대한 모델의 마지막 구간을 가장 빠르고 값싸게 만들어 주기 때문이다.

주요 인사이트

  • 설계 선택의 이유를 함수 하나만 떼어놓고 보면 알 수 없다. 소프트맥스의 정당성은 손실 함수와 짝을 이룰 때 비로소 드러난다.
  • 지수함수는 미분해도 자기 자신이 나오는 유일한 함수이며, 기울기 계산에서 항들이 대량으로 상쇄되는 근원이 바로 이 성질이다.
  • 야코비 행렬을 예측 확률만으로 즉시 만들 수 있다는 것은, 손실을 계산하는 과정에서 이미 역전파에 필요한 재료가 확보된다는 뜻이다.
  • 프레임워크가 점수와 정답을 한 번에 받는 크로스 엔트로피 함수를 제공하는 이유는 편의성이 아니라 수치 안정성과 계산 절약에 있다.
  • 음의 로그가능도에는 잘 보정된 확률, 경험적 분포와의 일치 같은 통계적 장점도 따라오지만, 실무에서 체감되는 이득은 기울기의 단순함이다.

자주 묻는 질문

점수를 확률로 바꾸는 데 왜 지수함수여야 하나요?

양수로 만들고 미분 가능해야 한다는 조건만 보면 다른 함수도 가능합니다. 지수함수가 선택된 결정적 이유는 음의 로그가능도 손실과 결합했을 때 기울기 계산이 극적으로 단순해지기 때문입니다.

소프트맥스와 음의 로그가능도를 함께 쓰면 기울기가 어떤 형태가 되나요?

점수에 대한 손실의 기울기가 모델이 예측한 확률 벡터에서 정답 원핫 벡터를 뺀 값이 됩니다. 별도의 행렬 곱 없이 벡터 뺄셈 한 번으로 끝납니다.

이름에 '소프트'가 붙은 이유는 무엇인가요?

가장 큰 점수 하나에 확률 1을 몰아주는 최댓값 선택을 부드럽게 근사한 함수이기 때문입니다. 점수가 조금씩 변하면 출력 확률도 조금씩 변합니다.

파이토치의 크로스 엔트로피 함수는 무엇을 대신해 주나요?

소프트맥스 변환과 음의 로그가능도 손실 두 단계를 하나로 묶어, 모델 점수와 정답 벡터만 주면 손실과 기울기를 값싸고 수치적으로 안정되게 계산해 줍니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식