راه
۴ کیو· سختپیشرفتهPYTHON۴ ثانیه · ۲۵۶ مگابایت

یک لایه‌ی LSTM

LSTM دو حالت دارد: حالت پنهان hh و حالت سلول cc — حافظه‌ی بلندمدتی که با جمع (نه ضرب پشت‌سرهم) به‌روز می‌شود. در هر گام ℓ\ell، با z=Wxℓ+Uhℓ−1+bz = W x_\ell + U h_{\ell-1} + b (برداری به طول 4K4K)، چهار تکه‌ی پشت‌سرهم zz — به همان ترتیبی که nn.LSTM به کار می‌برد — این‌ها را می‌سازند:

i=σ(z[0:K])f=σ(z[K:2K])g=tanh⁡(z[2K:3K])o=σ(z[3K:4K])i = \sigma(z_{[0:K]}) \quad f = \sigma(z_{[K:2K]}) \quad g = \tanh(z_{[2K:3K]}) \quad o = \sigma(z_{[3K:4K]}) cℓ=f⊙cℓ−1+i⊙ghℓ=o⊙tanh⁡(cℓ)c_\ell = f \odot c_{\ell-1} + i \odot g \qquad h_\ell = o \odot \tanh(c_\ell)

با h0=c0=0h_0 = c_0 = 0 و σ(t)=1/(1+e−t)\sigma(t) = 1/(1 + e^{-t}). دروازه‌ی فراموشی ff می‌گوید چه مقدار از حافظه بماند، دروازه‌ی ورودی ii چه مقدار از اطلاعات تازه‌ی gg نوشته شود، و دروازه‌ی خروجی oo چه مقدار از حافظه دیده شود.

تابع lstm(X, W, U, b) با X به شکل L×pL \times p، W به شکل 4K×p4K \times p، U به شکل 4K×K4K \times K و b به طول 4K4K، پشت‌سرهم برمی‌گرداند: hLh_L و بعد cLc_L.

نمونه‌ها

ورودی نمونه ۱
[[[0.35, 0.82], [0.33, -1.3]], [[0.45, 0.22], [-0.27, 0.29], [0.18, 0.15], [0.01, 0.27], [-0.37, -0.08], [-0.24, 0.3], [0.02, -0.15], [-0.39, -0.13]], [[0.0, -0.14], [0.65, 0.5], [-1.36, -0.94], [-0.09, -0.21], [0.11, 0.11], [1.06, -0.56], [-0.19, 1.02], [0.32, 0.33]], [-0.15, -0.49, 0.05, 0.03, -0.37, -0.2, -0.02, -0.28]]
خروجی نمونه ۱
[-0.1653, -0.0765, -0.3103, -0.18]

برای نوشتن پاسخ و دریافت امتیاز، ابتدا وارد حساب شوید.

ورود