소프트맥스와 교차 엔트로피(Softmax and cross-entropy)
점수 여러 개를 지수함수(exponential function)로 양수로 만든 뒤 합이 1이 되게 나누어 확률(probability)로 바꾸는 함수(function). 정답에 준 확률의 음의 로그(교차 엔트로피, cross-entropy)를 손실로 쓰면, 점수에 대한 기울기(slope)가 '확률 − 정답'이라는 단순한 모양이 된다.
사진 한 장을 보고 고양이, 개, 새 가운데 무엇인지 가리는 분류기가 있다고 합시다. 분류기의 마지막 단계는 부류마다 점수를 하나씩, 예를 들어 고양이 2, 개 1, 새 0.1을 냅니다. 이 점수(로짓, logit)는 음수도 될 수 있고 합도 정해져 있지 않아서 그대로는 확률이 아닙니다. 소프트맥스(softmax)는 각 점수에 지수함수를 씌워 모두 양수로 만든 뒤, 합이 1이 되도록 전체 합으로 나눕니다. T는 잠시 뒤에 설명할 온도이고, 보통은 1입니다.
T = 1이면
세 가지 성질을 그림으로 확인할 수 있습니다. 첫째, 모든 점수에 같은 수 c를 더해도 확률은 그대로입니다.
둘째, 점수의 순서가 곧 확률의 순서입니다. T를 0에 가깝게 하면 가장 큰 점수의 확률이 1로, 나머지는 0으로 갑니다(가장 큰 점수가 하나뿐일 때). 가장 큰 것 하나를 고르는 argmax가 되는 것입니다. 반대로 T를 키우면 확률이 모두 1/3에 다가가며 고르게 퍼집니다. '소프트맥스'라는 이름은 딱 잘라 가장 큰 것을 고르는 일의 매끄러운 판이라는 뜻입니다. 분모에 로그를 씌운 로그합지수(log-sum-exp)
셋째, 부류가 둘이면
학습에는 정답에 준 확률의 음의 로그를 손실로 씁니다. 정답이 고양이라면
가 성립합니다. q를 따르는 기호들을 부호로 적을 때 평균(mean) 길이는 엔트로피(entropy)
이 짝이 널리 쓰이는 가장 큰 까닭은 기울기가 단순하다는 데 있습니다. T = 1일 때 정답이 k라면
첫째 그림의 청록 화살표가
이 식의 뿌리는 물리학에 있습니다. 온도 T에서 에너지가
흔한 오해는 소프트맥스의 출력을 그대로 믿을 수 있는 확률로 보는 것입니다. 합이 1이니 확률처럼 보이지만, '90%'라고 답한 예들이 실제로 90% 맞는다는 보장은 없습니다. 2017년 궈(Chuan Guo) 등은 여러 현대 이미지 분류 신경망이 이런 뜻에서 체계적으로 과신한다는 것을 측정해 보고했습니다. 그리고 검증 자료로 온도 T 하나만 맞추는 간단한 방법(온도 조정, temperature scaling)으로 그 차이를 크게 줄였습니다. 온도는 확률의 순서를 바꾸지 않으므로 이 보정으로 정확도는 변하지 않습니다.
이어지는 곳. 언어 모델(language model)은 다음 토큰(token)의 확률을 수만에서 수십만 개 토큰 전체에 대한 소프트맥스로 내고, 교차 엔트로피로 학습합니다. 그 확률에서 글을 뽑을 때 온도를 바꾸는 것이 디코딩의 가장 단순한 손잡이입니다. 어텐션(attention)은 단어 사이의 유사도(similarity) 점수를 소프트맥스로 가중치(weight)로 바꾸어, 어느 단어를 얼마나 참고할지 정합니다. 이때 위치 인코딩(positional encoding)의 ALiBi처럼 두 단어의 거리 d에 비례한 벌점 −md(m은 미리 정한 양수)를 점수에 더하면, 소프트맥스를 거친 가중치에는
이 개념이 나오는 긴 글
이 개념 위에 세워진 것
이 개념을 언급하는 페이지
- 지수함수 eˣ
… 크기 순서를 지키므로, 점수 여러 개를 eˣ로 바꾼 뒤 합이 1이 되게 나누면 확률이 됩니다. 이것이소프트맥스이고, 점수가 둘일 때 두 점수의 차를 x라 하면 로지스틱 회귀의 S자 곡선 1/(1 + e^{-x}) …
- 내적
… 언어 모델의 어텐션도 쿼리 벡터와 여러 키 벡터의 내적으로 비슷한 정도를 잰 뒤, 그 점수를소프트맥스로 합이 1인 가중치로 바꿉니다. 이때 쿼리와 키를 각자의 위치에 비례하는 각도만큼 돌린 뒤 내적하면, …
- 코사인 유사도
… 키가 얼마나 닮았는지를 내적으로 재지만, 길이로 나누지 않고 차원의 제곱근 \sqrt d 로만 나눈 뒤소프트맥스에 넣습니다. 그래서 쿼리와 방향이 같은 두 키 가운데서는 더 긴 쪽이 더 큰 가중치를 받습니다. 단어를 …
- 최대 엔트로피 원리
… \cdot f}/Z 꼴입니다. 점수마다 e의 거듭제곱을 씌운 뒤 합이 1이 되게 나눈 이 모양을소프트맥스라 하고, 신경망의 마지막 층과 자연어 처리의 '최대 엔트로피 분류기'가 이 모양입니다. 제약이 ⟦상호 …
- 로지스틱 회귀
… 1을 준 분포'와 모형이 말하는 분포 사이의 교차 엔트로피를 재어 평균한 것이어서, 부류가 셋 이상일 때의소프트맥스와 교차 엔트로피로 그대로 이어집니다. 최소제곱과 달리 L을 가장 작게 하는 w, b를 한 번에 주는 공식은 없습니다. …
- EM 알고리즘과 가우스 혼합
… 평균과 가중 분산은 기댓값과 분산을 책임도로 센 것입니다. 하한과 KL 발산으로 나누는 항등식은교차 엔트로피가 엔트로피와 KL 발산으로 나뉘는 것과 같은 계산입니다. 1991년 제이컵스, 조던, 놀런, …
- 라그랑주 승수법
… \propto e^{\lambda x_i} 라는 지수 모양이 나오는데(최대 엔트로피 원리), 이것이소프트맥스의 모양입니다. 인간 피드백 강화 학습에서 보상 r을 키우되 원래 모형 \pi_{\text{ref}} …
- 인공지능
… 고유값과 특잇값입니다(비선형 함수의 기울기도 함께 곱해집니다). 출력을 확률로. 마지막 층의 수들은소프트맥스를 거쳐 모두 더하면 1인 확률이 됩니다. 이때 흔히 쓰는 손실은 교차 엔트로피입니다. 정답에 준 확률의 …
- 합성곱 신경망
… 에일리어싱 때문이라는 분석이 있습니다. 필터로 얻은 특징을 모아 여러 범주의 확률로 바꾸는 마지막 층은소프트맥스이고, 망이 커질수록 학습 자료에만 맞아 버릴 위험은 과적합과 정규화에서 다룹니다. 같은 무늬를 …
- 어텐션
… 찾는 것(쿼리 q)을 모든 열쇠(키 k_1, \dots, k_n )와 내적으로 비교해 점수를 매기고,소프트맥스로 점수를 합이 1인 양수 가중치로 바꾼 다음, 각 열쇠에 붙은 값(밸류 v_1, \dots, v_n )을 …
- 트랜스포머
… 더합니다(잔차 연결). 출력. 마지막 벡터에 d×V 행렬을 곱해 어휘 크기만큼의 점수(로짓)를 얻고,소프트맥스로 다음 토큰의 확률로 바꿉니다. x \leftarrow x + …
- 언어 모델과 다음 토큰 예측
… 문맥을 아는 만큼 줄어드는 불확실성은 조건부 엔트로피로 잽니다. 마지막 층의 점수를 확률로 바꾸는소프트맥스와 교차 엔트로피는 한 쌍으로 쓰이며, 분류 문제의 로지스틱 회귀가 같은 손실을 씁니다. 학습된 …
- 디코딩: 온도, top-p, 빔 탐색
… 날씨가 정말" 뒤에 올 후보 12개와 모델이 준 점수(로짓) z입니다. 설명을 위해 정한 값입니다. 확률은소프트맥스로 얻습니다. p_i(T) = \frac{e^{z_i/T}}{\sum_j e^{z_j/T}} 방식: . …
- 인간 피드백 강화 학습과 정렬
… 최적 정책이 지수 꼴인 까닭은 최대 엔트로피 원리의 깁스 분포와 같은 계산에 있습니다. 같은 꼴은소프트맥스와 디코딩의 온도에도 나옵니다. 상태·행동·정책·보상의 틀과 정책 기울기는 강화 학습에서 다룹니다. …
- 위치 인코딩의 변천
… P로 섞으면 점수 행렬 S는 PSP^{\mathsf T} 로, 값 행렬 V는 PV로 바뀝니다. 행마다 하는소프트맥스는 행과 열을 섞기 전에 하든 뒤에 하든 결과가 같으므로 …
- 전문가 혼합
… 때 답이 y일 확률'로 읽고, p_i 는 전문가 i가 내놓는 그 확률입니다. 게이트 값 g_i(x) 는소프트맥스라서 양수이고 모두 더하면 1입니다. 그러니 전체의 답은 전문가들의 답을 게이트 값의 비율로 섞은 것이고, …
- 검색 증강 생성
… 길이 1로 맞추어 저장하는 까닭입니다. 표의 마지막 열 p(z|x)는 뽑힌 k개의 점수에 온도 0.1의소프트맥스를 씌운 것입니다. 2020년 RAG 논문은 이 확률로 문서마다의 답을 섞었습니다(아래). 인코더는 어떻게 …
- 언어 모델의 발전사: RLHF 이후
… 모형과 로지스틱 회귀, 출발점에서 멀어지지 않게 하는 KL 발산, 점수를 확률로 바꾸는소프트맥스, 그것으로 전문가를 고르는 희소 라우팅, 벡터의 방향으로 글을 찾는 코사인 유사도, 여러 번 뽑아 …
- 반환
… 가 max로 다가가 (max, +) 반환이 됩니다. \oplus_T 를 각 입력으로 미분한 값이 온도 T의소프트맥스이므로, 소프트맥스가 T → 0에서 argmax 쪽으로 몰리는 것은 이 극한의 다른 얼굴입니다. 이어지는 …