Materiallar · Mashinaviy o‘qitish

Neyron tarmoq formulalari: qo‘llanma

Aktivatsiya funksiyalari, yo‘qotish funksiyalari va optimizatorlar bir joyda. Har bir formulaning ma’nosi, hosilasi, sonli misoli, NumPy’dagi kodi, eslab qolish kerak bo‘lgan asosiy fikri va interaktiv 2D hamda 3D rasmlar bilan batafsil tahlil qilingan alohida sahifasi bor.

Javharbek Abdulatipov
18 formula batafsil tahlil bilan7 aktivatsiya9 yo‘qotish funksiyasi2 optimizator

Aktivatsiya funksiyalari

Neyronning nochiziqliligi: usiz har qanday chuqur tarmoq bitta chiziqli qatlamga aylanib qoladi.

Sigmoidlogistik funksiya

(0; 1)
$$\sigma(x)=\frac{1}{1+e^{-x}}$$
To‘liq tahlil →
Batafsil
Ma’nosi

Istalgan sonni $(0;\,1)$ oralig‘iga siqadi, shuning uchun natija ehtimollik sifatida o‘qiladi. Egri chiziq S-shaklida, $(0;\,0{,}5)$ nuqtaga nisbatan simmetrik; asimptotalari $y=0$ va $y=1$.

Hosila
$$\sigma'(x)=\sigma(x)\,\bigl(1-\sigma(x)\bigr)$$
Misol

$\sigma(0)=0{,}5$, $\sigma(2)\approx0{,}881$, $\sigma(-2)\approx0{,}119$. Qiyalik nolda eng katta: $\sigma'(0)=0{,}25$, $\sigma'(2)\approx0{,}105$ esa allaqachon kichikroq.

Kodda
def sigmoid(x):
    return 0.5 * (1 + np.tanh(0.5 * x))  # = 1 / (1 + e^-x), no overflow

def sigmoid_grad(x):
    s = sigmoid(x)
    return s * (1 - s)
Eslab qoling: hosila funksiyaning o‘zi orqali ifodalanadi, shuning uchun teskari tarqatishda eksponenta qayta hisoblanmaydi. Kamchiligi: chekkalarda qiyalik deyarli nol va gradiyent so‘nadi.

Tanhgiperbolik tangens

(−1; 1)
$$\tanh(x)=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}$$
To‘liq tahlil →
Batafsil
Ma’nosi

Xuddi shu S-shakl, lekin markazi nolda va qiymatlar oralig‘i $(-1;\,1)$. Funksiya toq: $\tanh(-x)=-\tanh(x)$.

Hosila
$$\tanh'(x)=1-\tanh^{2}(x)$$
Misol

$\tanh(1)\approx0{,}762$, $\tanh'(0)=1$ — nolda sigmoidadan to‘rt marta tikroq, $\tanh'(1)\approx0{,}420$.

Kodda
def tanh_grad(x):
    t = np.tanh(x)
    return 1 - t ** 2
Bog‘lanish: $\tanh(x)=2\sigma(2x)-1$. Natijalar nol atrofida markazlashgan, shuning uchun keyingi qatlam gradiyentlari bir tomonga surilmaydi — yashirin qatlamlarda tanh sigmoidadan yaxshiroq o‘qitiladi.

ReLUrectified linear unit

max(0, x)
$$\operatorname{ReLU}(x)=\max(0,\,x)$$
To‘liq tahlil →
Batafsil
Ma’nosi

Musbat qiymatni o‘zgarishsiz o‘tkazadi, manfiyni nolga aylantiradi. Hisoblash arzon, noldan o‘ngda gradiyent so‘nmaydi.

Hosila
$$\operatorname{ReLU}'(x)=\begin{cases}1, & x>0\\ 0, & x<0\end{cases}$$
Misol

$\operatorname{ReLU}(-3)=0$, $\operatorname{ReLU}(2{,}5)=2{,}5$. $x=0$ nuqtada hosila yo‘q; kutubxonalar kelishuv bo‘yicha $0$ oladi.

Kodda
def relu(x):
    return np.maximum(0, x)

def relu_grad(x):
    return (x > 0).astype(float)
