소프트맥스 함수
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
소프트맥스 함수는 K개의 실수 벡터를 입력받아 각 입력 값의 지수에 비례하는 K개의 확률로 구성된 확률 분포로 정규화하는 함수이다. 입력 값이 클수록 해당 확률도 커지도록 설계되었으며, (0, 1) 구간의 값을 가지며 모든 구성 요소의 합이 1이 되도록 정규화한다. 이 함수는 이진 분류 문제에서 시그모이드 함수와 관련이 있으며, 자연 상수 e 대신 다른 밑을 사용할 수도 있다. 소프트맥스 함수는 편미분, 교차 엔트로피와의 결합, 오버플로 방지 등의 특징을 가지며, arg max 함수의 부드러운 근사 함수로 해석될 수 있다. 확률론에서는 범주형 분포를 나타내는 데 사용되며, 통계역학에서는 볼츠만 분포로 해석된다. 소프트맥스 함수는 다항 로지스틱 회귀, 인공 신경망 등 다양한 다중 분류 방법에서 사용되며, 신경망의 출력 계층에서 활성화 함수로도 활용된다. 계산 복잡성을 해결하기 위해 계층적 소프트맥스, 분화된 소프트맥스 등의 방법이 제안되었으며, 수학적으로는 벡터 공간을 단순체로 매핑하는 특성을 갖는다. 소프트맥스 함수는 통계역학, 의사 결정 이론, 기계 학습 분야에서 사용되었으며, 특히 기계 학습 분야에서는 다층 퍼셉트론 네트워크의 출력값을 확률로 처리하기 위해 제안되었다.
소프트맥스 함수는 K개의 실수로 구성된 벡터를 입력받아 각 입력값의 지수에 비례하는 K개의 확률로 구성된 확률 분포로 정규화한다. 소프트맥스 함수 적용 전에는 벡터 구성 요소가 음수이거나 1보다 클 수 있으며, 합이 1이 아닐 수 있다. 그러나 소프트맥스를 적용하면 각 구성 요소는 (0, 1) 구간에 속하게 되고, 구성 요소의 합은 1이 되어 확률로 해석할 수 있다. 또한, 입력값이 클수록 해당 요소의 확률도 커진다.
소프트맥스 함수의 편미분은 크로네커 델타를 사용하여 다음과 같이 나타낼 수 있다.[21]
2. 정의
표준 (단위) 소프트맥스 함수 ()는 벡터 를 입력으로 받아 벡터 의 각 구성 요소를 다음과 같이 계산한다.
:
즉, 입력 벡터 의 각 요소 에 표준 지수 함수를 적용하고, 이를 모든 지수 함수의 합으로 나누어 정규화한다.
2. 1. 시그모이드 함수와의 관계
K = 2인 이진 분류 문제에서 로 두면 표준 시그모이드 함수가 된다.[21] z의 부호로 이진 분류를 할 수 있다.
:
2. 2. 밑이 e가 아닌 경우
밑(base)이 1보다 크면 입력값이 클수록 출력 확률이 높아지고, 밑이 1보다 작으면 입력값이 작을수록 출력 확률이 높아진다. 밑 값을 변화시키면 확률 분포의 집중도를 조절할 수 있다.
실수 β를 사용하여 또는 로 표현하면 다음과 같다.
:
3. 편미분
:
이 표현식은 인덱스 에 대해 대칭적이므로 다음과 같이 표현할 수도 있다.
:
크로네커 델타는 단순화를 위해 사용되었다. 안정적인 수치 계산을 위해 입력 벡터에서 최댓값을 빼는 방법이 사용되기도 한다.
3. 1. 교차 엔트로피와의 결합
소프트맥스 함수는 신경망 기반 분류기의 마지막 계층에서 주로 사용된다. 이러한 네트워크는 일반적으로 로그 손실 (또는 교차 엔트로피) 체제 하에서 훈련되며, 다항 로지스틱 회귀의 비선형 변형을 제공한다.[1]
교사 데이터 가 0 또는 1인 다중 클래스 분류 문제에서, 이고, 손실 함수로 교차 엔트로피를 사용한 경우,[1]
:
에 대해, 정답이 j, 즉 라고 하면,[1]
:
가 되고, 이것을 로 편미분하면 가 된다. 즉, 소프트맥스 함수 적용 후의 확률 분포에서 정답에 해당하는 부분만 1을 뺀 값이 된다.[1]
:
상향식 자동 미분을 사용할 때는, 이 값을 소스 노드로 내려보내면 된다.[1]
역전파로서, 회귀 문제에서 제곱합 오차의 경우에는 출력의 오차를 사용하고, 분류 문제에서 소프트맥스 함수와 교차 엔트로피의 경우에는 확률의 오차를 사용한다.[1]
4. 오버플로対策
오버플로를 방지하기 위해, 입력값()에 일괄적으로 같은 값을 빼도 소프트맥스 함수 적용 후 결과는 변하지 않는다는 점을 이용한다.[22] 입력값이 큰 경우, 단정밀도 부동소수점 수에서 여도 exp() 계산 후 결과가 오버플로되어 무한대가 된다.[22] 무한대 ÷ 무한대는 NaN이 된다.[22] 따라서 로 계산하는 것이 좋다.[22]
5. 해석
소프트맥스 함수는 arg max 함수의 부드러운 근사 함수이며, 확률론 및 통계 역학과 같은 분야에서 다양하게 해석되고 활용된다.
확률론에서 소프트맥스 함수의 출력값은 K개의 서로 다른 가능한 결과에 대한 범주형 분포를 나타내는 데 사용될 수 있다. 각 성분은 구간 (0, 1)에 속하며, 모든 성분의 합이 1이 되므로 확률로 해석할 수 있다. 입력값이 클수록 해당 결과의 확률도 커진다.[1]
통계역학에서 소프트맥스 함수는 볼츠만 분포(또는 깁스 분포)로 해석된다.[2] 시스템의 미시상태는 색인 집합 로 표현된다. 입력 는 해당 상태의 에너지이며, 분모는 분배 함수(Z)이다. 인자 β는 냉각도(또는 열역학적 베타, 또는 역온도)라고 불린다.
5. 1. Arg max의 부드러운 근사
소프트맥스 함수는 arg max 함수의 부드러운 근사 함수이다. arg max 함수는 벡터에서 가장 큰 요소를 갖는 인덱스를 값으로 출력한다."소프트맥스"라는 용어는 최댓값 함수의 부드러운 근사인 LogSumExp 함수에도 사용되기 때문에 혼동을 줄 수 있다. 이러한 이유로, "softargmax"라는 용어를 사용하기도 한다.[16]
softargmax는 β → ∞ 일 때 arg max로 점별 수렴한다. 하지만 softargmax는 arg max로 균등하게 수렴하지 않는다.
반대로 β → -∞ 일 때 softargmax는 arg min으로 수렴한다.
고정된 β 값에서 하나의 입력 zi가 다른 입력보다 훨씬 클 경우, 출력은 arg max에 가까워진다.
5. 2. 확률 이론
확률론에서 소프트맥스 함수의 출력값은 K개의 서로 다른 가능한 결과에 대한 범주형 분포를 나타내는 데 사용될 수 있다. 즉, 소프트맥스 함수를 적용함으로써, 각 성분은 구간 (0, 1)에 속하며, 모든 성분의 합이 1이 되므로 확률로 해석할 수 있게 된다. 입력값이 클수록 확률도 커진다.[1]5. 3. 통계 역학
통계역학에서 소프트맥스 함수는 볼츠만 분포(또는 깁스 분포)로 해석된다.[2] 색인 집합 는 시스템의 미시상태이다. 입력 는 해당 상태의 에너지이며, 분모는 분배 함수라고 하며, 종종 Z로 표기된다. 그리고 인자 β는 냉각도(또는 열역학적 베타, 또는 역온도)라고 불린다.6. 응용
소프트맥스 함수는 다항 로지스틱 회귀(소프트맥스 회귀라고도 함),[3] 다중 클래스 선형 판별 분석, 나이브 베이즈 분류기, 인공 신경망 등 다양한 다중 분류 방법에 사용된다.[5]
특히, 다항 로지스틱 회귀와 선형 판별 분석에서 함수의 입력은 K개의 서로 다른 선형 함수의 결과이며, 샘플 벡터 x와 가중치 벡터 w가 주어졌을 때 j번째 클래스에 대한 예측 확률은 다음과 같다.
:
이는 K개의 선형 함수 와 소프트맥스 함수의 함수 합성으로 볼 수 있다. (여기서 는 와 의 내적을 나타낸다). 이 연산은 로 정의된 선형 연산자를 벡터 에 적용하는 것과 동일하며, 따라서 원래의, 아마도 고차원적인 입력을 K차원 공간 의 벡터로 변환한다.
6. 1. 신경망
인공 신경망에서 소프트맥스 함수는 종종 출력 계층에서 활성화 함수로 사용되어 각 클래스에 대한 확률을 계산한다.[3][4][5] 이러한 네트워크는 일반적으로 로그 손실 (또는 교차 엔트로피) 체제 하에서 훈련되며, 다항 로지스틱 회귀(소프트맥스 회귀라고도 함)의 비선형 변형을 제공한다.6. 2. 강화 학습
강화 학습 분야에서 소프트맥스 함수는 행동 가치를 행동 확률로 변환하는 데 사용될 수 있다.[6]일반적으로 사용되는 함수는 다음과 같다.[6]
:
여기서 행동 가치 는 행동 a를 따르는 예상 보상에 해당하며, 는 통계 역학을 연상시키는 온도 매개변수이다. 온도가 높을수록() 모든 행동은 거의 동일한 확률을 가지며, 온도가 낮을수록 예상 보상이 확률에 더 많은 영향을 미친다. 온도가 낮을수록() 가장 높은 예상 보상을 가진 행동의 확률은 1에 가까워진다.
7. 계산 복잡도 및 해결책
신경망 응용 분야에서 가능한 결과의 수는 종종 많은데, 예를 들어 수백만 개의 가능한 단어를 포함할 수 있는 어휘에서 가장 가능성이 높은 결과를 예측하는 언어 모델과 같은 경우이다.[7] 이는 소프트맥스 레이어에 대한 계산을 계산적으로 비싸게 만들 수 있다.[7][8] 더욱이 이러한 신경망을 훈련하기 위한 경사 하강법 역전파 방법은 모든 훈련 예제에 대해 소프트맥스를 계산하는 것을 포함하며, 훈련 예제의 수도 커질 수 있다. 소프트맥스에 대한 계산 노력은 더 큰 신경 언어 모델 개발의 주요 제한 요소가 되어 훈련 시간을 줄이기 위한 다양한 해결책을 제시하게 되었다.[7][8]
보다 효율적인 계산을 위해 소프트맥스 레이어를 재구성하는 접근 방식에는 '''계층적 소프트맥스'''와 '''분화된 소프트맥스'''가 있다.[7] 계층적 소프트맥스(2005년 Morin과 벤지오에 의해 도입됨)는 결과(어휘 단어)가 잎이고 중간 노드가 적절하게 선택된 결과의 "클래스"인 이진 트리 구조를 사용하며, 잠재 변수를 형성한다.[8][9] 잎(결과)의 원하는 확률(소프트맥스 값)은 루트에서 해당 잎까지의 경로에 있는 모든 노드의 확률 곱으로 계산할 수 있다.[8] 이상적으로는 트리가 균형을 이룰 때 계산 복잡성을 에서 로 줄인다.[9] 실제로는 결과를 클래스로 클러스터링하기 위한 좋은 전략을 선택하는 것에 달려있다.[8][9] 허프만 트리는 확장성을 달성하기 위해 구글의 word2vec 모델(2013년에 도입)에서 사용되었다.[7]
두 번째 종류의 해결책은 전체 정규화 계수를 계산하지 않고 수정된 손실 함수로 소프트맥스(훈련 중)를 근사하는 것을 기반으로 한다.[7] 여기에는 결과 샘플로 정규화 합계를 제한하는 방법(예: 중요도 샘플링, 타겟 샘플링)이 포함된다.[7][8]
8. 수학적 성질
소프트맥스 함수는 벡터 공간 를 표준 -단순체의 경계로 매핑하는데, 모든 출력이 1이 되도록 하는 선형 제약 때문에 차원이 하나 줄어든다. 즉, 범위는 차원 공간에서 차원 단순체이다.[16]
주 대각선 를 따라 소프트맥스는 단순히 출력에 대한 균일 분포, 즉 이다. 동일한 점수는 동일한 확률을 생성한다.[16]
더 일반적으로 소프트맥스는 각 좌표에서 동일한 값으로 변환하는 것에 대해 불변이다. 입력 에 를 더하면 가 생성된다. 각 지수에 동일한 인수 를 곱하기 때문이다(이므로). 따라서 비율은 변경되지 않는다.[16]
:
기하학적으로 소프트맥스는 대각선을 따라 일정하다. 이것은 제거되는 차원이며 입력 점수의 변환(0점 선택)과 독립적인 소프트맥스 출력에 해당한다. 입력 점수를 합이 0이라고 가정하여 정규화할 수 있다(평균을 뺀다. 여기서 ). 그러면 소프트맥스는 합이 0인 점의 초평면 를 합이 1인 양의 값의 열린 단순체로 가져온다. 이는 지수가 0을 1로 가져가는 것과 유사하다(이고 양수이다).[16]
반대로 소프트맥스는 스케일링에 불변하지 않는다. 예를 들어, 이지만 이다.[16]
표준 로지스틱 함수는 2차원 공간의 1차원 축, 즉 평면에서 ''x''축의 특별한 경우이다. 한 변수는 0으로 고정되고(예: ), 이고 다른 변수는 변경될 수 있으며, 이를 로 표시한다. 그러면 는 표준 로지스틱 함수이고 는 그 보완 함수이다(즉, 합하면 1이 된다). 1차원 입력은 대안으로 선 로 표현될 수 있으며, 출력은 및 이다.[16]
9. 역사
소프트맥스 함수는 통계역학에서 볼츠만 분포로 사용되었으며, 볼츠만의 1868년 기본 논문에서 처음 사용되었고,[10] 기브스의 1902년 교과서에서 공식화되고 대중화되었다.[11]
의사 결정 이론에서 소프트맥스의 사용은 R. 덩컨 루스의 공로로 여겨지며,[12] 그는 합리적 선택 이론에서 무관한 대안의 독립성 공리를 사용하여 상대적 선호도에 대한 루스의 선택 공리에서 소프트맥스를 도출했다.
기계 학습 분야에서 "소프트맥스"라는 용어는 1989년 존 S. 브리들(John S. Bridle)의 두 학회 논문에서 사용된 것으로 여겨진다.[12][16] 브리들은 다층 퍼셉트론(MLP)에서 네트워크 출력을 확률로 처리하기 위해 제곱 오차 최소화 대신 확률 점수 매기기를 사용하고, 로지스틱 비선형성의 정규화된 지수('''소프트맥스''') 다중 입력 일반화를 제안했다.[13] 또한 브리들은 소프트맥스가 입력 값의 순위를 유지하며 최대 값을 선택하는 '승자 독식' 연산의 미분 가능한 일반화라고 설명했다.[14]
참조
[1]
서적
Deep Learning
http://www.deeplearn[...]
MIT Press
[2]
서적
Predicting Structured Data
https://mitpress.mit[...]
MIT Press
[3]
서적
Pattern Recognition and Machine Learning
Springer
[4]
웹사이트
Unsupervised Feature Learning and Deep Learning Tutorial
http://ufldl.stanfor[...]
2024-03-25
[5]
문서
What is a softmax activation function?
http://www.faqs.org/[...]
ai-faq
[6]
서적
Reinforcement Learning: An Introduction
http://incompleteide[...]
The MIT Press, Cambridge, MA
[7]
논문
Neural information retrieval: at the end of the early years
2018-06-01
[8]
논문
Strategies for Training Large Vocabulary Neural Language Models
https://aclanthology[...]
Association for Computational Linguistics
2016-08
[9]
논문
Hierarchical Probabilistic Neural Network Language Model
https://www.iro.umon[...]
PMLR
2005-01-06
[10]
논문
Studien über das Gleichgewicht der lebendigen Kraft zwischen bewegten materiellen Punkten
[11]
서적
Elementary Principles in Statistical Mechanics
[12]
arXiv
On the Properties of the Softmax Function with Application in Game Theory and Reinforcement Learning
[13]
conference
Probabilistic Interpretation of Feedforward Classification Network Outputs, with Relationships to Statistical Pattern Recognition
Springer
[14]
conference
Training Stochastic Model Recognition Algorithms as Networks can Lead to Maximum Mutual Information Estimation of Parameters
https://papers.nips.[...]
Morgan-Kaufmann
[15]
문서
"Speeding Up Entmax"
https://arxiv.org/ab[...]
[16]
웹사이트
Is the term "softmax" driving you nuts?
https://medium.com/@[...]
"[[Medium (website)|Medium]]"
2018-06-02
[17]
서적
パターン認識と機械学習 上
丸善出版
[18]
논문
Studien über das Gleichgewicht der lebendigen Kraft zwischen bewegten materiellen Punkten
[19]
conference
Probabilistic Interpretation of Feedforward Classification Network Outputs, with Relationships to Statistical Pattern Recognition
Springer
[20]
웹사이트
Training Stochastic Model Recognition Algorithms as Networks can Lead to Maximum Mutual Information Estimation of Parameters
https://proceedings.[...]
2024-06-04
[21]
웹사이트
ソフトマックス関数 {{!}} 高校数学の美しい物語
https://manabitimes.[...]
2024-06-02
[22]
서적
深層学習
KADOKAWA
[23]
서적
深層学習
KADOKAWA
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com