Neyron tarmoq formulalari: qo‘llanma · Yo‘qotishlar — klassifikatsiya

BCE: binar kross-entropiya

Binar klassifikatsiyaning asosiy yo‘qotish funksiyasi. Uni mayda detallarigacha tahlil qilamiz: u qayerdan keladi (haqiqatga o‘xshashlik va axborot nazariyasi), nega sigmoida bilan birga uning gradiyenti shunchaki «bashorat − haqiqat», nega u MSE’dan yaxshiroq, 3D’da uning landshafti qanday ko‘rinadi, uni log(0) siz qanday hisoblash mumkin va u sinf vaznlari, belgilarni silliqlash va kalibrlash bilan qanday bog‘liq.

Javharbek Abdulatipov · 50 daq o‘qish
$$\mathrm{BCE}=-\frac{1}{n}\sum_{i=1}^{n}\Bigl[y_i\log\hat{y}_i+(1-y_i)\log\bigl(1-\hat{y}_i\bigr)\Bigr]$$

U nima uchun kerak

Binar klassifikatsiya modeli $\hat y\in(0;\,1)$ sonini chiqaradi — obyektning 1-sinfga tegishli bo‘lish ehtimolligini: xat — spam, tranzaksiya — firibgarlik, suratda o‘sma bor. Model o‘rganishi uchun yo‘qotish funksiyasi (loss) kerak: bashorat qanchalik yomon bo‘lsa, shunchalik katta bo‘ladigan va differensiallanadigan bitta son. Binar kross-entropiya (binary cross-entropy, BCE; statistikada — log loss, manfiy log-o‘xshashlik) — bunday masala uchun standart tanlov.

U qayerda turadi:

  • logistik regressiya va istalgan binar klassifikator chiqishi — sigmoida + BCE juftligi;
  • multi-label klassifikatsiya — har bir belgining (foto teglari, toksiklik toifalari) o‘z sigmoidasi va o‘z BCE’si bor, belgilar mustaqil;
  • gradiyentli busting — XGBoost’dagi binary:logistic, LightGBM’dagi binary, CatBoost’dagi Logloss — daraxtlarning «xom» hisobi bo‘yicha xuddi shu BCE;
  • GAN diskriminatori BCE bilan o‘qitiladi: «haqiqiy» — 1, «generatsiya qilingan» — 0;
  • RLHF va DPO’dagi mukofot modellari — $-\log\sigma(r_{\text{yaxshi}}-r_{\text{yomon}})$ yo‘qotishi baholar ayirmasi uchun 1 belgili BCE’dir (Bredli — Terri modeli);
  • metrika — musobaqalar va hisobotlardagi log loss: u nafaqat «topdimi», balki ehtimolliklarning halolligini ham baholaydi.
Bir daqiqada asosiysi

BCE — model to‘g‘ri javobga bergan ehtimollikning $-\log$ i. Ishonchli to‘g‘ri javob deyarli 0 turadi, «50 ga 50» javob — $\ln2\approx0{,}693$, ishonchli xato — istalgancha ko‘p. Sigmoida bilan birga logit bo‘yicha gradiyent shunchaki $\hat y-y$: to‘yinishsiz, moduli birdan oshmaydi va xatoga proporsional. BCE logistik regressiya vaznlari bo‘yicha qavariq, uning minimumi esa halol ehtimolliklarda erishiladi.

Intuitsiya: kutilmaganlik uchun jarima

Modelni har kuni yomg‘ir ehtimolligini aytadigan sinoptik deb tasavvur qiling. U «90%» desa va yomg‘ir yog‘sa — u deyarli ajablanmaydi, jarima kichik. «10%» desa-yu, yomg‘ir yog‘sa — u qattiq xato qildi va bunga ishongan edi; jarima katta bo‘lishi kerak. Agar u umuman prognozdan bosh tortib, doim «50%» desa, har kungi jarimasi bir xil — $\ln2\approx0{,}693$.

BCE aynan shunday tuzilgan: yo‘qotish haqiqatda sodir bo‘lgan narsa ehtimolligining $-\ln$ iga teng. $y=1$ to‘g‘ri javob uchun bu $-\ln\hat y$ (qizil egri chiziq), $y=0$ uchun — $-\ln(1-\hat y)$ (ko‘k). Nuqtani torting.

1-rasm. BCE’ning ikki tarmog‘i va faol tarmoqqa urinma. Standart holatda $y=1$, $\hat y=0{,}9$: yo‘qotish $0{,}105$, qiyalik $-1{,}111$. Nuqtani $\hat y=0{,}1$ ga suring: yo‘qotish $2{,}303$, qiyalik esa allaqachon $-10$. To‘g‘ri javobni $y=0$ ga almashtiring — egri chiziqlar rollarini almashtiradi.
Nimaga e’tibor berish kerak

Ishonchli xato $\hat y=0{,}1$ ishonchli to‘g‘ri javob $\hat y=0{,}9$ dan 22 marta qimmat ($2{,}303$ ga qarshi $0{,}105$). Yo‘qotishning shifti yo‘q: $\hat y\to0$ da devor cheksizlikka ketadi. Logarifmning yana bir xossasi: to‘g‘ri javob ehtimolligining har bir ikki marta kamayishi yo‘qotishga bir xil son — $\ln2\approx0{,}693$ qo‘shadi.

Formula mayda detallarigacha

Bitta qo‘shiluvchini — bitta obyektdagi yo‘qotishni olib, har bir detaliga qaraymiz.

$$\ell(y,\hat y)=-\Bigl[\underbrace{y\log\hat y}_{y=1\text{ da ishlaydi}}+\underbrace{(1-y)\log(1-\hat y)}_{y=0\text{ da ishlaydi}}\Bigr]$$
$y\in\{0,1\}$
to‘g‘ri javob (belgi). U kalit vazifasini bajaradi: $y=1$ da ikkinchi qo‘shiluvchi 0 ga ko‘paytiriladi, $y=0$ da — birinchisi;
$\hat y\in(0;\,1)$
1-sinfning bashorat qilingan ehtimolligi, odatda $\hat y=\sigma(z)$, bu yerda $z$ — logit (modelning xom chiqishi);
$1-\hat y$
0-sinfning bashorat qilingan ehtimolligi — ikki ehtimollik yig‘indisi 1 ga teng;
$\log$
natural logarifm ($\ln$): yo‘qotish «nat»larda o‘lchanadi; $\log_2$ bilan bitlar chiqardi;
$-$
minus kerak, chunki ehtimollik logarifmi manfiy: $\log\hat y\le0$, yo‘qotish esa $\ge0$ bo‘lishi kerak;
$\frac1n\sum_{i=1}^{n}$
obyektlar bo‘yicha o‘rtacha — yo‘qotish kattaligi batch o‘lchamiga bog‘liq bo‘lmasligi uchun.

Kalit ixcham yozuv beradi: $p_t$ — model to‘g‘ri sinfga bergan ehtimollik bo‘lsin ($y=1$ da $p_t=\hat y$, $y=0$ da $p_t=1-\hat y$). Unda

$$\ell=-\log p_t\qquad\text{va }z\text{ logit orqali:}\qquad \ell=\log\bigl(1+e^{z}\bigr)-y\,z=\operatorname{softplus}(z)-y\,z$$

Ikkinchi shakl — «logitlar bo‘yicha BCE» — gradiyentni keltirib chiqarish va barqaror kod uchun kerak bo‘ladi. Agar belgilar $s=\pm1$ ko‘rinishida yozilsa, xuddi shu yo‘qotish $\log(1+e^{-s z})$ logistik yo‘qotishga aylanadi, bu yerda $s z$ — chegara masofasi (margin): musbat margin to‘g‘ri javobni bildiradi.