Muammo: «o‘layotgan ReLU» (dying ReLU). Neyron kirishi doim manfiy bo‘lsa, u 0 chiqaradi, gradiyent ham 0 — va neyron boshqa o‘rganmaydi.

Leaky ReLU«oqadigan» ReLU

α ≈ 0.01
$$\operatorname{LReLU}(x)=\begin{cases}x, & x>0\\ \alpha x, & x\le 0\end{cases}=\max(\alpha x,\,x)\ \ (0<\alpha<1)$$
To‘liq tahlil →
Batafsil
Ma’nosi

ReLU kabi, lekin manfiy qism nolga aylanmaydi, kichik $\alpha$ ga ko‘paytiriladi ($0<\alpha<1$ da). «O‘layotgan ReLU»ni davolaydi.

Hosila
$$\operatorname{LReLU}'(x)=\begin{cases}1, & x>0\\ \alpha, & x<0\end{cases}$$
Misol

$\alpha=0{,}01$ da: $\operatorname{LReLU}(-3)=-0{,}03$, $\operatorname{LReLU}(2)=2$.

Kodda
def leaky_relu(x, alpha=0.01):
    return np.where(x > 0, x, alpha * x)
ReLU’dan farqi: chapda gradiyent 0 emas, $\alpha$ ga teng. Kuchsiz signal doim oqadi va neyron «o‘lmaydi».

Softmax«yumshoq argmax»

Σ = 1
$$\operatorname{softmax}(x)_i=s_i=\frac{e^{x_i}}{\sum_{j} e^{x_j}}$$
To‘liq tahlil →
Batafsil
Ma’nosi

Logitlar (tarmoqning xom chiqishlari) vektorini ehtimolliklar taqsimotiga aylantiradi: barcha $s_i\in(0;\,1)$, yig‘indisi 1. Ko‘p sinfli klassifikatorning oxirida turadi.

Barqarorlik

Amalda barcha logitlardan maksimum ayiriladi: $\dfrac{e^{x_i-\max x}}{\sum_j e^{x_j-\max x}}$. Natija o‘sha, lekin eksponenta to‘lib ketmaydi.

Hosila
$$\frac{\partial s_i}{\partial x_j}=\begin{cases}s_i(1-s_i), & i=j\\ -\,s_i s_j, & i\ne j\end{cases}$$
Misol

$(2;\,1;\,0)$ logitlar $\approx(0{,}665;\,0{,}245;\,0{,}090)$ ehtimolliklarni beradi.

Kodda
def softmax(x):
    e = np.exp(x - x.max())
    return e / e.sum()
Eslab qoling: $s_i(1-s_i)$ diagonal — aynan sigmoidaning hosilasi. Ikki sinf uchun softmax logitlar ayirmasining sigmoidasidir.

Yo‘qotishlar — regressiya

Sonni bashorat qilamiz. Yo‘qotish funksiyasi (loss) $\hat{y}$ bashorat $y$ javobdan qanchalik uzoqligini ko‘rsatadi.

MAEmean absolute error

|·|
$$\mathrm{MAE}=\frac{1}{n}\sum_{i=1}^{n}\bigl|y_i-\hat{y}_i\bigr|$$
To‘liq tahlil →
Batafsil
Ma’nosi

Xatoning o‘rtacha moduli. Maqsadli o‘zgaruvchi bilan bir xil birliklarda o‘lchanadi va eng oson tushuniladi. Chetga chiquvchi qiymatlarga MSE’dan chidamliroq.

Hosila
$$\frac{\partial\,\mathrm{MAE}}{\partial\hat{y}_i}=-\frac{1}{n}\operatorname{sign}\bigl(y_i-\hat{y}_i\bigr)$$
Misol

Umumiy misol: $y=(3;\,5;\,8)$, $\hat{y}=(2{,}5;\,5;\,10)$, xatolar $y-\hat{y}=(0{,}5;\,0;\,-2)$. $\mathrm{MAE}=(0{,}5+0+2)/3\approx0{,}833$.

