optim
优化器更新参数机制
Require: 初始化参数 θ\thetaθ
Require: 学习率 ϵ\epsilonϵ
while 没有达到停止准则 do
计算梯度估计: g←1m∇θ∑iL(f(x(i);θ),y(i))\boldsymbol{g} \leftarrow \frac{1}{m} \nabla_{\boldsymbol{\theta}} \sum_{i} L\left(f\left(\boldsymbol{x}^{(i)} ; \boldsymbol{\theta}\right), \boldsymbol{y}^{(i)}\right)g←m1∇θ∑iL(f(x(i);θ),y(i))
计算一阶动量、二阶动量: s=ϕ(g)s=\phi(g)s=ϕ(g) 、r=ψ(g)r=\psi(g)r=ψ(g)
计算更新: Δθ=ϵ⋅s/r\Delta \theta = \epsilon \cdot s / rΔθ=ϵ⋅s/r
应用更新: θ=θ+Δθ\theta = \theta + \Delta \thetaθ=θ+Δθ
SGD ...
loss
CrossEntropyLoss
熵
熵即一个事件所包含的信息量
s(x)=−∑iP(xi)logbP(xi)s(x)=-\sum_{i} P\left(x_{i}\right) \log _{b} P\left(x_{i}\right)
s(x)=−i∑P(xi)logbP(xi)
KL散度
KL散度可用来描述两个分布的距离,KL散度不具备有对称性。
KL散度的定义
对于离散分布
DKL(A∥B)=∑iPA(xi)log(PA(xi)PB(xi))=∑iPA(xi)log(PA(xi))−PA(xi)log(PB(xi))D_{K L}(A \| B)=\sum_{i} P_{A}\left(x_{i}\right) \log \left(\frac{P_{A}\left(x_{i}\right)}{P_{B}\left(x_{i}\right)}\right)=\sum_{i} P_{A}\left(x_{i}\right) \log \left(P_{A}\left(x_{i}\right)\right)-P_{A}\left(x_{i}\right) \lo ...
lstm
LSTM
it=σ(Wiixt+bii+Whiht−1+bhi)ft=σ(Wifxt+bif+Whfht−1+bhf)gt=tanh(Wigxt+big+Whght−1+bhg)ot=σ(Wioxt+bio+Whoht−1+bho)ct=ft⊙ct−1+it⊙gtht=ot⊙tanh(ct)\begin{array}{ll} \\
i_t = \sigma(W_{ii} x_t + b_{ii} + W_{hi} h_{t-1} + b_{hi}) \\
f_t = \sigma(W_{if} x_t + b_{if} + W_{hf} h_{t-1} + b_{hf}) \\
g_t = \tanh(W_{ig} x_t + b_{ig} + W_{hg} h_{t-1} + b_{hg}) \\
o_t = \sigma(W_{io} x_t + b_{io} + W_{ho} h_{t-1} + b_{ho}) \\
c_t = f_t \odot c_{t-1} + i_t \odot g_t \\
h_t = o_t ...
激活函数汇总
Sigmoid
函数
σ(x)=11+e−x\sigma(x) = \frac{1}{1 + e^{-x}}
σ(x)=1+e−x1
导数
σ′(x)=σ(x)⋅(1−σ(x))\sigma'(x) = \sigma(x)\cdot(1-\sigma(x))
σ′(x)=σ(x)⋅(1−σ(x))
优点
函数是可微的。
梯度平滑。
Sigmoid 函数的输出范围是 0 到 1,因此它对每个神经元的输出进行了归一化,课用于将预测概率作为输出的模型。
缺点
激活函数计算量大(在正向传播和反向传播中都包含幂运算和除法)
不是zero-centered
梯度消失
Tanh
函数
τ(x)=tanh(x)=ex−e−xex+e−x\tau(x) = \tanh(x) = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}
τ(x)=tanh(x)=ex+e−xex−e−x
导数
τ′(x)=1−τ2(x)\tau'(x) = 1 - \tau^{2}(x)
τ′(x)=1−τ2(x)
优点
zero-centered
相 ...