$\hat y$$-\ln\hat y$ ($y=1$ da)$-\ln(1-\hat y)$ ($y=0$ da)$y=1$ da $\partial\ell/\partial\hat y$
0,0016,9080,001−1000
0,014,6050,010−100
0,12,3030,105−10
0,31,2040,357−3,333
0,50,6930,693−2
0,70,3571,204−1,429
0,90,1052,303−1,111
0,990,0104,605−1,010
0,9990,0016,908−1,001

Jadval nosimmetriyani ko‘rsatadi: to‘g‘ri tomonda yo‘qotish tezda nolga yopishadi, noto‘g‘ri tomonda logarifm kabi o‘sadi, $-1/\hat y$ qiyalik esa $\hat y=0{,}001$ da $-1000$ ga yetadi.

To‘rt obyektdagi misol

Belgilar $y=(1;\,0;\,1;\,1)$, bashoratlar $\hat y=(0{,}9;\,0{,}2;\,0{,}6;\,0{,}95)$. To‘g‘ri javoblar ehtimolliklari: $0{,}9$; $0{,}8$; $0{,}6$; $0{,}95$. Yo‘qotishlar: $0{,}105$; $0{,}223$; $0{,}511$; $0{,}051$. O‘rtachasi — $\mathrm{BCE}\approx0{,}223$. Eng ko‘p «aybdor» — uchinchi obyekt: model to‘g‘ri javobga atigi $0{,}6$ bergan.

U qayerdan keladi: maksimal o‘xshashlik

BCE «ko‘z bilan» o‘ylab topilmagan — u keltirib chiqariladi. Model shunday desin: «obyekt $\hat y$ ehtimollik bilan 1-sinfga tegishli». Bu Bernulli taqsimoti, uning formulasini bitta satrda yozish qulay — yana belgi kalit rolida, lekin endi daraja ko‘rsatkichida:

$$P(y\mid x)=\hat y^{\,y}\,(1-\hat y)^{1-y}=\begin{cases}\hat y, & y=1\\ 1-\hat y, & y=0\end{cases}$$

Agar obyektlar mustaqil bo‘lsa, o‘quv tanlanmasining barcha belgilarini ko‘rish ehtimolligi — o‘xshashlik (likelihood) — ko‘paytmaga teng. Maksimal o‘xshashlik usuli model parametrlarini shu ko‘paytma imkon qadar katta bo‘ladigan qilib tanlaydi:

$$\mathcal L=\prod_{i=1}^{n}\hat y_i^{\,y_i}(1-\hat y_i)^{1-y_i}\;\xrightarrow{\;-\frac1n\log\;}\;-\frac1n\sum_{i=1}^{n}\Bigl[y_i\log\hat y_i+(1-y_i)\log(1-\hat y_i)\Bigr]=\mathrm{BCE}$$

Logarifm ko‘paytmani yig‘indiga aylantiradi va maksimum nuqtasini siljitmaydi (u qat’iy o‘suvchi), minus maksimumni minimumga, $\tfrac1n$ esa o‘rtachaga aylantiradi. Demak, BCE’ni minimallashtirish — Bernulli modeli o‘xshashligini maksimallashtirishning aynan o‘zi.

Yuqoridagi misolda: $\mathcal L=0{,}9\cdot0{,}8\cdot0{,}6\cdot0{,}95=0{,}4104$, $-\ln0{,}4104\approx0{,}891$ — aynan to‘rt yo‘qotish yig‘indisi, 4 ga bo‘linganda esa xuddi shu $\mathrm{BCE}\approx0{,}223$.

BCE o‘rta geometrik sifatida

Formuladan kelib chiqadi: $e^{-\mathrm{BCE}}=\mathcal L^{1/n}$ — model to‘g‘ri javoblarga bergan ehtimolliklarning o‘rta geometrigi. Misolda $e^{-0{,}223}\approx0{,}800$: «model o‘rtacha to‘g‘ri javobga 80% qo‘yadi». Bu BCE qiymatini mutaxassis bo‘lmagan odamga tushuntirishning qulay usuli.

Nega ko‘paytmaning o‘zi emas, logarifm

Birinchidan, 1 dan kichik million ehtimollik ko‘paytmasi kompyuterda nolga aylanadi (underflow), logarifmlar yig‘indisi esa oddiy son. Ikkinchidan, yig‘indining hosilasi — hosilalar yig‘indisi: batch bo‘yicha gradiyent obyektlar hissalaridan yig‘iladi. Uchinchidan, logarifm mustaqillikni (ehtimolliklarni ko‘paytirishni) yo‘qotishlarni qo‘shishga aylantiradigan yagona (ko‘paytuvchi aniqligida) uzluksiz funksiya — u axborot ta’rifida turishining sababi ham shu.

Axborot nazariyasi nigohi: kutilmaganlik, entropiya, KL

Xuddi shu natija boshqa tomondan ham olinadi. Klod Shennon axborot nazariyasida $p$ ehtimollikli hodisa $I(p)=-\log p$ xususiy axborot olib yuradi; uni kutilmaganlik (surprisal) deb ham atashadi. Muqarrar hodisa ($p=1$) ajablantirmaydi ($I=0$); kamyob hodisa qattiq ajablantiradi; mustaqil hodisalarning kutilmaganliklari qo‘shiladi. Bitlarda ($\log_2$) $\tfrac18$ ehtimollikli hodisa 3 bit olib yuradi; natlarda ($\ln$) bir bit $\ln2\approx0{,}693$ ga teng.

Haqiqiy dunyo «1» ehtimolligi $y$ bo‘lgan tanga kabi tuzilgan bo‘lsin, model esa $\hat y$ ehtimollikka ishonsin. Unda:

$$\underbrace{H(y)=-y\log y-(1-y)\log(1-y)}_{\text{entropiya: haqiqatni bilgandagi o‘rtacha kutilmaganlik}}$$
$$\underbrace{H(y,\hat y)=-y\log\hat y-(1-y)\log(1-\hat y)}_{\text{kross-entropiya: }\hat y\text{ ga ishonilgandagi o‘rtacha kutilmaganlik}}$$

Kross-entropiya — bu aynan BCE (nomi shundan), formula esa «yumshoq» $y\in[0;\,1]$ belgilar uchun ham ishlaydi. Ikki kattalik ayirmasi — Kulbak — Leybler divergensiyasi (KL):

$$H(y,\hat y)=H(y)+\mathrm{KL}(y\,\|\,\hat y),\qquad \mathrm{KL}(y\,\|\,\hat y)=y\log\frac{y}{\hat y}+(1-y)\log\frac{1-y}{1-\hat y}\;\ge\;0$$

$H(y)$ entropiya modelga bog‘liq emas, shuning uchun BCE’ni minimallashtirish — KL’ni, ya’ni model ishonchidan haqiqatgacha bo‘lgan «masofa»ni minimallashtirish demak. KL faqat $\hat y=y$ da nolga teng. Qattiq $y\in\{0,1\}$ belgilar uchun entropiya nolga teng va BCE KL bilan ustma-ust tushadi.

2-rasm. Yumshoq $y$ belgi uchun kross-entropiya — ikki vaznli tarmoq (qizil va ko‘k) yig‘indisi. Uning minimumi aynan $\hat y=y$ da yotadi va $H(y)$ entropiyaga teng (feruza chiziq); undan yuqoridagi hamma narsa — KL (to‘q sariq ustun). $y=0{,}8$ va $\hat y=0{,}3$ da: $H=0{,}500$, $\mathrm{KL}=0{,}534$, $\mathrm{CE}=1{,}035$. $y$ ni 0 yoki 1 ga suring — entropiya yo‘qoladi va butun yo‘qotish KL bo‘lib qoladi.
Kod uzunligi