Kodda
mae = np.mean(np.abs(y - y_hat))
Modul turli ishorali xatolar bir-birini yo‘qotmasligi uchun kerak; $|x|=\sqrt{x^2}$. Gradiyent kattaligi 0,1 xato uchun ham, 100 xato uchun ham bir xil.

MSEmean squared error

(·)²
$$\mathrm{MSE}=\frac{1}{n}\sum_{i=1}^{n}\bigl(y_i-\hat{y}_i\bigr)^2$$
To‘liq tahlil →
Batafsil
Ma’nosi

Xatoning o‘rtacha kvadrati. Kvadrat katta xatolarni qattiq jazolaydi. Birliklari — maqsadli o‘zgaruvchi birliklarining kvadrati.

Hosila
$$\frac{\partial\,\mathrm{MSE}}{\partial\hat{y}_i}=-\frac{2}{n}\bigl(y_i-\hat{y}_i\bigr)$$
Misol

Umumiy misol: $y=(3;\,5;\,8)$, $\hat{y}=(2{,}5;\,5;\,10)$, xatolar $y-\hat{y}=(0{,}5;\,0;\,-2)$. $\mathrm{MSE}=(0{,}25+0+4)/3\approx1{,}417$: bitta $-2$ xato yig‘indining 94% ini beradi.

Kodda
mse = np.mean((y - y_hat) ** 2)
Gradiyent xatoga proporsional: xato qancha katta bo‘lsa, model unga shuncha kuchli tortiladi. Shuning uchun MSE chetga chiquvchi qiymatlarga MAE’dan sezgirroq — bitta anomal obyekt ulkan hissa qo‘shadi.

RMSEroot mean squared error

√MSE
$$\mathrm{RMSE}=\sqrt{\frac{1}{n}\sum_{i=1}^{n}\bigl(y_i-\hat{y}_i\bigr)^2}$$
To‘liq tahlil →
Batafsil
Ma’nosi

MSE’dan ildiz xatoni maqsadli o‘zgaruvchi birliklariga qaytaradi. MAE kabi tushunarli, lekin katta xatolarni baribir qattiqroq jazolaydi.

Misol

Umumiy misol: $y=(3;\,5;\,8)$, $\hat{y}=(2{,}5;\,5;\,10)$, xatolar $y-\hat{y}=(0{,}5;\,0;\,-2)$. $\mathrm{RMSE}=\sqrt{1{,}417}\approx1{,}190$, $\mathrm{MAE}\approx0{,}833$ ga qarshi.

Kodda
rmse = np.sqrt(np.mean((y - y_hat) ** 2))
Doim $\mathrm{RMSE}\ge\mathrm{MAE}$, tenglik faqat barcha xatolar modul bo‘yicha bir xil bo‘lganda. Farq qancha katta bo‘lsa, xatolar modul bo‘yicha shuncha notekis: bu chetga chiquvchi qiymatlar ko‘rsatkichi.

MAPEmean absolute percentage error

%
$$\mathrm{MAPE}=\frac{100\%}{n}\sum_{i=1}^{n}\left|\frac{y_i-\hat{y}_i}{y_i}\right|$$
To‘liq tahlil →
Batafsil
Ma’nosi

Haqiqiy qiymatga nisbatan foizdagi xato: «model o‘rtacha MAPE % ga adashadi». Mutlaq emas, nisbiy xato muhim bo‘lganda qulay.

Misol

Umumiy misol: $y=(3;\,5;\,8)$, $\hat{y}=(2{,}5;\,5;\,10)$, xatolar $y-\hat{y}=(0{,}5;\,0;\,-2)$. $\mathrm{MAPE}=\frac{100\%}{3}\bigl(\tfrac{0{,}5}{3}+0+\tfrac{2}{8}\bigr)\approx13{,}9\%$.

Kodda
mape = 100 * np.mean(np.abs((y - y_hat) / y))
⚠ $y_i=0$ da aniqlanmagan va nol atrofida portlaydi. Nosimmetrik: musbat qiymatni kam bashorat qilish ko‘pi bilan 100% beradi, ortiq bashorat esa istalgancha. «Simmetrik» varianti — sMAPE, lekin u faqat nisbatlarda simmetrik, birliklarda emas.

