U nima uchun kerak
$K$ ta sinfli klassifikator oxirida $K$ ta son chiqaradi — logitlar (logits): masalan, «mushuk», «it», «qush» uchun $(2;\,1;\,0)$. Bular shunchaki ballar: ular manfiy bo‘lishi mumkin, yig‘indisi 1 ga teng emas va ulardan modelning qanchalik ishonchli ekani ko‘rinmaydi. Softmax bunday vektorni ehtimolliklar taqsimotiga aylantiradi: barcha sonlar musbat, yig‘indisi 1, tartib esa saqlanadi — balli katta bo‘lganning ehtimolligi ham katta.
U qayerda uchraydi:
- ko‘p sinfli klassifikator chiqishi — logistik regressiyadan ResNet va ViT’gacha: $\hat y=\operatorname{softmax}(Wx+b)$;
- til modellari — LLM har qadamda lug‘atdagi barcha tokenlar (o‘n va yuz minglab) uchun logit chiqaradi, softmax ulardan keyingi token taqsimotini yasaydi, harorat esa generatsiyaning «jasoratini» boshqaradi;
- transformerlardagi attention (diqqat) mexanizmi — $\operatorname{softmax}(QK^\top/\sqrt d)$ vaznlari qaysi tokenlarga qarashni hal qiladi;
- ekspertlar aralashmasi (MoE) — marshrutlovchi tokenni ekspertlar orasida softmax orqali taqsimlaydi;
- mustahkamlab o‘qitish — Bolsman siyosati $a$ harakatni $e^{Q(a)/T}$ ga proporsional ehtimollik bilan tanlaydi;
- statistik fizika — bu Bolsman — Gibbs taqsimoti $p_i\propto e^{-E_i/(kT)}$; «harorat» so‘zi ham shu yerdan.
$s_i=e^{z_i}/\sum_j e^{z_j}$: eksponenta barcha sonlarni musbat qiladi va ayirmalarni nisbatlarga aylantiradi, yig‘indiga bo‘lish esa normallaydi. Barcha logitlarga bitta o‘zgarmas qo‘shilsa, softmax o‘zgarmaydi (shuning uchun kodda maksimum ayiriladi), uning hosilasi — $\operatorname{diag}(s)-ss^\top$ matritsa, ikki sinf uchun esa u logitlar ayirmasining sigmoidasi bilan ustma-ust tushadi.
Intuitsiya: kuchaytirilgan ovoz berish
Sinflarni nomzodlar, logitlarni esa ularning ballari deb tasavvur qiling. «Ovozlar» ulushini olish uchun ballarni musbat qilish va normallash kerak. Shunchaki yig‘indiga bo‘lib bo‘lmaydi: ballar manfiy, yig‘indi esa nol bo‘lishi mumkin. Eksponenta ikkala muammoni hal qiladi: $e^{z}$ doim musbat, ballar ayirmasi esa nisbatga aylanadi: har bir birlik ustunlik nomzod ulushini raqibnikidan $e\approx2{,}718$ marta katta qiladi.
Chapdagi logit-ustunlarning uchini torting va o‘ngdagi ehtimolliklar qanday o‘zgarishini kuzating. Keyin «Barcha logitlarga +1» tugmasini bosing: chapdagi ustunlar ko‘tariladi, o‘ngda esa hech narsa o‘zgarmaydi.
$(2;\,1;\,0)$ logitlar bittaga farq qiladi, ehtimolliklar esa $e$ marta: $0{,}665/0{,}245\approx0{,}245/0{,}090\approx2{,}718$. Softmax faqat logitlarning ayirmalariga qaraydi. $T$ harorat logitlarni bo‘ladi: $T<1$ da ayirmalar o‘sadi va taqsimot keskinlashadi, $T>1$ da — silliqlashadi.
Formula mayda detallarigacha
- $z=(z_1,\dots,z_K)$
- logitlar vektori — oxirgi qatlamning xom chiqishlari, istalgan haqiqiy sonlar;
- $e^{z_i}$
- eksponenta: sonni musbat qiladi va logitlar ayirmalarini nisbatlarga aylantiradi;
- $\sum_{j}e^{z_j}$
- normallovchi yig‘indi (fizikada — statistik yig‘indi, partition function $Z$);
- $s_i$
- $i$-sinf ehtimolligi: $s_i\in(0;\,1)$ va $\sum_i s_i=1$.
Qo‘llanmadagi umumiy misolni ko‘rib chiqamiz — $z=(2;\,1;\,0)$ logitlar:
Harorat
Ko‘pincha softmax’dan oldin logitlar $T>0$ songa — haroratga bo‘linadi:
Jadval haroratning o‘sha $(2;\,1;\,0)$ vektor bilan nima qilishini ko‘rsatadi:
| $i$ | $z_i$ | $e^{z_i}$ | $s_i,\ T=1$ | $s_i,\ T=0{,}5$ | $s_i,\ T=2$ |
|---|---|---|---|---|---|
| 1 | 2 | 7,389 | 0,665 | 0,867 | 0,506 |
| 2 | 1 | 2,718 | 0,245 | 0,117 | 0,307 |
| 3 | 0 | 1,000 | 0,090 | 0,016 | 0,186 |
| Σ | 11,107 | 1 | 1 | 1 |
Ikki limit nomni tushuntiradi. $T\to0$ da faqat eng katta logit yutadi: softmax $\operatorname{argmax}$ ning one-hot vektoriga intiladi (agar maksimum yagona bo‘lsa). $T\to\infty$ da ayirmalar yo‘qoladi va taqsimot tekis bo‘ladi, $s_i\to1/K$. Softmax — «yumshoq» (soft) argmax: qat’iy tanlov va to‘liq befarqlik orasidagi holat.
Aniqroq aytganda, softmax max funksiyasini emas, argmax ning one-hot vektorini silliq yaqinlashtiradi. Silliq maksimum — bu log-sum-exp, softmax esa uning gradiyenti (LSE haqidagi bo‘limga qarang).
Xossalar
- Taqsimot: istalgan logitlarda $s_i>0$ va $\sum_i s_i=1$. Aynan 0 yoki 1 hech qachon chiqmaydi — faqat limitda (kompyuterda esa yaxlitlash tufayli).
- Tartibni saqlaydi: $z_i>z_j\iff s_i>s_j$, shuning uchun $\operatorname{argmax}s=\operatorname{argmax}z$. Faqat sinfni bashorat qilish uchun softmax’ni hisoblamasa ham bo‘ladi.
- Nisbatlar: $s_i/s_j=e^{z_i-z_j}$ — logitlar ayirmasi ehtimolliklar nisbatining logarifmiga teng. Aksincha, $z_i=\ln s_i+C$: logitlar ehtimolliklardan umumiy o‘zgarmas aniqligida tiklanadi.
- Siljishga invariantlik: istalgan $c$ son uchun $\operatorname{softmax}(z+c\mathbf 1)=\operatorname{softmax}(z)$. $K$ ta logitdan faqat $K-1$ ta ayirma ahamiyatli.
- Masshtabga invariant emas: $\operatorname{softmax}(az)$ $a>1$ da keskinroq, $0<a<1$ da yassiroq. Bu o‘sha harorat, $a=1/T$.
- Raqobat: bitta logitning o‘sishi uning ehtimolligini oshiradi va qolganlarining hammasini kamaytiradi — massa yaratilmaydi, qayta taqsimlanadi.
Nega siljish hech narsani o‘zgartirmaydi
$e^c$ ko‘paytuvchi qisqaradi. Aynan shu xossa kodda barcha logitlardan $\max_j z_j$ ni ayirishga imkon beradi: natija o‘sha, eksponenta esa endi to‘lib ketmaydi.
Ikki sinf — bu sigmoida
Ikki sinf uchun softmax — logitlar ayirmasining sigmoidasi, shuning uchun binar klassifikatorga bitta chiqish yetarli. Bitta sinfni qolgan hammasiga qarshi qo‘ysak, $K$ ta sinf uchun ham shunga o‘xshash formula o‘rinli:
Har bir ehtimollik — o‘z logitining qolganlarning «silliq maksimumidan» ustunligining sigmoidasi. Tekshirish uchun $s_i$ ning surat va maxrajini $e^{z_i}$ ga bo‘ling.
Geometriya: ehtimolliklar simpleksi
$K$ ta sinf bo‘yicha barcha taqsimotlar ehtimolliklar simpleksini tashkil etadi:
$K=3$ da bu teng tomonli uchburchak. Uchlari — ishonchli javoblar $(1;\,0;\,0)$, $(0;\,1;\,0)$, $(0;\,0;\,1)$, markazi — tekis taqsimot $(\tfrac13;\,\tfrac13;\,\tfrac13)$, ichidagi nuqta esa uchlarning $s_i$ vaznli «aralashmasi» (barisentrik koordinatalar).
Softmax butun $\mathbb R^K$ logitlar fazosini simpleksning ichki qismiga akslantiradi: tomonlar va uchlarga yetib bo‘lmaydi. $z+c\mathbf 1$ to‘g‘ri chiziqning barcha nuqtalari bitta nuqtaga o‘tadi, shuning uchun mohiyatan softmax $(K-1)$ o‘lchovli logitlar ayirmalari fazosi bilan simpleks ichki qismi orasidagi o‘zaro bir qiymatli moslikdir. Teskari akslantirish — logarifm: siljish aniqligida $z=\ln s$.
$H(s)=-\sum_i s_i\ln s_i$ entropiya noaniqlikni o‘lchaydi: u uchlar yonida 0 ga intiladi va markazda eng katta bo‘lib, $\ln K$ ga teng. $(0{,}665;\,0{,}245;\,0{,}090)$ uchun $0{,}832$ chiqadi, maksimum esa $\ln3\approx1{,}099$.
Hosila: Yakobi matritsasi
Softmax’ning $K$ ta kirishi va $K$ ta chiqishi bor, shuning uchun uning hosilasi son emas, balki $K\times K$ matritsa: $J_{ij}=\partial s_i/\partial z_j$ element $i$-ehtimollik $j$-logitga qanday javob berishini ko‘rsatadi.
Bo‘linma qoidasi bilan keltirib chiqarish
$S=\sum_k e^{z_k}$ deb belgilaymiz; u holda $\partial S/\partial z_j=e^{z_j}$. $i=j$ uchun:
$i\ne j$ uchun $e^{z_i}$ surat $z_j$ ga bog‘liq emas:
Logarifm orqali keltirib chiqarish (qisqaroq)
$\ln s_i=z_i-\ln S$. Eksponentalar yig‘indisi logarifmining hosilasi yana softmax: $\partial\ln S/\partial z_j=e^{z_j}/S=s_j$. Demak,
Bu yerda $\delta_{ij}$ — Kroneker belgisi: $i=j$ da 1, aks holda 0.
Bu matritsaning xossalari:
- diagonal $s_i(1-s_i)$ — aynan sigmoidaning hosilasi: $\tfrac14$ dan oshmaydi, $s_i=\tfrac12$ da maksimal;
- diagonaldan tashqaridagi barcha elementlar manfiy: bitta logitni ko‘tarib, qolganlaridan ehtimollik olamiz;
- simmetrik va har bir satr (hamda ustun) yig‘indisi 0: $J\mathbf 1=s-s\,(s^\top\mathbf 1)=0$. Bu $\sum_i s_i=1$ tenglikning hosilasi, $\mathbf 1$ vektor esa hech narsani o‘zgartirmaydigan siljish yo‘nalishi. Shuning uchun $J$ xos (singulyar);
- nomanfiy aniqlangan: $v^\top Jv=\sum_i s_iv_i^2-\bigl(\sum_i s_iv_i\bigr)^2$ — $s$ taqsimotdagi $v$ kattalikning dispersiyasi, dispersiya esa manfiy bo‘lmaydi;
- ishonch oshganda so‘nadi: $s$ simpleks uchiga yaqin bo‘lsa, $J$ ning barcha elementlari nolga yaqin — sigmoidadagi kabi to‘yinish.
Matritsasiz teskari o‘tish
Backprop’da $J$ ning o‘zi emas, $J^\top g$ ko‘paytma kerak, bu yerda $g=\partial L/\partial s$ yuqoridan keladi. $\operatorname{diag}(s)-ss^\top$ tuzilishi tufayli bu $O(K^2)$ o‘rniga $O(K)$ amal turadi:
$K\approx10^5$ tokenli LLM lug‘ati uchun bu har bir pozitsiyada $10^5$ va $10^{10}$ son orasidagi farq. Kross-entropiya bilan juftlikda esa yanada oddiy: $\partial L/\partial z=s-y$ (keltirib chiqarish — kross-entropiya sahifasida).
3D manzara: logitlar tekisligi ustidagi softmax
$z_3=0$ ni qayd etamiz — bu umumiylikni yo‘qotmaydi, chunki siljish bilan istalgan logitni nolga aylantirish mumkin, — va $s_1$ ni ikki o‘zgaruvchi $z_1$ va $z_2$ ning funksiyasi sifatida chizamiz. «Rampa» hosil bo‘ladi: $z_1$ ham $z_2$ dan, ham noldan katta bo‘lgan joyda sirt 1 ga yaqin, birinchi sinf yutqazgan joyda esa 0 ga yaqin. Chegara bo‘ylab u sigmoida bo‘yicha ko‘tariladi — bu «bittasi hammaga qarshi» formulasining amaldagi ko‘rinishi.
Yuqoridan ko‘rinish logitlar tekisligini uchta sohaga bo‘ladi. Chegaralar — teng logitlar to‘plamlari: $z_1=z_2\ge0$ nur 1- va 2-sinflarni, $z_1=0$, $z_2\le0$ nur 1- va 3-sinflarni, $z_2=0$, $z_1\le0$ nur 2- va 3-sinflarni ajratadi. Uchala nur ham $s=(\tfrac13;\,\tfrac13;\,\tfrac13)$ bo‘lgan koordinatalar boshidan chiqadi.
$\partial s_1/\partial z_1=s_1(1-s_1)$ sirt «o‘z» va «begona» sohalar ichkarisida deyarli tekis va deyarli nol. Softmax orqali gradiyent faqat model ikkilanayotgan joyda — chegaralar yaqinida oqadi.
Log-sum-exp: silliq maksimum
Softmax’ning «boshlang‘ich funksiyasi» bor — log-sum-exp funksiyasi:
LSE — silliq maksimum: eng katta eksponenta yig‘indida ustunlik qiladi va logarifm deyarli uning ko‘rsatkichini qaytaradi. Aniqroq,
Chap tengsizlik o‘rinli, chunki yig‘indi eng katta qo‘shiluvchisidan kichik emas, o‘ng tengsizlik — chunki $K$ ta qo‘shiluvchining har biri eng kattasidan oshmaydi. $(2;\,1;\,0)$ uchun: $\operatorname{LSE}=\ln11{,}107\approx2{,}408$ — $2$ va $2+\ln3\approx3{,}099$ orasida. Harorat bilan $\operatorname{LSE}_T(z)=T\ln\sum_j e^{z_j/T}$ da oraliq $T\ln K$ gacha qisqaradi: $T\to0$ da LSE oddiy maksimumga, uning gradiyenti $\operatorname{softmax}(z/T)$ esa argmax ning one-hot vektoriga aylanadi.
LSE va kross-entropiyaning qavariqligi
LSE gessiani — softmax’ning hosilasi, ya’ni o‘sha Yakobi matritsasi: $\nabla^2\operatorname{LSE}=\operatorname{diag}(s)-ss^\top$. U nomanfiy aniqlangan, demak LSE — qavariq funksiya. Bundan kross-entropiyaning logitlar bo‘yicha qavariqligi kelib chiqadi: $-\ln s_y=\operatorname{LSE}(z)-z_y$ — qavariq funksiyadan chiziqli funksiya ayirmasi.
$\operatorname{softmax}=\nabla\operatorname{LSE}$; $\ln s_i=z_i-\operatorname{LSE}(z)$ (log-softmax); $\mathrm{CE}=\operatorname{LSE}(z)-z_y$. Qo‘llanmadagi misol uchun: $2{,}408-2=0{,}408$. $K=2$ va $z=(x;\,0)$ da esa LSE softplus $\ln(1+e^{x})$ ga — ReLU ning silliq ko‘rinishiga aylanadi.
O‘qitishda softmax
Softmax’li eng oddiy model — ko‘p sinfli logistik (softmax-) regressiya: $K$ ta chiziqli funksiya logitlarni, softmax ehtimolliklarni beradi, yo‘qotish esa — kross-entropiya:
Bu yerda $y$ — to‘g‘ri sinfning one-hot vektori. Butun Yakobi matritsasi logarifm bilan juftlikda «bashorat − haqiqat» ayirmasiga qisqardi.
$i$ va $j$ sinflar orasidagi chegara — $z_i=z_j$ bo‘lgan to‘plam, ya’ni $(w_i-w_j)^\top x+b_i-b_j=0$: to‘g‘ri chiziq (umumiy holda gipertekislik). Softmax modelni nochiziqli qilmaydi — u faqat ballarni ehtimolliklarga aylantiradi. Egri chegaralar logitlarni neyron tarmoq hisoblaganda paydo bo‘ladi.
Transformer ichidagi softmax: attention
$\operatorname{softmax}(\cdot)$ ning har bir satri — bitta tokenning diqqati ketma-ketlik tokenlari (o‘zi ham) bo‘yicha taqsimoti, vaznlar yig‘indisi 1. $\sqrt d$ ga bo‘lish — bu harorat: komponentalari mustaqil, o‘rtachasi nol va dispersiyasi bir bo‘lgan $d$ o‘lchovli vektorlarning skalyar ko‘paytmasi dispersiyasi $d$ ga teng. Masshtablashsiz attention logitlari katta bo‘ladi, softmax deyarli one-hot gacha to‘yinadi, Yakobi matritsasi — u bilan birga gradiyentlar ham — deyarli nolga aylanadi.
Matn generatsiyasidagi harorat
Til modeli keyingi tokenni $\operatorname{softmax}(z/T)$ dan tanlaydi. $T\to0$ da (ochko‘z tanlov) eng ehtimolli token olinadi, $T<1$ da matn oldindan aytib bo‘ladiganroq, $T>1$ da — xilma-xilroq va xavfliroq. $T>1$ harorat bilimlar distillyatsiyasida ham ishlaydi (Xinton va boshq., 2015): o‘qituvchining «yumshoq» ehtimolliklari one-hot belgilardan ko‘ra ko‘proq axborot tashiydi.
Formula statistik fizikadan kelgan: Bolsman — Gibbs taqsimoti $p_i\propto e^{-E_i/(kT)}$ $T$ haroratda $E_i$ energiyali holat ehtimolligini beradi; logit minus ishorali energiya rolini o‘ynaydi. «Softmax» so‘zini 1990 yilda Jon Braydl tarmoq chiqishlarining ehtimoliy talqinini tasvirlab taklif qilgan. Ekonometrikada xuddi shu model multinomial logit deb ataladi.
Kodda: barqarorlik, log-softmax va PyTorch
Sodda formula katta logitlarda buziladi: $e^{1000}\approx2\cdot10^{434}$ na float32 ga, na float64 ga sig‘adi va cheksizlikka aylanadi, so‘ng $\infty/\infty=\text{NaN}$ chiqadi. float32 da (va daraja diapazoni xuddi shunday bo‘lgan bfloat16 da) chegara yaqinroq: $e^{x}$ allaqachon $x>88{,}72$ da to‘lib ketadi (eng katta float32 soni $\approx3{,}4\cdot10^{38}$). Juda manfiy logitlarda muammo teskari: eksponentalar nolga aylanadi va $0/0$ chiqadi.
Davo — siljishga invariantlik: $m=\max_j z_j$ ni ayiramiz. Eng katta ko‘rsatkich 0 ga, $e^0=1$ ga teng bo‘ladi, maxraj 1 va $K$ orasida yotadi — na to‘lib ketish, na nolga bo‘lish:
pythonimport numpy as np
np.set_printoptions(precision=3)
def softmax(z, axis=-1, T=1.0):
"""Barqaror softmax: maksimumni ayiramiz, natija o‘zgarmaydi."""
z = np.asarray(z, dtype=float) / T
z = z - z.max(axis=axis, keepdims=True)
e = np.exp(z)
return e / e.sum(axis=axis, keepdims=True)
def log_softmax(z, axis=-1):
# log s_i = z_i − logsumexp(z): juda kichik ehtimolliklarda ham log(0) siz
z = np.asarray(z, dtype=float)
m = z.max(axis=axis, keepdims=True)
return z - m - np.log(np.exp(z - m).sum(axis=axis, keepdims=True))
def softmax_backward(s, g):
# J^T g = s * (g − <g, s>): K×K matritsa o‘rniga O(K)
return s * (g - (g * s).sum(axis=-1, keepdims=True))
z = np.array([2.0, 1.0, 0.0])
print(softmax(z)) # [0.665 0.245 0.09 ]
print(softmax(z + 1000)) # [0.665 0.245 0.09 ] — siljish muhim emas
print(softmax(z, T=0.5)) # [0.867 0.117 0.016] — keskinroq
print(log_softmax([0.0, -800.0])) # [ 0. -800.], np.log(softmax(...)) esa -inf beradi
pythonimport torch
import torch.nn.functional as F
z = torch.tensor([2.0, 1.0, 0.0], requires_grad=True)
s = F.softmax(z, dim=-1) # tensor([0.6652, 0.2447, 0.0900])
s[0].backward() # Yakobi matritsasining birinchi satri
print(z.grad) # tensor([ 0.2227, -0.1628, -0.0599])
# O‘qitishda alohida softmax kerak emas:
logits = torch.randn(4, 3) # batch: 4 ta misol, 3 ta sinf
target = torch.tensor([0, 2, 1, 0])
loss = F.cross_entropy(logits, target) # ichida — log_softmax + NLL
log_p = F.log_softmax(logits, dim=-1) # ehtimolliklar logarifmlari kerak bo‘lsa
Agar keyin logarifm kelsa, $\ln(\operatorname{softmax}(z))$ ni ikki qadamda hisoblamang: kichik ehtimollik 0 ga yaxlitlanadi va $-\infty$ chiqadi. log_softmax dan yoki to‘g‘ridan-to‘g‘ri logitlardagi yo‘qotishdan foydalaning: PyTorch’da F.cross_entropy / nn.CrossEntropyLoss, Keras’da from_logits=True.
Ko‘p uchraydigan xatolar
nn.CrossEntropyLossdan oldin softmax. Bu yo‘qotish logitlarni kutadi va log-softmax’ni o‘zi qo‘llaydi. Ikki karra softmax ehtimolliklarni siqadi: uch sinf uchun ikkinchi softmax $e/(e+2)\approx0{,}576$ dan ko‘p bermaydi, yo‘qotish $0{,}551$ dan pastga tushmaydi, gradiyentlar buziladi.- Noto‘g‘ri o‘q. $(N,K)$ shaklli batch uchun misollar bo‘yicha (
dim=0) emas, sinflar bo‘yicha (dim=-1) normallash kerak. Istisno chiqmaydi — model shunchaki bema’ni narsani o‘rganadi. - Sodda eksponenta maksimumni ayirmasdan — katta logitlarda NaN, ayniqsa aralash aniqlikda: float16 da $e^{x}$ allaqachon $x>11{,}09$ da to‘lib ketadi.
- Multi-label uchun softmax. Agar obyektda bir vaqtda bir nechta belgi bo‘lishi mumkin bo‘lsa (rasmda mushuk va it), sinflar raqobatlashmaydi — har bir chiqishda sigmoida va BCE kerak.
- Softmax ehtimolligini kafolat deb bilish. $s_{\max}=0{,}99$ «99% hollarda haq» degani emas: chuqur tarmoqlar ko‘pincha o‘ziga haddan tashqari ishonadi. Kalibrlash — alohida vazifa; eng oddiy usul — temperature scaling, validatsiyada bitta $T$ ni tanlash.
- Turli misollar logitlarini solishtirish. Logitlar siljish aniqligida aniqlangan, shuning uchun «bir misolda logit 5, boshqasida 3 dan katta» hech narsani anglatmaydi. Ehtimolliklarni yoki bitta misol ichidagi logitlar ayirmalarini solishtiring.
Boshqa formulalar bilan bog‘liqlik
- Sigmoida: $\operatorname{softmax}(z_1,z_2)_1=\sigma(z_1-z_2)$, Yakobi matritsasining $s_i(1-s_i)$ diagonali esa sigmoidaning hosilasi.
- Kross-entropiya: softmax’ning tabiiy jufti; birgalikda $s-y$ gradiyentni beradi, $\mathrm{CE}=\operatorname{LSE}(z)-z_y$.
- BCE: ikki sinf uchun kross-entropiyaning xususiy holi, bunda softmax sigmoidaga keladi.
- Focal Loss: $-\ln p_t$ ni $(1-p_t)^\gamma$ ga ko‘paytiradi, bu yerda $p_t$ — to‘g‘ri sinfning softmax-ehtimolligi.
- ReLU: softplus $\ln(1+e^{x})=\operatorname{LSE}(x,0)$ — $\max(x,0)$ ning silliq varianti.
Xulosa
1) $s_i=e^{z_i}/\sum_je^{z_j}$ istalgan logitlarni $K$ ta sinf bo‘yicha taqsimotga aylantiradi va tartibni saqlaydi. 2) Faqat logitlar ayirmalari muhim: $s_i/s_j=e^{z_i-z_j}$, siljish hech narsani o‘zgartirmaydi — maksimumni ayiradigan barqaror formula shundan. 3) Harorat keskinlikni boshqaradi: $T\to0$ — argmax, $T\to\infty$ — tekis taqsimot. 4) $\operatorname{diag}(s)-ss^\top$ Yakobi matritsasi simmetrik, xos va ishonch oshganda so‘nadi; teskari o‘tish $O(K)$ turadi. 5) Softmax — LSE silliq maksimumining gradiyenti, kross-entropiya bilan juftlikda esa $s-y$ gradiyentni beradi.