«Muhandislik» ma’nosi ham bor. Optimal kod $p$ ehtimollikli hodisaga taxminan $-\log_2p$ bit sarflaydi. Agar hodisalarni haqiqiy $y$ ga emas, $\hat y$ ga ishonib kodlasak, xabarning o‘rtacha uzunligi kross-entropiyaga teng, idealga nisbatan ortiqcha sarf esa aynan KL. Modelni BCE bilan o‘qitib, biz uni belgilarni imkon qadar tejamkor «siqish»ga o‘rgatamiz.

Isbot: KL ≥ 0 (Gibbs tengsizligi)

$\ln t\le t-1$ dan foydalanamiz (botiq logarifmga $t=1$ nuqtadagi urinma grafikdan yuqorida yotadi):

$$-\mathrm{KL}=y\ln\frac{\hat y}{y}+(1-y)\ln\frac{1-\hat y}{1-y}\le y\Bigl(\frac{\hat y}{y}-1\Bigr)+(1-y)\Bigl(\frac{1-\hat y}{1-y}-1\Bigr)=\hat y-y+(1-\hat y)-(1-y)=0$$

$\ln t\le t-1$ da tenglik faqat $t=1$ da, shuning uchun $\mathrm{KL}=0$ faqat $\hat y=y$ da (vazni nol bo‘lgan, $y=0$ yoki $1-y=0$ qo‘shiluvchilar shunchaki tushib qoladi).

Xossalar

  • Manfiy emaslik. $\ell\ge0$; qattiq belgilar uchun $\ell=0$ faqat $\hat y\to y$ limitda. Chiqishda sigmoida bo‘lsa, $\hat y$ hech qachon aynan 0 yoki 1 bo‘lmaydi, shuning uchun nolga erishilmaydi.
  • Yuqoridan chegaralanmaganlik. $y=1$, $\hat y\to0$ da yo‘qotish $\to+\infty$. Lekin logitlarda o‘sish faqat chiziqli: $z\ll0$ da $\operatorname{softplus}(-z)\approx-z$, va $-10$ logitli ishonchli xato cheksizlik emas, taxminan 10 turadi.
  • Logit bo‘yicha chegaralangan gradiyent. $|\partial\ell/\partial z|=|\hat y-y|<1$: model qanchalik qattiq xato qilmasin, har bir obyekt uni 1 dan oshmaydigan kuch bilan tortadi.
  • $\hat y$ bo‘yicha qavariqlik: $\dfrac{\partial^2\ell}{\partial\hat y^2}=\dfrac{y}{\hat y^2}+\dfrac{1-y}{(1-\hat y)^2}>0$. Logit bo‘yicha qavariqlik: $\dfrac{\partial^2\ell}{\partial z^2}=\hat y(1-\hat y)>0$. Bundan logistik regressiya vaznlari bo‘yicha qavariqlik kelib chiqadi (pastga qarang).
  • Sinflar simmetriyasi: $\ell(z,y)=\ell(-z,1-y)$ — sinflar nomini va logit ishorasini almashtirsak, hech narsa o‘zgarmaydi.
  • Qat’iy xos baholash qoidasi (strictly proper scoring rule): agar haqiqat $p$ ehtimollikli tanga bo‘lsa, o‘rtacha yo‘qotish $H(p)+\mathrm{KL}(p\,\|\,q)$ faqat $q=p$ prognozda minimal. BCE halollikni rag‘batlantiradi (kalibrlash bo‘limi).
  • Sanoq nuqtasi. Doim musbatlar ulushi $\pi$ ni bashorat qiladigan konstanta-model $\mathrm{BCE}=H(\pi)$ oladi. Muvozanatli sinflar uchun bu $\ln2\approx0{,}693$, $\pi=0{,}1$ uchun — $0{,}325$. Bu chegaradan yomonroq model hech narsa o‘rganmagan.
Logistik regressiya vaznlari bo‘yicha qavariqlik: gessian

$z_i=w^\top x_i$ bo‘lsin ($b$ siljish birlik belgi orqali $w$ ga kiritilgan). O‘rtacha BCE gradiyenti va gessiani:

$$\nabla_w\mathrm{BCE}=\frac1n\sum_{i=1}^{n}(\hat y_i-y_i)\,x_i,\qquad \nabla_w^2\mathrm{BCE}=\frac1n\sum_{i=1}^{n}\hat y_i(1-\hat y_i)\,x_ix_i^\top=\frac1n X^\top S X$$

bu yerda $S=\operatorname{diag}\bigl(\hat y_i(1-\hat y_i)\bigr)$. Istalgan $v$ vektor uchun: $v^\top\nabla^2 v=\frac1n\sum\hat y_i(1-\hat y_i)(v^\top x_i)^2\ge0$ — gessian nomanfiy aniqlangan, funksiya qavariq. Demak, logistik regressiyada yomon lokal minimumlar yo‘q: gradiyenti nol bo‘lgan nuqtani topgan har qanday tushish global minimumni topgan bo‘ladi. $y$ belgilar gessianga umuman kirmaydi. Klassik realizatsiyalardagi Nyuton usuli (IRLS) aynan shu gessianda ishlaydi.

Hosila: nega σ′ qisqaradi

Bu sahifaning markaziy formulasi. Avval $\hat y$ ehtimollik bo‘yicha hosila, so‘ng $z$ logit bo‘yicha, bu yerda $\hat y=\sigma(z)$.

$$\frac{\partial\ell}{\partial\hat y}=-\frac{y}{\hat y}+\frac{1-y}{1-\hat y}=\frac{\hat y-y}{\hat y\,(1-\hat y)}$$

Bu hosila noqulay: $\hat y\to0$ yoki $\hat y\to1$ da maxraj nolga intiladi va gradiyent portlaydi (yuqoridagi jadvalda $\hat y=0{,}001$ da $-1000$). Lekin model $\hat y$ ni bevosita chiqarmaydi — u logit chiqaradi, ehtimollik esa sigmoida orqali olinadi. Zanjir qoidasi:

$$\frac{\partial\ell}{\partial z}=\frac{\partial\ell}{\partial\hat y}\cdot\frac{\partial\hat y}{\partial z}=\frac{\hat y-y}{\hat y\,(1-\hat y)}\cdot\underbrace{\hat y\,(1-\hat y)}_{\sigma'(z)}=\hat y-y$$

Birinchi kasr maxraji — aynan sigmoida hosilasi $\sigma'(z)=\sigma(z)\bigl(1-\sigma(z)\bigr)$ (keltirib chiqarilishi sigmoida sahifasida). Ular qisqaradi va «bashorat minus haqiqat» qoladi.

Softplus orqali qadamma-qadam keltirib chiqarish

Yo‘qotishni logit orqali qayta yozamiz. $\log\sigma(z)=-\log(1+e^{-z})=-\operatorname{softplus}(-z)$ va $\log(1-\sigma(z))=\log\sigma(-z)=-\operatorname{softplus}(z)$ bo‘lgani uchun:

$$\ell=y\operatorname{softplus}(-z)+(1-y)\operatorname{softplus}(z)=\operatorname{softplus}(z)-y\,z$$

Bu yerda $\operatorname{softplus}(-z)=\log(1+e^{-z})=\log\bigl(e^{-z}(e^{z}+1)\bigr)=\operatorname{softplus}(z)-z$ ayniyatidan foydalanildi. Softplus hosilasi — sigmoida: $\frac{d}{dz}\log(1+e^{z})=\frac{e^{z}}{1+e^{z}}=\sigma(z)$. Demak,

$$\frac{\partial\ell}{\partial z}=\sigma(z)-y,\qquad \frac{\partial^2\ell}{\partial z^2}=\sigma(z)\bigl(1-\sigma(z)\bigr)$$

Ikkinchi hosila istalgan $z$ da musbat — yo‘qotish logit bo‘yicha qat’iy qavariq.

Nega bu tasodif emas: kanonik bog‘lanish

Bernulli taqsimoti eksponensial oilaga tegishli: $\log P(y)=y\,z-A(z)$, bu yerda $z=\log\frac{\hat y}{1-\hat y}$ — tabiiy parametr (logit), $A(z)=\log(1+e^{z})=\operatorname{softplus}(z)$ esa normallovchi konstanta logarifmi. Har qanday bunday oilada $A'(z)$ o‘rtachaga teng, bu yerda $\sigma(z)$. Shuning uchun $A(z)-yz$ manfiy log-o‘xshashlik doim «o‘rtacha − kuzatuv» gradiyentiga ega.

Sigmoida — umumlashgan chiziqli modellarda Bernulli uchun kanonik bog‘lanish funksiyasi (aniqrog‘i, unga teskari). Aynan shu manzara softmax + kross-entropiya (gradiyent $s-y$) va gauss shovqini uchun «ayniy chiqish + MSE» (gradiyent $\tfrac12(\hat y-y)^2$ uchun $\hat y-y$; MSE’ning o‘zida — $2(\hat y-y)$) juftliklarida ham. Shuning uchun «bashorat − haqiqat» formulasi butun mashinaviy o‘qitishda takrorlanadi.

Logistik regressiya vaznlari $\hat y_i=\sigma(w^\top x_i+b)$ uchun bu o‘qitishda ishlatiladigan qisqa formulalarni beradi:

$$\frac{\partial\,\mathrm{BCE}}{\partial w}=\frac1n X^\top(\hat y-y),\qquad \frac{\partial\,\mathrm{BCE}}{\partial b}=\frac1n\sum_{i=1}^{n}(\hat y_i-y_i)$$
3-rasm. Yuqorida — logit funksiyasi sifatida BCE, pastda — uning birinchi (to‘q sariq) va ikkinchi (feruza) hosilalari. Urinma qiyaligi $\hat y-y$ ga teng. $y=1$, $z=-2$ da: $\hat y=0{,}1192$, yo‘qotish $2{,}1269$, gradiyent $-0{,}8808$ — yuqoriga kuchli turtki. Punktirlar — asimptotalar: chapda yo‘qotish $-1$ qiyalikli to‘g‘ri chiziq kabi o‘sadi, o‘ngda nolga yopishadi. $\varepsilon$ suriluvchisi belgilarni silliqlash bo‘limida kerak bo‘ladi.
Xato signali

$\hat y-y$ gradiyent $(-1;\,1)$ oraliqda yotadi, ehtimollikdagi xatoga chiziqli bog‘liq va $\sigma'(z)$ ko‘paytuvchisini o‘z ichiga olmaydi. Ishonch bilan xato qilayotgan model deyarli maksimal turtki oladi; allaqachon haq bo‘lgan model — deyarli nol. Chiziqli regressiyadagi MSE gradiyenti ham (2 ko‘paytuvchi aniqligida) aynan shunday ko‘rinadi.

Nega MSE emas: to‘yinish va qavariq emaslik

Nega klassifikatorni regressiyadagidek $(\hat y-y)^2$ kvadratik xato bilan o‘qitmaslik kerak? $\hat y=\sigma(z)$ bo‘lganda logit bo‘yicha gradiyentni hisoblaymiz:

$$\frac{\partial}{\partial z}\bigl(\sigma(z)-y\bigr)^2=2\bigl(\sigma(z)-y\bigr)\,\underbrace{\sigma(z)\bigl(1-\sigma(z)\bigr)}_{\sigma'(z)\;\to\;0\text{ chekkalarda}}$$

Bu yerda $\sigma'(z)$ ko‘paytuvchisi endi hech narsa bilan qisqarmaydi. Agar model ishonch bilan xato qilsa ($y=1$, $z\ll0$), $\sigma'(z)\approx0$ va gradiyent deyarli nol: model o‘zining eng qo‘pol xatosini «eshitmaydi». $z=-4$ da BCE gradiyenti $-0{,}982$, MSE’niki esa $-0{,}0347$ — 28 marta kichik; $z=-6$ da — allaqachon 203 marta. MSE gradiyentining eng katta moduli, $-0{,}296$, $z=-\ln2\approx-0{,}693$ da erishiladi — ya’ni MSE ozgina xato qilayotgan modelni eng kuchli turtadi.

4-rasm. Yuqorida — $y=1$ uchun sigmoida orqali BCE va MSE, pastda — ularning logit bo‘yicha hosilalari. Nuqtani chapga, ishonchli xato zonasiga torting: BCE’ning to‘q sariq gradiyenti $-1$ yonida turadi, MSE’ning binafsha gradiyenti so‘nadi. Binafsha bo‘yalgan soha — MSE botiq bo‘lgan $z<-\ln2$ sohasi.

Ikkinchi muammo — qavariq emaslik. $y=1$ uchun MSE’ning logit bo‘yicha ikkinchi hosilasi $-2\sigma(1-\sigma)^2(1-3\sigma)$ ga teng va $\sigma<\tfrac13$ da, ya’ni $z<-\ln2$ da manfiy. U yerda yo‘qotish botiq va deyarli tekis: ko‘p obyektlar bo‘yicha bunday qo‘shiluvchilar yig‘indisida platolar va egar sohalar paydo bo‘ladi (5-rasm). Uchinchi muammo — chegaralanganlik: MSE 1 dan oshmaydi va «juda noto‘g‘ri» deyarli «umidsiz noto‘g‘ri» bilan bir xil turadi.

MSE ikkinchi hosilasini keltirib chiqarish

$y=1$ da: $L=(1-\sigma)^2$, $L'=-2(1-\sigma)\sigma'=-2\sigma(1-\sigma)^2$. $\sigma'=\sigma(1-\sigma)$ ni eslab, ko‘paytmani differensiallaymiz:

$$L''=-2\Bigl[\sigma'(1-\sigma)^2-2\sigma(1-\sigma)\sigma'\Bigr]=-2\sigma'(1-\sigma)(1-3\sigma)=-2\sigma(1-\sigma)^2(1-3\sigma)$$

Ishorani $1-3\sigma$ ko‘paytuvchi belgilaydi: $\sigma<\tfrac13$ da (ya’ni $z<-\ln2$) $L''<0$. $L'$ minimumi o‘sha nuqtada: $L'(-\ln2)=-2\cdot\tfrac13\cdot\tfrac49=-\tfrac{8}{27}\approx-0{,}296$.

Ehtimolliklar bo‘yicha MSE qayerda o‘rinli

Metrika sifatida — marhamat: $(\hat y-y)^2$ o‘rtacha kvadratini Brayer bahosi (Brier score) deyishadi, u ham xos baholash qoidasi. Muammo kvadratning o‘zida emas, sigmoida orqali o‘qitishda: gradiyent $\sigma'$ orqali o‘tadi va so‘nadi. Ehtimoliy sabab ham bor: MSE — gauss shovqini o‘xshashligi, 0/1 belgilar esa gauss emas.

3D’da yo‘qotish landshafti

Yo‘qotishga butunlay, parametrlar funksiyasi sifatida qaraymiz. Bitta belgili logistik regressiya $\hat y=\sigma(wx+b)$ va 24 nuqtani (har sinfdan 12 tadan) olamiz. O‘rtacha yo‘qotish — ikki o‘zgaruvchili $L(w,b)$ funksiya, uni sirt sifatida chizish mumkin.

5-rasm. Chapda — $(w;\,b)$ tekisligi ustidagi yo‘qotish sirti (uni aylantiring), o‘ngda — sath chiziqlari bilan yuqoridan ko‘rinish, pastda — ma’lumotlar va joriy $\sigma(wx+b)$ egri chizig‘i. Start $(-5;\,4)$ — sinflarni ishonch bilan adashtiradigan model. «Boshlash» $\eta=1$ qadamli gradiyent tushishini ishga tushiradi; almashtirgich BCE’ni MSE’ga o‘zgartiradi.

Rasmda nima ko‘rinadi:

  • BCE — qavariq kosa, yagona minimumi $(1{,}441;\,0{,}149)$ da, u yerda $L=0{,}451$. Minimumdan uzoqda devorlari parabola emas, deyarli tekis qiya tekisliklar: yo‘qotish chiziqli o‘sadi, gradiyent chegaralangan.
  • MSE — platolar va burmalar. Uning minimumi $(1{,}374;\,0{,}320)$, $L=0{,}150$, tor vodiyda yotadi, chekkalarda esa sirt deyarli gorizontal.
  • Tushish tezligi. Startda BCE gradiyenti normasi $0{,}969$, MSE’niki — $0{,}0174$, 56 marta kichik. BCE yo‘qotishi minimal qiymatdan $0{,}01$ dan kamroq farq qilishiga atigi 15-qadamda yetadi, tushish esa 63-qadamda to‘xtaydi (gradiyent normasi $<10^{-4}$). MSE o‘z minimal qiymatiga xuddi shu $0{,}01$ aniqlikda faqat 600-qadamda yetadi, 1150-qadamda to‘xtaydi; 100- va 400-qadamlar orasida u yo‘qotish deyarli o‘zgarmaydigan plato bo‘ylab sudraladi ($0{,}500\to0{,}495$).
  • Turli minimumlar. Ikki yo‘qotish optimumlari ustma-ust tushmaydi: bular «eng yaxshi» modelning turli ta’riflari. BCE halol ehtimolliklarni, MSE esa ehtimolliklarning 0 va 1 dan og‘ishlari kvadratlarining eng kichigini qidiradi.
Kosa emas, konus

Minimumdan uzoqda o‘rtacha BCE uzoqlashgan sari deyarli chiziqli o‘sadi: katta logitlarda $\operatorname{softplus}(-s z)\approx\max(0,-s z)$ va funksiya $(w,b)$ bo‘yicha birinchi darajali musbat bir jinsli bo‘lib qoladi — konus kabi. Shuning uchun o‘zgarmas qadamli gradiyent tushishi chiziqli regressiyadagi MSE parabolasidagidek tik qiyaliklarda «tezlashmaydi», balki chegaralangan tezlik bilan yuradi — bu $|\hat y-y|<1$ ning yana bir natijasi.

O‘qitishda BCE

Endi ikki o‘lchovli holat: ikki sinfning 60 nuqtasi, $\hat y=\sigma(w_1x_1+w_2x_2+b)$ model, nol vaznlardan $\eta=1$ qadamli to‘liq gradiyent tushishi:

$$w\leftarrow w-\eta\,\frac1n X^\top\bigl(\sigma(Xw+b)-y\bigr),\qquad b\leftarrow b-\eta\,\frac1n\sum_{i=1}^{n}\bigl(\sigma(w^\top x_i+b)-y_i\bigr)$$
6-rasm. Chapda — 1-sinf ehtimolligi va $\hat y=0{,}5$ chegara; nuqta o‘lchami uning o‘z yo‘qotishiga proporsional. O‘ngda — qadamlar bo‘yicha o‘rtacha BCE. Startda barcha $\hat y=0{,}5$: yo‘qotish $\ln2=0{,}693$, aniqlik 50%. 10 qadamdan keyin yo‘qotish $0{,}456$, so‘ng $78{,}3\%$ aniqlik va $\|w\|=1{,}47$ bilan $0{,}453$ da qotib qoladi. Ma’lumotlarni «ajraladigan» ga almashtiring.

Nuqtalar o‘lchamiga e’tibor bering: eng yiriklari chegaraning «begona» tomonidagi nuqtalar bo‘lib qoladi. Ularning $|\hat y-y|$ gradiyenti 1 ga yaqin, ishonchli va to‘g‘ri klassifikatsiya qilinganlarniki esa nolga. BCE modelning «e’tibori»ni nimaga sarflashni o‘zi hal qiladi: asosan xatolarga va chegara yonidagi nuqtalarga.

Chiziqli ajraladigan ma’lumotlar: vaznlar cheksizlikka ketadi

Agar sinflar to‘g‘ri chiziq bilan ajralsa, BCE’ni shunchaki $\|w\|$ ni oshirib, istalgancha kichik qilish mumkin: chegara joyida qoladi, sigmoida esa tobora tiklashadi. Minimum yo‘q — faqat 0 infimum bor. Rasmda bu hisoblagichda ko‘rinadi: 100-qadamda yo‘qotish $0{,}0205$ va $\|w\|=3{,}94$, 200-qadamda — $0{,}0133$ va $4{,}77$, 400-qadamda — $0{,}0082$ va $5{,}76$. Norma qadamlar soni logarifmi kabi o‘sadi va to‘xtamaydi.

Vaznlar yo‘nalishi qayerga yaqinlashadi

Ajraladigan ma’lumotlarda BCE gradiyentini eng kichik marginli nuqtalar belgilaydi: nuqta hissasi $e^{-\text{margin}}$ kabi so‘nadi. Shuning uchun gradiyent tushishining $w/\|w\|$ yo‘nalishi maksimal margin yo‘nalishiga — qattiq SVM’niki bilan bir xil yo‘nalishga yaqinlashadi (Soudry va boshq., 2018), norma esa $\log t$ kabi o‘sadi. Bu gradiyent tushishining «yashirin regulyarizatsiyasi». Amalda vaznlarning cheksiz o‘sishi $L_2$-regulyarizatsiya, erta to‘xtatish yoki belgilarni silliqlash bilan to‘xtatiladi.

Hisoblash barqarorligi: BCEWithLogits

$-[y\log\hat y+(1-y)\log(1-\hat y)]$ formulasi qog‘ozda benuqson, lekin kompyuterda buziladi. Agar avval $\hat y=\sigma(z)$ ni, keyin logarifmni hisoblasak, uchta muammo paydo bo‘ladi:

  1. log(0). float32’da $\sigma(z)$ qiymati $z>16{,}64$ dayoq aynan 1 gacha yaxlitlanadi: unda $1-\hat y=0$, yo‘qotish $\infty$, gradiyent esa NaN. float64’da xuddi shu $z>36{,}74$ dan boshlanadi.
  2. Undan oldin aniqlik yo‘qolishi. Ikki yaqin sonning $1-\sigma(z)$ ayirmasi qiymatli raqamlarini yo‘qotadi (halokatli qisqarish): $z=16$ da sodda float32 $16$ o‘rniga $15{,}942$ beradi va grafik zinapoyaga aylanadi.
  3. Kesish (clipping) — davo emas, yamoq. Agar $\hat y$ ni $\varepsilon=10^{-7}$ bilan $[\varepsilon;\,1-\varepsilon]$ kesmaga cheklasak (Keras kirishda ehtimolliklar berilganda shunday qiladi), yo‘qotish $-\ln10^{-7}\approx16{,}118$ shiftiga, float32’da esa hatto $15{,}942$ ga tiraladi, chunki $1-10^{-7}$ soni $1-2^{-23}$ gacha yaxlitlanadi. Eng yomoni, shiftdan keyin kesish gradiyenti nolga teng: ishonch bilan xato qilayotgan misollar modelni o‘rgatishdan to‘xtaydi. PyTorch BCELoss ham shunga o‘xshash ish qiladi — logarifmni $-100$ da kesadi.

Davo — $\hat y$ ni hech qachon alohida hisoblamaslik, yo‘qotishni to‘g‘ridan-to‘g‘ri logit bo‘yicha, softplus va log-sum-exp usuli orqali hisoblash:

$$\ell(z,y)=\operatorname{softplus}(z)-y\,z=\max(z,0)-y\,z+\log\bigl(1+e^{-|z|}\bigr)$$
Bu shakl qayerdan keladi

Biz allaqachon $\ell=\operatorname{softplus}(z)-yz$ ni oldik. $\operatorname{softplus}(z)=\log(e^{0}+e^{z})$ ni to‘lib ketishsiz hisoblash qoldi. Log-sum-exp usuli: eng katta eksponentani qavsdan chiqaramiz, $m=\max(0,z)$:

$$\log\bigl(e^{0}+e^{z}\bigr)=m+\log\bigl(e^{-m}+e^{z-m}\bigr)=\max(z,0)+\log\bigl(1+e^{-|z|}\bigr)$$

Ko‘rsatkichlardan biri 0 ga, ikkinchisi $-|z|\le0$ ga teng, shuning uchun eksponenta hech qachon to‘lib ketmaydi, log1p funksiyasi esa kichik $u$ uchun $\log(1+u)$ ni aniq hisoblaydi. $|z|\to\infty$ da oxirgi qo‘shiluvchi silliq ravishda 0 ga ketadi va yo‘qotish asimptotik ravishda chiziqli bo‘ladi.

7-rasm. 0-sinf obyektidagi yo‘qotish logit funksiyasi sifatida, uch usulda hisoblangan. Qora chiziq — barqaror formula, binafsha punktir — sodda formula, feruza — kesish bilan. float32’da $z=20$ da: aniq $20{,}000$, sodda $\infty$, kesish bilan $15{,}942$. Aniqlikni float64’ga almashtiring — sodda formula $z\approx36{,}74$ gacha yashaydi. To‘g‘ri javobni $y=1$ ga almashtiring: float32’da sodda $-\log\sigma(z)$ $z\approx-88{,}7$ gacha turadi (undan keyin $e^{-z}$ to‘lib ketadi), kesish esa $16{,}118$ ga tiraladi.
pythonimport numpy as np

def sigmoid(z):
    # σ(z) = (1 + tanh(z/2)) / 2 — istalgan z da to‘lib ketishsiz
    return 0.5 * (1.0 + np.tanh(0.5 * np.asarray(z, dtype=float)))

def bce_with_logits(z, y, pos_weight=1.0):
    """Logitlar bo‘yicha barqaror BCE: y·softplus(−z) + (1 − y)·softplus(z)."""
    z, y = np.asarray(z, dtype=float), np.asarray(y, dtype=float)
    sp_pos = np.logaddexp(0.0, z)      # softplus(z)  = −log(1 − σ(z))
    sp_neg = sp_pos - z                # softplus(−z) = −log σ(z)
    return np.mean(pos_weight * y * sp_neg + (1 - y) * sp_pos)

def bce_grad(z, y):
    """O‘rtacha BCE’ning logitlar bo‘yicha gradiyenti: (σ(z) − y) / n."""
    return (sigmoid(z) - y) / len(z)

z = np.array([3.0, -2.0, 0.5, 20.0])
y = np.array([1.0, 0.0, 1.0, 0.0])
print(bce_with_logits(z, y))         # 5.1624 — deyarli hammasini oxirgi misol berdi
print(bce_grad(z, y))                # ≈ [-0.0119  0.0298 -0.0944  0.25]
print(bce_with_logits(z, y, 10.0))   # 6.3384 — musbat misollar 10 marta og‘irroq

# float32’da sodda usul: σ(20) 1 gacha yaxlitlanadi va log(1 − 1) = −inf
p = 1 / (1 + np.exp(-np.float32(20.0)))
print(-np.log(1 - p))                # inf (va RuntimeWarning)
pythonimport torch
import torch.nn as nn

z = torch.tensor([3.0, -2.0, 0.5, 20.0], requires_grad=True)   # logitlar
y = torch.tensor([1.0, 0.0, 1.0, 0.0])

loss = nn.BCEWithLogitsLoss()(z, y)    # σ va log bitta barqaror formula ichida
loss.backward()
print(loss.item())                     # 5.1624
print(z.grad)                          # (σ(z) − y) / 4 ≈ [-0.0119, 0.0298, -0.0944, 0.2500]

# Yomon: avval sigmoid, keyin BCELoss. float32’da σ(20) 1 ga teng,
# BCELoss log’ni −100 da kesadi va oxirgi misol 20 o‘rniga 100 turadi
p = torch.sigmoid(z.detach())
print(nn.BCELoss()(p, y).item())       # 25.1624

# Sinflar nomutanosibligi: musbat misoldagi xato 10 marta qimmat
loss_w = nn.BCEWithLogitsLoss(pos_weight=torch.tensor([10.0]))

# Belgilarni silliqlash: BCEWithLogitsLoss’da bunday parametr yo‘q — o‘zimiz silliqlaymiz
eps = 0.1
y_smooth = y * (1 - eps) + eps / 2     # 1 → 0.95, 0 → 0.05
Qoida

Model logitlarni qaytaradi, sigmoidani esa yo‘qotishning o‘zi qo‘llaydi: PyTorch’da BCEWithLogitsLoss, Keras’da from_logits=True, JAX’da optax.sigmoid_binary_cross_entropy. Chiqishga sigmoidani faqat ehtimollikning o‘zi kerak bo‘lganda — hisobot yoki chegara uchun qo‘llang.

Sinflar nomutanosibligi: vaznlar va pos_weight

Real masalalarda musbat misollar ko‘pincha kam: tranzaksiyalarning 1% i firibgarlik, ko‘rsatishlarning 0,1% i bosish. Oddiy BCE ehtimolliklarni halol o‘rganadi, lekin kamyob sinf ehtimolligi deyarli hamma joyda kichik va $0{,}5$ chegarada model deyarli hech kimni topmaydi. Ko‘p qo‘llanadigan vosita — musbat sinf vazni $w_+$ (PyTorch’da — pos_weight):

$$\ell_{w}=-\Bigl[w_+\,y\log\hat y+(1-y)\log(1-\hat y)\Bigr],\qquad \frac{\partial\ell_w}{\partial z}=\begin{cases}w_+(\hat y-1), & y=1\\ \hat y, & y=0\end{cases}$$

$w_+$ vazni har bir musbat misolni $w_+$ marta takrorlashga teng kuchli. To‘g‘ri berilgan model uchun optimal imkoniyatlar $w_+$ ga ko‘payadi, ya’ni logit $\ln w_+$ ga siljiydi. Musbatlar ulushi $\pi$ bo‘lgan konstanta-model quyidagini tanlaydi

$$\hat y^{*}=\frac{w_+\pi}{w_+\pi+1-\pi},\qquad w_+=\frac{1-\pi}{\pi}=\frac{n_{\text{neg}}}{n_{\text{pos}}}\;\Longrightarrow\;\hat y^{*}=\tfrac12$$

Shuning uchun ommabop $w_+=n_{\text{neg}}/n_{\text{pos}}$ tanlovi sinflarni «tenglashtiradi»: konstanta $0{,}5$ bo‘ladi.

8-rasm. 0-sinfning 150 obyekti ($x\sim N(0,\,1)$) va 1-sinfning 15 tasi ($x\sim N(2,\,1)$), logistik regressiya Nyuton usuli bilan o‘qitilgan. Qora egri — o‘qitilgan model, feruza punktir — nazariy $\sigma(\text{logit}+\ln w_+)$, to‘q sariq chiziq — $\hat y=0{,}5$ chegara. $w_+=1$ da: chegara $x^*=2{,}21$, 15 musbatdan 6 tasi topilgan, aniqlik (precision) $6/10$, o‘rtacha $\hat y=0{,}091$. $w_+=10=150/15$ da: chegara $1{,}24$, 15 tadan 13 tasi topilgan, aniqlik $13/33$, o‘rtacha $\hat y=0{,}244$.

Rasmdan uchta xulosa:

  • Vaznlarsiz o‘rtacha bashorat sinf ulushiga teng: $0{,}091=15/165$. Bu tasodif emas: siljishli logistik regressiyada optimumda $\partial\mathrm{BCE}/\partial b=\frac1n\sum(\hat y_i-y_i)=0$, ya’ni $\sum\hat y_i=\sum y_i$.
  • Vazn chegarani siljitadi, modelni «aqlliroq» qilmaydi. $w_+=10$ da $b$ ning siljishi $1{,}91$ — $\ln10\approx2{,}30$ ga yaqin (chekli tanlanmada $w$ ham o‘zgaradi). To‘liqlik oshadi, aniqlik kamayadi: bu chegara bilan ham yurish mumkin bo‘lgan o‘sha murosa egri chizig‘i.
  • Vaznlar kalibrlashni buzadi. O‘rtacha $\hat y=0{,}244$ endi $0{,}091$ ulushga teng emas. Haqiqiy ehtimolliklar kerak bo‘lsa, vaznlarsiz o‘qiting va chegarani tanlang (xuddi shu qaror uchun u $1/(1+w_+)$ ga teng) yoki imkoniyatlarni qayta hisoblang: $\text{imkoniyat}=\text{imkoniyat}_w/w_+$.
Optimal konstantani keltirib chiqarish

Musbatlar ulushi $\pi$ bo‘lganda $q$ konstantaning o‘rtacha vaznli yo‘qotishi: $f(q)=-w_+\pi\ln q-(1-\pi)\ln(1-q)$. Hosilani nolga tenglaymiz:

$$f'(q)=-\frac{w_+\pi}{q}+\frac{1-\pi}{1-q}=0\;\Longrightarrow\;q=\frac{w_+\pi}{w_+\pi+1-\pi},\qquad \frac{q}{1-q}=w_+\cdot\frac{\pi}{1-\pi}$$

Imkoniyatlar aynan $w_+$ ga ko‘paydi, logit $\ln w_+$ ga siljidi. $w_+=1$ da $q=\pi$ ni olamiz — «o‘rtacha bashorat ulushga teng» qonunining o‘zi.

Faqat vaznlar emas

Agar kamyob sinf yana «qiyin» ham bo‘lsa, Focal Loss yordam beradi: $(1-p_t)^\gamma$ ko‘paytuvchisi oson misollarni pasaytiradi. $\gamma=0$ da u BCE bilan ustma-ust tushadi. Muqobillar — qayta tanlash (resampling) va validatsiyada kerakli metrika bo‘yicha chegarani tanlash.

Belgilarni silliqlash

Qattiq belgilarda optimal logit cheksiz: musbat misoldagi yo‘qotish nol bo‘lishi uchun $z\to+\infty$ kerak. Gradiyent tushishi halollik bilan o‘sha yoqqa boradi. Bitta musbat misolda $z=0$ dan $\eta=1$ qadam bilan logit 10, 100 va 1000 qadamdan keyin $2{,}26$; $4{,}59$; $6{,}91$ ga teng — taxminan $\ln t$ kabi o‘sadi va to‘xtamaydi. Model o‘ziga haddan tashqari ishonishni o‘rganadi.

Belgilarni silliqlash (label smoothing) qattiq belgilarni yumshoqlari bilan almashtiradi:

$$y_s=y\,(1-\varepsilon)+\frac{\varepsilon}{2}\qquad(1\to1-\tfrac{\varepsilon}{2},\;\;0\to\tfrac{\varepsilon}{2}),\qquad z^{*}=\ln\frac{y_s}{1-y_s}$$

Endi $\sigma(z)-y_s$ gradiyent chekli $z^*$ nuqtada nolga aylanadi, u yerda $\sigma(z^*)=y_s$, minimal yo‘qotish esa 0 emas, $H(y_s)$ entropiyaga teng (2-rasm). $\varepsilon=0{,}1$ da: $y_s=0{,}95$, $z^*=\ln19\approx2{,}944$, xuddi shu tushish $1{,}97$; $2{,}936$; $2{,}944$ beradi — logit to‘xtaydi. 3-rasmga qayting va $\varepsilon$ suriluvchisini suring: egri chiziqda minimum paydo bo‘ladi, to‘q sariq gradiyent esa nolni kesib o‘tadi.

$\varepsilon$$y_s$$z^*=\ln\frac{y_s}{1-y_s}$$\min\ell=H(y_s)$
01+∞0
0,050,9753,6640,117
0,10,952,9440,199
0,20,92,1970,325

Silliqlash ishonch regulyarizatori kabi ishlaydi: vaznlar cheksizlikka ketmaydi, ehtimolliklar 0 va 1 ga yopishmaydi, kalibrlash esa ko‘pincha yaxshilanadi. Buning narxi — optimal prognoz endi $1-\varepsilon/2$ dan oshmaydi (model undan yuqoriga intilmaydi), sinflar o‘xshashligi haqidagi «yashirin bilim» qisman yo‘qoladi (Myuller, Kornblit, Hinton, 2019). Keras’da bu BinaryCrossentropy ning label_smoothing parametri, PyTorch’da BCE uchun belgilar qo‘lda silliqlanadi (yuqoridagi kodga qarang).

Kalibrlash: BCE halollikni rag‘batlantiradi

Agar model ehtimolliklariga so‘zma-so‘z ishonish mumkin bo‘lsa, u kalibrlangan: u taxminan $0{,}8$ bergan barcha obyektlar orasida 1-sinf taxminan 80% hollarda uchraydi. Buni ishonchlilik diagrammasi (reliability diagram) bilan tekshirishadi: bashoratlar savatlarga bo‘linadi va har birida o‘rtacha bashorat birlar ulushi bilan solishtiriladi. Umumiy son — kutilgan kalibrlash xatosi:

$$\mathrm{ECE}=\sum_{b=1}^{B}\frac{n_b}{n}\,\bigl|\,\overline{\hat y}_b-\overline{y}_b\,\bigr|$$

Nega BCE kalibrlashga o‘rgatadi? Agar bir xil belgili obyektlarda 1-sinf $p$ chastota bilan uchrasa, $q$ prognozning o‘rtacha yo‘qotishi $H(p)+\mathrm{KL}(p\,\|\,q)$ ga teng va u faqat $q=p$ da minimal. Har qanday bo‘rttirish — ishonch tomonga ham, ehtiyotkorlik tomonga ham — qimmatroq turadi. Aniqlik (accuracy) buni qila olmaydi: model $0{,}51$ dedimi yoki $0{,}99$ — unga farqi yo‘q.

9-rasm. 4000 obyekt: haqiqiy logit $t\sim N(0,\,2^2)$, belgi $y\sim\text{Bernulli}(\sigma(t))$, model $\sigma(k\,t)$ ni bashorat qiladi. $k>1$ da u o‘ziga haddan tashqari ishongan, $k<1$ da — haddan tashqari ehtiyotkor. $k=2$ da: $\mathrm{BCE}=0{,}533$, $\mathrm{ECE}=0{,}092$; yuqori savatda model o‘rtacha $0{,}974$ va’da qiladi, u yerdagi birlar ulushi esa $0{,}891$. Tanlanmadagi BCE minimumi — $k^*\approx1{,}008$ da (cheksiz tanlanma bo‘yicha o‘rtacha — aynan 1). Tugma $k=1{,}01$ ni qo‘yadi: $\mathrm{BCE}=0{,}458$, $\mathrm{ECE}=0{,}011$.

Harorat bo‘yicha masshtablash (temperature scaling, Guo va boshq., 2017) aynan shunga asoslangan: o‘qitilgan tarmoqda $\hat y=\sigma(z/T)$ dagi bitta $T$ parametr validatsiya tanlanmasida BCE’ni minimallashtirib tanlanadi. Bu yerda $k=1/T$. Bashoratlar tartibi va aniqlik o‘zgarmaydi — faqat ehtimolliklarning halolligi o‘zgaradi.

Nega tarmoqlar o‘ziga haddan tashqari ishonadi

O‘quv tanlanmasida BCE’ni minimallashtirib, katta tarmoq uni deyarli mukammal yodlab olishi mumkin — lokal jihatdan bu «ajraladigan ma’lumotlar» holatining o‘zi: logitlar o‘sadi, ehtimolliklar 0 va 1 ga yopishadi, yangi ma’lumotlarda esa model xuddi shunday ishonch bilan xato qiladi. Bundan «BCE + regulyarizatsiya (weight decay, belgilarni silliqlash, erta to‘xtatish)» juftligi va ajratilgan tanlanmada kalibrlash kelib chiqadi.

Ko‘p uchraydigan xatolar

  1. Ikki marta sigmoida. Model sigmoid ni allaqachon qo‘llagan, yo‘qotish — BCEWithLogitsLoss — uni yana qo‘llaydi. Unda $\sigma(\sigma(z))\in(0{,}5;\,0{,}731)$: model 0-sinfni yarmidan ko‘p ehtimollik bilan umuman bashorat qila olmaydi va undagi yo‘qotish $\ln2\approx0{,}693$ dan pastga tushmaydi.
  2. BCEWithLogitsLoss o‘rniga sigmoida + BCELoss. Birinchi ishonchli misolgacha ishlaydi, keyin $\log0$, $-100$ da kesish va nol gradiyent (barqarorlik bo‘limi).
  3. $\{0,1\}$ o‘rniga $\pm1$ belgilar. $y=-1$ bilan BCE formulasi $\log\hat y-2\log(1-\hat y)$ ni beradi, u $\hat y\to0$ da $-\infty$ ga ketadi: yo‘qotish manfiy bo‘ladi va o‘qitish uzoqlashadi. $\pm1$ belgilar uchun o‘z shakli bor: $\log(1+e^{-s z})$.
  4. O‘zaro istisno qiluvchi sinflar uchun BCE. Agar $K>2$ sinfdan aynan bittasi to‘g‘ri bo‘lsa, softmax va kategorial kross-entropiya kerak. BCE bilan bir nechta sigmoida — bu sinflar mustaqil bo‘lgan multi-label.
  5. BCE’ni sanoq nuqtasisiz solishtirish. «Yo‘qotish 0,05» ajoyib eshitiladi, lekin musbatlar ulushi 1% bo‘lganda konstanta $H(0{,}01)\approx0{,}056$ beradi — model deyarli hech narsa o‘rganmagan. $H(\pi)$ bilan solishtiring.
  6. Sinf vaznlari va «ehtimolliklar». pos_weight dan keyin sigmoida chiqishi endi ehtimollik emas (8-rasm). Xatolar narxi bor qarorlar uchun chegarani tanlang; halol ehtimolliklar uchun — qayta hisoblang yoki kalibrlang.
  7. O‘rtacha o‘rniga reduction='sum'. Yig‘indi batch o‘lchami bilan o‘sadi, u bilan birga haqiqiy o‘qitish qadami ham. Batch o‘lchamini o‘zgartirsangiz — optimal o‘qitish tezligi (learning rate) o‘zgaradi.
  • Sigmoida: logitni $\hat y$ ga aylantiradi; uning $\sigma(1-\sigma)$ hosilasi BCE gradiyentida qisqaradi.
  • Kategorial kross-entropiya: $K$ sinfga umumlashma; $K=2$ da softmax + CE $z_1-z_2$ logitlar ayirmasidan sigmoida + BCE bilan ustma-ust tushadi.
  • Softmax: ikki sinf uchun $\operatorname{softmax}(z_1,z_2)_1=\sigma(z_1-z_2)$.
  • Focal Loss: $-(1-p_t)^\gamma\log p_t$ — oson misollarni pasaytiradigan BCE; $\gamma=0$ da BCE bilan bir xil.
  • MSE: gauss shovqini uchun to‘g‘ri yo‘qotish; sigmoida bilan to‘yinish va qavariq emaslik beradi (4- va 5-rasmlar).
  • SGD va Adam: $\frac1nX^\top(\hat y-y)$ gradiyentdan foydalanadigan optimizatorlar.

Xulosa

1) BCE — to‘g‘ri javob ehtimolligining $-\log$ i; $y$ belgi $-\log\hat y$ va $-\log(1-\hat y)$ orasida kalit vazifasini bajaradi. 2) U Bernulli modelining maksimal o‘xshashligidan kelib chiqadi va kross-entropiyaga teng: $H(y)+\mathrm{KL}(y\,\|\,\hat y)$. 3) Sigmoida bilan juftlikda $\partial\ell/\partial z=\hat y-y$: $\sigma'$ ko‘paytuvchisi qisqaradi, gradiyent chegaralangan va ishonchli xatoda so‘nmaydi — MSE’dan farqli. 4) BCE logit bo‘yicha va logistik regressiya vaznlari bo‘yicha qavariq; minimumdan uzoqda chiziqli o‘sadi. 5) Uni logitlar bo‘yicha hisoblang: $\max(z,0)-yz+\log(1+e^{-|z|})$. 6) pos_weight logitni taxminan $\ln w_+$ ga siljitadi, silliqlash optimumni chekli qiladi, BCE minimumi esa kalibrlangan ehtimolliklarda erishiladi.

O‘zingizni tekshiring

1. To‘g‘ri javob $y=1$, model $\hat y=0{,}25$ chiqardi. Yo‘qotish nimaga teng?
2. Logit $z=1{,}2$, to‘g‘ri javob $y=0$. BCE’ning $z$ bo‘yicha hosilasi nimaga teng?
3. Nega model ishonch bilan xato qilganda sigmoida + MSE yomon o‘rganadi?
4. Tanlanmada 10% musbat. Eng yaxshi konstanta-model qanday yo‘qotish beradi?
5. Belgilarni silliqlash $\varepsilon=0{,}2$, belgi $y=1$. O‘qitish qaysi logitga yaqinlashadi?