HuberMSE va MAE gibridi

chegara δ
$$L_\delta(r)=\begin{cases}\tfrac{1}{2}r^2, & |r|\le\delta\\[1mm] \delta\bigl(|r|-\tfrac{1}{2}\delta\bigr), & |r|>\delta\end{cases}\qquad r=y-\hat{y}$$
To‘liq tahlil →
Batafsil
Ma’nosi

Nol atrofida MSE kabi kvadratik (aniq sozlash), katta xatolarda MAE kabi chiziqli (chetga chiquvchi qiymatlardan qo‘rqmaydi). Ikkala tarmoq va ularning hosilalari $|r|=\delta$ nuqtada tutashadi.

Hosila
$$\frac{\partial L_\delta}{\partial\hat{y}}=\begin{cases}-r, & |r|\le\delta\\ -\delta\operatorname{sign}(r), & |r|>\delta\end{cases}$$
Misol

Umumiy misol: $y=(3;\,5;\,8)$, $\hat{y}=(2{,}5;\,5;\,10)$, xatolar $y-\hat{y}=(0{,}5;\,0;\,-2)$. $\delta=1$ da: yo‘qotishlar $0{,}125$, $0$ va $1\cdot(2-0{,}5)=1{,}5$; o‘rtachasi $\approx0{,}542$.

Kodda
def huber(y, y_hat, delta=1.0):
    r = np.abs(y - y_hat)
    return np.mean(np.where(r <= delta, 0.5 * r ** 2,
                            delta * (r - 0.5 * delta)))
Chetga chiquvchi qiymatlarda gradiyent moduli $\delta$ bilan cheklangan va portlamaydi. Masalan, anomaliyali ko‘chmas mulk narxlari uchun mos. $\delta\downarrow$ — MAE’ga yaqinroq, $\delta\uparrow$ — MSE’ga yaqinroq.

Yo‘qotishlar — klassifikatsiya

Sinfni bashorat qilamiz. Model ehtimolliklar chiqaradi, yo‘qotish esa to‘g‘ri javobning past ehtimolligini jazolaydi. Logarifm — natural.

BCEbinar kross-entropiya

+ sigmoid
$$\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]$$
To‘liq tahlil →
Batafsil
Ma’nosi

Ikki sinf uchun. $y\in\{0,1\}$ belgi kalit vazifasini bajaradi: ikki qo‘shiluvchidan bittasi qoladi — to‘g‘ri javob ehtimolligining $-\log$ i.

Logit bo‘yicha hosila
$$\hat{y}=\sigma(z):\qquad \frac{\partial\,\mathrm{BCE}_i}{\partial z_i}=\hat{y}_i-y_i$$
Misol

To‘g‘ri javob $y=1$. Model ishonchli va haq, $\hat{y}=0{,}9$: yo‘qotish $-\ln0{,}9\approx0{,}105$. Ishonchli, lekin xato, $\hat{y}=0{,}1$: $-\ln0{,}1\approx2{,}303$ — 22 marta ko‘p.

Kodda
p = np.clip(y_hat, 1e-7, 1 - 1e-7)
bce = -np.mean(y * np.log(p)
               + (1 - y) * np.log(1 - p))
Eng qattiq ishonchli xatoni jazolaydi: $y=1$ uchun $\hat{y}\to0$ da yo‘qotish cheksizlikka intiladi. Sigmoid + BCE toza gradiyent beradi: «bashorat − haqiqat».

Categorical CEkategorial kross-entropiya

+ softmax
$$\mathrm{CE}=-\sum_{k=1}^{K} y_k\log\hat{y}_k$$
To‘liq tahlil →
Batafsil
Ma’nosi

$K$ ta sinf uchun; $y$ — one-hot vektor (to‘g‘ri sinf o‘rnida bir). Yig‘indida bitta qo‘shiluvchi qoladi — to‘g‘ri sinf ehtimolligining $-\log$ i.

softmax + CE gradiyenti
$$\hat{y}=\operatorname{softmax}(x):\qquad \frac{\partial\,\mathrm{CE}}{\partial x_k}=s_k-y_k$$
Misol

