U nima uchun kerak
Sigmoida sonni 0 dan 1 gacha bo‘lgan ulushga aylantiradi. Lekin tarmoq ichida ko‘pincha ulush emas, ishorali signal kerak bo‘ladi: «odatdagidan ko‘p» yoki «odatdagidan kam», «kuchaytirish» yoki «susaytirish». Giperbolik tangens (hyperbolic tangent) — xuddi shu silliq S-egri chiziq, lekin chiqishi $(-1;\,1)$ oraliqda va markazi nolda.
U qayerda uchraydi:
- rekurrent tarmoqlar — oddiy RNN’da $h_t=\tanh(Wh_{t-1}+Ux_t+b)$; LSTM va GRU’da tanh xotira uchun nomzodni hosil qiladi, LSTM’da esa yacheyka chiqishini ham chegaralaydi;
- klassik tarmoqlarning yashirin qatlamlari — ReLU davrigacha tanh standart edi va hozir ham kichik tarmoqlarda hamda silliqlik muhim bo‘lgan fizik modellarda (PINN) yaxshi ishlaydi;
- generator chiqishi — agar rasmlar $[-1;\,1]$ ga normallashtirilgan bo‘lsa, GAN generatorining oxirgi qatlami (masalan, DCGAN) tanh ishlatadi;
- harakatlar va logitlarni chegaralash — mustahkamlab o‘qitishda (SAC) harakat tanh orqali $(-1;\,1)$ ga siqiladi, Gemma 2 esa logitlarni «yumshoq kesadi»: $c\cdot\tanh(z/c)$;
- boshqa aktivatsiyalar ichida — GELU ning mashhur yaqinlashuvi tanh orqali yozilgan.
$\tanh$ butun son o‘qini $(-1;\,1)$ ga siqadi, koordinatalar boshidan o‘tadi va toq: $\tanh(-x)=-\tanh x$. Bu cho‘zilgan sigmoida: $\tanh x=2\sigma(2x)-1$. Uning hosilasi $1-\tanh^2x$ 1 dan oshmaydi — sigmoida maksimumidan 4 marta katta, — lekin chekkalarda tanh ham xuddi shunday to‘yinadi va gradiyent so‘nadi.
Intuitsiya: nolga qo‘yilgan sigmoida
Ishorali ovoz regulyatorini tasavvur qiling: nol — sukunat, o‘ngga — balandroq, chapga — qarama-qarshi fazada balandroq. Nol atrofida burayotganingizda chiqish kirishga itoatkorlik bilan ergashadi: $\tanh x\approx x$. Uzoqlashgan sari burash qiyinlashadi: chiqish $\pm1$ ga tiralib, boshqa o‘smaydi. Bu to‘yinish (saturation).
Nuqtani torting. To‘q sariq chiziq — urinma, uning qiyaligi hosilaga teng. Kulrang punktir — sigmoida: xuddi shu shakl, lekin yuqoriga surilgan, ikki marta past va to‘rt marta yotiqroq.
$x=2$ da tanh allaqachon $0{,}964$, hosila esa bor-yo‘g‘i $0{,}071$ — markazdagidan 14 marta kichik. $|x|>2{,}99$ da hosila $0{,}01$ dan pastga tushadi: kirish o‘sishda davom etadi, chiqish esa deyarli joyida turadi.
Formula mayda detallarigacha
Formulada ikkita eksponenta bor: o‘suvchi $e^{x}$ va kamayuvchi $e^{-x}$. Surat — ularning ayirmasi, maxraj — yig‘indisi. Bu ifodalarning yarmilari o‘z nomlariga ega — giperbolik sinus va kosinus:
- $e^{x}-e^{-x}$
- ayirma toq: $x\to-x$ almashtirishda ishorasini o‘zgartiradi; $x>0$ da musbat;
- $e^{x}+e^{-x}$
- yig‘indi doim musbat va 2 dan kichik emas — maxraj hech qachon nolga aylanmaydi;
- $|\sinh x|<\cosh x$
- ayirma moduli doim yig‘indidan kichik, shuning uchun $|\tanh x|<1$;
- $x\to\pm\infty$
- eksponentalardan biri e’tiborsiz darajada kichik bo‘lib qoladi va kasr $\pm1$ ga intiladi.
Surat va maxrajni $e^{x}$ ga yoki $e^{-x}$ ga ko‘paytirib, hisoblash uchun qulay shakllarni olamiz, oxirgi shakl esa tanh’ni sigmoida bilan bog‘laydi:
| $x$ | $\tanh x$ | $\tanh' x$ | $\sigma(x)$ |
|---|---|---|---|
| −3 | −0,9951 | 0,0099 | 0,0474 |
| −2 | −0,9640 | 0,0707 | 0,1192 |
| −1 | −0,7616 | 0,4200 | 0,2689 |
| −0,5 | −0,4621 | 0,7864 | 0,3775 |
| 0 | 0,0000 | 1,0000 | 0,5000 |
| 0,5 | 0,4621 | 0,7864 | 0,6225 |
| 1 | 0,7616 | 0,4200 | 0,7311 |
| 2 | 0,9640 | 0,0707 | 0,8808 |
| 3 | 0,9951 | 0,0099 | 0,9526 |
Jadval toqlikni ko‘rsatadi: $\tanh(-x)=-\tanh x$, hosila esa juft funksiya. Taqqoslash uchun yonida sigmoida: uning qiymatlari noldan emas, $0{,}5$ ga nisbatan simmetrik.
Xossalar va shakl
- Aniqlanish sohasi — barcha haqiqiy sonlar; qiymatlar sohasi — ochiq oraliq $(-1;\,1)$: $\pm1$ qiymatlariga erishilmaydi.
- Toqlik: $\tanh(-x)=-\tanh x$, grafik koordinatalar boshiga nisbatan simmetrik, $\tanh 0=0$.
- Monotonlik: qat’iy o‘sadi, chunki istalgan $x$ da $\tanh' x=1-\tanh^2x>0$.
- Asimptotalar: $\lim_{x\to\pm\infty}\tanh x=\pm1$.
- Burilish nuqtasi — yagona, $x=0$: $x<0$ da funksiya pastga qavariq, $x>0$ da — yuqoriga.
- 1 konstantali Lipshits sharti: $|\tanh a-\tanh b|\le|a-b|$; xususan, $|\tanh x|\le|x|$, tenglik faqat $x=0$ da.
- Nol atrofida deyarli ayniyat: $\tanh x=x-\tfrac{x^3}{3}+\dots$ — kichik vaznlarda tanh tarmog‘i deyarli chiziqli ishlaydi.
Nega tanh x = 2σ(2x) − 1
Sigmoida ta’rifi $\sigma(u)=1/(1+e^{-u})$ ga $u=2x$ ni qo‘yamiz:
Oxiridan oldingi qadamda surat va maxraj $e^{x}$ ga ko‘paytirilgan. Teskarisi: $\sigma(x)=\tfrac12\bigl(1+\tanh\tfrac x2\bigr)$. Demak, yashirin tanh’li tarmoqni xuddi shunday ifoda kuchiga ega yashirin sigmoidali tarmoqqa qayta yozish mumkin — faqat vazn masshtablari va siljishlar o‘zgaradi. Farq o‘qitish qanday borishida (markazlashganlik bo‘limiga qarang).
Teskari funksiya va qo‘shish formulasi
$y=\tanh x$ ni $x$ ga nisbatan yechamiz: $y=\frac{e^{2x}-1}{e^{2x}+1}$ dan $e^{2x}=\frac{1+y}{1-y}$, bundan
Masalan, $\operatorname{artanh}0{,}5\approx0{,}549$. Yana bir foydali ayniyat — qo‘shish formulasi:
Bu aynan tezliklarni relyativistik qo‘shish (yorug‘lik tezligi ulushlarida): $0{,}5c$ va $0{,}5c$ $c$ emas, $\frac{0{,}5+0{,}5}{1+0{,}25}c=0{,}8c$ beradi. «tanh olamida» $(-1;\,1)$ dagi ikki sonning yig‘indisi hech qachon undan chiqmaydi.
Yumshoq cheklagich: c · tanh(x / c)
$c\tanh(x/c)$ funksiyasi nol atrofida kirishni deyarli o‘zgartirmaydi ($\approx x$), katta qiymatlarni esa silliq ravishda $\pm c$ ga bosadi. Qattiq kesish $\operatorname{clip}(x,-c,c)$ dan farqli, unda sinishlar yo‘q va hosila hech qayerda sakrab nolga tushmaydi. Gemma 2 da diqqat logitlari ($c=50$) va yakuniy logitlar ($c=30$) shunday cheklanadi, toki ular o‘qitish davomida haddan tashqari o‘sib ketmasin.
Hosila: tanh′ = 1 − tanh²
Sahifaning asosiy formulasi. Uni uch usulda keltirib chiqaramiz — har biri boshqa joyda asqotadi.
1-usul. Bo‘linma hosilasi
$u=e^{x}-e^{-x}$, $v=e^{x}+e^{-x}$ bo‘lsin. U holda $u'=v$ va $v'=u$, va kasrni differensiallash qoidasiga ko‘ra:
2-usul. Asosiy giperbolik ayniyat orqali
Giperbolik funksiyalar uchun $\cosh^2x-\sinh^2x=1$ (eksponentalarni qo‘yib tekshiring), $\sinh' x=\cosh x$ va $\cosh' x=\sinh x$. U holda
Ayniyatni $\cosh^2x$ ga bo‘lib, $1-\tanh^2x=\operatorname{sech}^2x$ ni olamiz — boshqacha yozilgan o‘sha formula. $\operatorname{sech}^2$ shakli katta $|x|$ da kodda foydali.
3-usul. Sigmoida orqali
$\tanh x=2\sigma(2x)-1$ dan zanjir qoidasiga ko‘ra:
Bundan darhol ko‘rinadiki, hosila maksimumi sigmoidadagidek $\tfrac14$ emas, $4\cdot\tfrac14=1$: chiqishning ikki baravar katta oralig‘i va kirishning ikki baravar siqilgan shkalasi 4 ko‘paytuvchini beradi.
Amalda: to‘g‘ri o‘tishda tarmoq $t=\tanh z$ ni allaqachon hisoblagan. Teskari o‘tishda hosila bitta ko‘paytirish $1-t^2$ ga tushadi — yangi eksponentalarsiz. Shuning uchun freymvorklar teskari o‘tish uchun tanh’ning kirishini emas, chiqishini saqlaydi.
Ikkinchi hosila va eng keskin egilishlar
Yana bir marta differensiallaymiz: $\tanh'' x=-2\tanh x\,(1-\tanh^2x)$. U faqat $x=0$ da (burilish nuqtasi) nolga teng, ekstremumlariga esa $\tanh^2x=\tfrac13$ da, ya’ni $x=\pm\operatorname{artanh}\tfrac{1}{\sqrt3}\approx\pm0{,}658$ da erishadi; u yerdagi qiymatlar $\mp\tfrac{4}{3\sqrt3}\approx\mp0{,}770$. Bu nuqtalarda qiyalik allaqachon $1-\tfrac13=\tfrac23$ va eng tez kamayadi: shu yerda $y\approx x$ to‘g‘ri chiziq to‘yinish tomon egilishga o‘tadi.
Nol atrofida Teylor qatori
Qator faqat $|x|<\pi/2\approx1{,}571$ da yaqinlashadi: $\cosh x$ maxraj kompleks nuqtalar $x=\pm i\pi/2$ da nolga aylanadi va yaqinlashish radiusi eng yaqinigacha bo‘lgan masofaga teng. Bu sigmoidanikidan ($\pi$) ikki marta kichik — axir tanh gorizontal bo‘yicha 2 marta siqilgan.
Markazlashganlik: nega tanh sigmoidadan yaxshiroq o‘qitiladi
Keyingi qatlam neyronini ko‘raylik: $z=\sum_i w_ia_i+b$, bu yerda $a_i$ — oldingi qatlam chiqishlari. Yo‘qotishning vazn bo‘yicha gradiyenti
Agar barcha $a_i>0$ bo‘lsa (sigmoida chiqishlari), bitta misolda gradiyentning barcha komponentalari bir xil ishorali — $\delta$ ishorasida. SGD qadami neyronning barcha vaznlarini yoki yuqoriga, yoki pastga suradi. Optimumga yetish uchun ba’zi vaznlarni oshirib, boshqalarini kamaytirish kerak bo‘lsa, faqat zigzag bo‘ylab yurish qoladi.
Ikkinchi qarash — yo‘qotish sirtining shakli orqali. $\tfrac12(w^\top a-y)^2$ kvadratik yo‘qotishli chiziqli neyron uchun Gesse matritsasi $\mathbb E[aa^\top]=\operatorname{Cov}(a)+\mu\mu^\top$, bu yerda $\mu$ — kirishlar o‘rtachasi. Nolga teng bo‘lmagan o‘rtacha $\mu$ bo‘ylab bitta katta xos qiymat qo‘shadi va «vodiy» cho‘ziladi. Quyidagi $\sigma(z)$ kirishlar uchun xos qiymatlar $0{,}034$ va $0{,}530$ (shartlanganlik soni 15,5), $\tanh(z)$ uchun — $0{,}340$ va $0{,}415$ (1,22).
Markazlashgan aktivatsiyalar keyingi qatlamning yo‘qotish sirtini «yumaloqroq» qiladi va gradiyent tushish minimumga to‘g‘riroq boradi. Bu tanh yashirin qatlamlarda sigmoidadan tezroq o‘qitilishining sabablaridan biri (LeKun va boshq., «Efficient BackProp», 1998). Kirishlarni normallashtirish va BatchNorm ham shu g‘oyaga asoslangan.
Tekislikda tanh: burmalar, qirralar va tepaliklar
Ikki kirishli neyron $\tanh(w_1x_1+w_2x_2+b)$ ni hisoblaydi. Tekislikda bu burma: sirt $w^\top x+b=0$ to‘g‘ri chiziq bo‘ylab $-1$ dan $+1$ ga o‘tadi va u bo‘ylab o‘zgarmaydi. Ikki qarama-qarshi burmaning yig‘indisi qirra beradi, to‘rt burma va chiqishdagi yana bitta tanh esa faqat kvadrat ichida $-1$ dan farq qiladigan tepalik beradi.
Universal approksimatsiya teoremasi (Sibenko, 1989; Xornik, 1991) shunday ishlaydi: yetarlicha ko‘p tanh neyronli bitta yashirin qatlamli tarmoq chegaralangan yopiq to‘plamdagi istalgan uzluksiz funksiyani istalgan aniqlikda yaqinlashtiradi. Tepaliklar burmalardan yig‘iladi, tepaliklardan esa istalgan relyefni yig‘ish mumkin. Bizning tepalik ko‘rgazmalilik uchun chiqishda ikkinchi tanh ishlatadi, teoremaga esa chiziqli chiqishli bitta yashirin qatlam yetarli. U bunday vaznlar mavjudligini aytadi, lekin qancha neyron kerakligini va o‘qitish ularni topishini aytmaydi.
O‘qitishda tanh: qatlamlar bo‘yicha aktivatsiyalar va egri chiziqni moslash
Chuqur tarmoqda signal bilan nima sodir bo‘ladi
Har bir qatlam vaznlari $g^2/n$ dispersiya bilan tasodifiy tanlangan bo‘lsin, bu yerda $n$ — neyron kirishlari soni. Agar $g$ kichik bo‘lsa, signal qatlamdan qatlamga so‘nadi va tanh deyarli chiziqli funksiya kabi ishlaydi. Agar $g$ katta bo‘lsa, neyron kirishlari katta va tanh to‘yinishga ketadi: chiqishlar $\pm1$ ga yopishadi, hosilalar deyarli nol.
Shuning uchun tanh qatlamlarida Gloro (Xavier) initsializatsiyasi, $\operatorname{Var}w=\frac{2}{n_\text{in}+n_\text{out}}$, olinadi, PyTorch esa uni $g=5/3$ kuchaytirishga ko‘paytirishni tavsiya qiladi (calculate_gain('tanh')): ko‘paytuvchi tanh signalni siqishini qoplaydi. Kvadrat qatlam uchun bu aynan 6-rasmdagi $g=5/3$ holati.
tanh tarmog‘i egri chiziqni moslaydi
$H$ neyronli yashirin qatlam va chiziqli chiqish: $\hat y(x)=\sum_{k=1}^{H}v_k\tanh(w_kx+b_k)+c$. Har bir qo‘shiluvchi — chetlari silliq «zina»; o‘qitish zinalarni suradi, cho‘zadi va masshtablaydi, toki ularning yig‘indisi ma’lumotlarga tushsin.
Yo‘qotish egri chizig‘idagi uzun platolar ko‘pincha neyronlarning bir qismi tanh’ning yassi chekkalarida ishlayotganini bildiradi: ularning hosilasi kichik va gradiyent parametrlarini deyarli siljitmaydi. Kirishlarni normallashtirish, ehtiyotkor initsializatsiya va Adam kabi adaptiv optimizatorlar yordam beradi.
Rekurrent tarmoqlarda va LSTM’da tanh
Oddiy rekurrent tarmoq holatni har qadamda bir xil formula bilan yangilaydi: $h_t=\tanh(Wh_{t-1}+Ux_t+b)$. Bu yerda tanh saqlagich vazifasini bajaradi: matn qanchalik uzun bo‘lmasin, holat $(-1;\,1)$ da qoladi va «portlamaydi». Lekin chegaralanganlik uchun gradiyent bilan to‘lashga to‘g‘ri keladi (ko‘paytuvchilar chapda $s=T$ dan o‘ngda $s=t+1$ gacha ko‘paytiriladi):
Har bir ko‘paytuvchida $1-h_s^2\le1$ bor. Vaznlar kichik bo‘lsa, ko‘paytma eksponensial so‘nadi. Vaznlar katta bo‘lsa, holatlar $\pm1$ ga bosiladi, $1-h_s^2\to0$ — va gradiyent yana so‘nadi. U faqat shu ikki rejim orasidagi tor oynada omon qoladi. Ko‘p o‘lchovli RNN’da bu oyna chegarasida gradiyent portlashi ham mumkin (Paskanu va boshq., 2013), shuning uchun tanh’li RNN gradiyent normasini kesish bilan o‘qitiladi.
LSTM bu muammoni alohida «magistral» — tanh orqali emas, qo‘shish orqali yangilanadigan yacheyka holati $c_t$ bilan hal qiladi:
Bu yerda $f_t,i_t,o_t\in(0;\,1)$ — sigmoidalardagi ventillar, tanh esa ikki vazifani bajaradi: nomzod $g_t\in(-1;\,1)$ xotirani ham oshira, ham kamaytira oladi (sigmoida faqat qo‘sha olardi), $\tanh(c_t)$ esa chiqishni chegaralaydi. $c_{t-1}\to c_t$ zanjiri bo‘ylab gradiyent (ventillarning $h_{t-1}$ ga bog‘liqligini hisobga olmasak) $\tanh'$ ko‘paytuvchisiz $f_t$ ga ko‘payadi, shuning uchun $f_t\approx1$ da u uzoq qadamlargacha yetib boradi.
Yan LeKun 1998 yilda masshtablangan tangens $1{,}7159\tanh(2x/3)$ ni tavsiya qilgan: u $f(\pm1)=\pm1$ va chiqishning deyarli birlik dispersiyasini beradi. LSTM (Xoxrayter va Shmidxuber, 1997) tanh’ni yigirma yil davomida rekurrent tarmoqlar standartiga aylantirdi. O‘ramli tarmoqlarda uni ReLU siqib chiqardi: AlexNet maqolasida (2012) ReLU’li to‘rt qatlamli o‘ramli tarmoq CIFAR-10 o‘quv to‘plamida 25% xatoga xuddi shunday tanh’li tarmoqdan 6 marta tezroq yetdi.
Kodda: barqaror va kutilmagan holatlarsiz
Eksponentalar orqali sodda formula $x=1000$ da $e^{1000}=\infty$ ni hisoblaydi va natijada $\infty/\infty=\text{nan}$ chiqadi. O‘rnatilgan np.tanh va torch.tanh barqaror: $x\gtrsim19$ da ular float64 da aynan $1{,}0$ qaytaradi. Lekin unda $1-\tanh^2 x$ aynan 0 beradi, holbuki $x=20$ da haqiqiy qiymat taxminan $1{,}7\cdot10^{-17}$. Agar uzoq chekkalarda hosila kerak bo‘lsa, uni $\operatorname{sech}^2$ orqali barqaror shaklda hisoblang.
pythonimport numpy as np
def tanh_grad_from_output(t):
"""Hisoblangan chiqish t = tanh(x) orqali hosila: bitta ko‘paytirish."""
return 1.0 - t * t
def tanh_grad(x):
"""sech²x = 4e^(−2|x|) / (1 + e^(−2|x|))²:
to‘lib ketishsiz va aniqlik yo‘qotmasdan."""
e = np.exp(-2.0 * np.abs(x))
return 4.0 * e / (1.0 + e) ** 2
def naive_tanh(x):
return (np.exp(x) - np.exp(-x)) / (np.exp(x) + np.exp(-x))
print(naive_tanh(1000.0)) # nan: inf / inf (va to‘lib ketish haqida ogohlantirish)
print(np.tanh(1000.0)) # 1.0 — o‘rnatilgan funksiya barqaror
print(1 - np.tanh(20.0) ** 2) # 0.0: float64 da tanh(20) 1 gacha yaxlitlanadi
print(tanh_grad(20.0)) # 1.6993417021166355e-17 — to‘g‘ri qiymat
pythonimport torch
import torch.nn as nn
x = torch.tensor([-2.0, 0.0, 2.0], requires_grad=True)
y = torch.tanh(x) # tensor([-0.9640, 0.0000, 0.9640])
y.sum().backward()
print(x.grad) # tensor([0.0707, 1.0000, 0.0707]) = 1 − tanh²
# tanh uchun initsializatsiya: kuchaytirish 5/3
layer = nn.Linear(256, 256)
nn.init.xavier_uniform_(layer.weight, gain=nn.init.calculate_gain("tanh"))
# tanh’li rekurrent tarmoq va portlashga qarshi gradiyentni kesish
rnn = nn.RNN(input_size=32, hidden_size=64, nonlinearity="tanh", batch_first=True)
out, h = rnn(torch.randn(8, 100, 32)) # uzunligi 100 bo‘lgan 8 ta ketma-ketlik
out.pow(2).mean().backward()
nn.utils.clip_grad_norm_(rnn.parameters(), max_norm=1.0)
O‘rnatilgan tanh va avtomatik differensiallashdan foydalaning; teskari o‘tishda — saqlangan chiqishdan $1-t^2$ formulasi. tanh tarmoqlari uchun — $5/3$ kuchaytirishli Gloro (Xavier) initsializatsiyasi, RNN uchun — gradiyent normasini kesish.
Ko‘p uchraydigan xatolar
- Ehtimollik uchun chiqishda sigmoida o‘rniga tanh. tanh chiqishi $(-1;\,1)$ da yotadi va ehtimollik emas. Binar klassifikatsiyaga sigmoida va BCE kerak; maqsadlar $[-1;\,1]$ ga normallashtirilgan bo‘lsa, chiqishdagi tanh o‘rinli.
- Chiqish o‘rniga kirish bo‘yicha hosila. $1-t^2$ formulasi chiqish $t=\tanh x$ ga qo‘llaniladi. Ko‘p uchraydigan xato — kirishdan $1-x^2$: $x=2$ da u $0{,}071$ o‘rniga $-3$ beradi.
- Normallashtirilmagan kirishlar va katta vaznlar. Agar belgilar yuzlab tartibda yoki vaznlar juda katta bo‘lsa, tanh birinchi qadamlardanoq to‘yingan va deyarli o‘rganmaydi. Ma’lumotlarni standartlashtiring va tanh uchun mo‘ljallangan initsializatsiyani oling.
- «tanh so‘nish muammosini hal qiladi». U sigmoidadan yaxshiroq (hosila 1 gacha va markazlashganlik), lekin u ham to‘yinadi. Chuqur tarmoqlar uchun — ReLU oilasi, normallashtirish va qoldiq bog‘lanishlar; ketma-ketliklar uchun — LSTM/GRU.
- exp orqali o‘zi yozilgan tanh. Katta $|x|$ da nan beradi.
np.tanh,torch.tanhdan foydalaning.
Boshqa formulalar bilan bog‘lanish
- Sigmoida: $\tanh x=2\sigma(2x)-1$ va $\sigma(x)=\tfrac12(1+\tanh\tfrac x2)$; hosilalar $\tanh' x=4\sigma'(2x)$ kabi bog‘langan.
- ReLU: $x>0$ da to‘yinmaydi va tanh’ni chuqur o‘ramli tarmoqlardan siqib chiqardi.
- GELU: mashhur yaqinlashuv $0{,}5x\bigl(1+\tanh\bigl(\sqrt{2/\pi}\,(x+0{,}044715x^3)\bigr)\bigr)$.
- SiLU: $x\sigma(x)=\tfrac x2\bigl(1+\tanh\tfrac x2\bigr)$ — «yumshoq ventil» rolidagi o‘sha S-egri chiziq.
- MSE: maqsadlar $[-1;\,1]$ da bo‘lganda tanh chiqishi uchun tabiiy juftlik.
- Adam: 7-rasmdagi optimizator; moslashuvchan qadam unga to‘yinish keltirib chiqargan platolardan o‘tishga yordam beradi.
Xulosalar
1) $\tanh x=\frac{e^x-e^{-x}}{e^x+e^{-x}}=\frac{\sinh x}{\cosh x}=2\sigma(2x)-1$ $\mathbb R$ ni $(-1;\,1)$ ga akslantiradi, toq va noldan o‘tadi. 2) $\tanh'=1-\tanh^2\le1$, maksimum nolda, chekkalarda — to‘yinish. 3) Teylor qatori $x-\frac{x^3}{3}+\dots$ $|x|<\pi/2$ da yaqinlashadi. 4) Markazlashgan chiqishlar keyingi qatlamni sigmoidaga qaraganda tezroq o‘qitadi. 5) tanh burmalarining yig‘indilari kompaktdagi istalgan uzluksiz funksiyani yaqinlashtiradi; initsializatsiya — $5/3$ kuchaytirishli Gloro (Xavier). 6) RNN’da tanh holatni chegaralangan saqlaydi, lekin vaqt bo‘yicha gradiyent so‘nadi — LSTM shundan.