$(2;\,1;\,0)$ logitlar, to‘g‘ri sinf — birinchisi. $s\approx(0{,}665;\,0{,}245;\,0{,}090)$, $\mathrm{CE}=-\ln0{,}665\approx0{,}408$, gradiyent $s-y\approx(-0{,}335;\,0{,}245;\,0{,}090)$: to‘g‘ri logit yuqoriga, qolganlari pastga tortiladi.

Kodda
def cross_entropy(logits, k):
    z = logits - logits.max()
    return np.log(np.exp(z).sum()) - z[k]
Asosiy natija: softmax’ning butun Yakobi matritsasi logarifm bilan birga $s_k-y_k$ ga qisqaradi. Bu juftlik ko‘pchilik klassifikatorlar va til modellari (LLM) oxirida turadi: u yerda sinflar — lug‘at tokenlari.

Optimizator

Yo‘qotish kamayishi uchun $\theta$ vaznlarni $g_t$ gradiyent bo‘yicha qanday siljitish kerak.

Adamadaptive moment estimation

momentum + adaptive
$$\theta_t=\theta_{t-1}-\eta\,\frac{\hat{m}_t}{\sqrt{\hat{v}_t}+\epsilon}$$
To‘liq tahlil →
Batafsil
1-qadam · birinchi moment (inersiya)
$$m_t=\beta_1 m_{t-1}+(1-\beta_1)\,g_t$$
2-qadam · ikkinchi moment (masshtab)
$$v_t=\beta_2 v_{t-1}+(1-\beta_2)\,g_t^2$$
3-qadam · siljishni tuzatish
$$\hat{m}_t=\frac{m_t}{1-\beta_1^{\,t}}\qquad \hat{v}_t=\frac{v_t}{1-\beta_2^{\,t}}$$
Standart giperparametrlar

$\eta=0{,}001$ (o‘qitish tezligi, learning rate), $\beta_1=0{,}9$, $\beta_2=0{,}999$, $\epsilon=10^{-8}$. Barcha amallar elementma-element: har bir vaznning o‘z $m$ va $v$ i bor.

Misol

Birinchi qadam, $g_1=0{,}5$, $m_0=v_0=0$: $m_1=0{,}05$, $v_1=0{,}00025$. Tuzatishsiz qadam $3{,}16$ marta katta bo‘lardi: $0{,}05/\sqrt{0{,}00025}\approx3{,}16$, chunki $v$ $m$ ga qaraganda kuchliroq kamaygan; tuzatish bilan $\hat{m}_1=0{,}5$, $\hat{v}_1=0{,}25$ va $\hat{m}_1/\sqrt{\hat{v}_1}=1$. Birinchi qadamda vazn gradiyent masshtabidan qat’i nazar aynan $\eta$ ga siljiydi.

Kodda
m = b1 * m + (1 - b1) * g
v = b2 * v + (1 - b2) * g ** 2
m_hat = m / (1 - b1 ** t)
v_hat = v / (1 - b2 ** t)
theta -= lr * m_hat / (np.sqrt(v_hat) + eps)
Surat $\hat{m}_t$ — qayerga borish: inersiya gradiyent shovqinini so‘ndiradi. Maxraj $\sqrt{\hat{v}_t}$ — har bir vazn qadami qanchalik katta bo‘lishi. AdamW — vaznlar so‘nishi (weight decay) gradiyentdan ajratilgan o‘sha Adam; zamonaviy LLM’lar u bilan o‘qitiladi.

Keyingi bosqich

Zamonaviy transformerlar aktivatsiyalari, Adam’ning o‘tmishdoshlari, metrikani o‘qitish va muvozanatsiz sinflar — o‘rganish tartibida.

SiLU / SwishQwen va LLaMA aktivatsiyasi

x·σ(x)
$$\operatorname{SiLU}(x)=x\cdot\sigma(x)$$
To‘liq tahlil →
Batafsil
Misol

$\operatorname{SiLU}(1)\approx0{,}731$, $\operatorname{SiLU}(-1)\approx-0{,}269$: ReLU’dan farqli, kichik manfiy qiymatlar o‘tadi.

Silliq aktivatsiya: noldan uzoqda ReLU kabi ishlaydi, lekin sinishsiz. SwiGLU bloklari ichida Qwen, LLaMA va boshqa zamonaviy LLM’larda ishlatiladi.

GELUBERT, GPT

x·Φ(x)
$$\operatorname{GELU}(x)=x\cdot\Phi(x)$$
To‘liq tahlil →
Batafsil
Misol

$\operatorname{GELU}(1)\approx0{,}841$, $\operatorname{GELU}(-1)\approx-0{,}159$.

$\Phi(x)$ — standart normal taqsimot funksiyasi: kirish uning «shovqindan katta» bo‘lish ehtimolligiga ko‘paytiriladi. BERT, GPT-2 va GPT-3’dagi standart aktivatsiya.

SGD → Momentum → RMSPropAdam uchun poydevor

inersiya
$$\theta_t=\theta_{t-1}-\eta\,g_t$$
To‘liq tahlil →
Batafsil
Momentum
$$u_t=\beta u_{t-1}+g_t,\qquad \theta_t=\theta_{t-1}-\eta\,u_t$$
RMSProp
$$v_t=\beta v_{t-1}+(1-\beta)\,g_t^2,\qquad \theta_t=\theta_{t-1}-\eta\,\frac{g_t}{\sqrt{v_t}+\epsilon}$$
Adam’ning o‘tmishdoshlari: Momentum inersiya qo‘shadi, RMSProp — har bir vazn uchun o‘z qadam masshtabini. Ularni tartib bilan tahlil qilsangiz, Adam ravshan bo‘lib qoladi.

Triplet Lossqayta identifikatsiya (Re-ID)

oraliq m
$$L=\max\bigl(0,\;d(a,p)-d(a,n)+m\bigr)$$
To‘liq tahlil →
Batafsil
Misol

Oraliq $m=0{,}2$. $d(a,p)=0{,}4$, $d(a,n)=1{,}1$: $L=0$, uchlik allaqachon ajratilgan. $d(a,p)=0{,}9$, $d(a,n)=1{,}0$: $L=0{,}1$ — «begona» juda yaqin.

Metrikani o‘qitish (metric learning): $a$ langar «o‘ziniki» $p$ ga «begona» $n$ dan kamida $m$ oraliqqa yaqinroq bo‘lishi kerak. Kameralar orasida odamlarni qayta identifikatsiya qilish aynan shu matematikaga tayanadi.

Focal Lossmuvozanatsiz sinflar

γ ≈ 2
$$\mathrm{FL}=-(1-p_t)^{\gamma}\log p_t$$
To‘liq tahlil →
Batafsil
Misol

$p_t$ — to‘g‘ri sinf ehtimolligi. $\gamma=2$ da $p_t=0{,}9$ bo‘lgan oson misol CE’dagidan 100 marta yengil ($0{,}001$ ga qarshi $0{,}105$), $p_t=0{,}3$ bo‘lgan qiyin misol esa atigi 2 marta ($0{,}590$ ga qarshi $1{,}204$).

$(1-p_t)^\gamma$ ko‘paytuvchili kross-entropiya: oson misollar hissasini so‘ndiradi va o‘qitishni qiyinlariga qaratadi. Fon odamlar va yuzlardan ancha ko‘p bo‘lgan obyektlarni aniqlashda qo‘llaniladi.

Backprop va regulyarizatsiyaformulalar emas, mavzular

mexanizmlar

Gradiyent barcha qatlamlar orqali qanday orqaga oqadi · L1/L2 · Dropout · BatchNorm / LayerNorm

Batafsil
Keyingi qadam — yangi formula emas, yig‘ish: teskari tarqatishni yuqoridagi barcha formulalar birga ishlaydigan jarayon sifatida tushunish.

Yo‘nalish: SiLU va GELU (zamonaviy transformerlar aktivatsiyalarini yopish) → SGD, Momentum, RMSProp (Adam uchun poydevor) → Triplet Loss (Re-ID) → keyin formulalar emas, mexanizmlar: xatoni teskari tarqatish va transformer ichidagi attention.

← Barcha materiallar