《动手学深度学习》Task03打卡

针对过拟合、欠拟合及其解决方案的认识

  • 欠拟合(underfitting):模型无法得到较低的训练误差;
  • 过拟合(overfitting):模型的训练误差远小于它在测试数据集上的误差。
    《动手学深度学习》Task03打卡_第1张图片《动手学深度学习》Task03打卡_第2张图片《动手学深度学习》Task03打卡_第3张图片
    给定训练数据集,模型复杂度和误差之间的关系:
    《动手学深度学习》Task03打卡_第4张图片
    《动手学深度学习》Task03打卡_第5张图片

《动手学深度学习》Task03打卡_第6张图片

Image Name
当对该隐藏层使用丢弃法时,该层的隐藏单元将有一定概率被丢弃掉。设丢弃概率为 p p p,那么有 p p p的概率 h i h_i hi会被清零,有 1 − p 1-p 1p的概率 h i h_i hi会除以 1 − p 1-p 1p做拉伸。丢弃概率是丢弃法的超参数。具体来说,设随机变量 ξ i \xi_i ξi为0和1的概率分别为 p p p 1 − p 1-p 1p。使用丢弃法时我们计算新的隐藏单元 h i ′ h_i' hi

h i ′ = ξ i 1 − p h i h_i' = \frac{\xi_i}{1-p} h_i hi=1pξihi

由于 E ( ξ i ) = 1 − p E(\xi_i) = 1-p E(ξi)=1p,因此

E ( h i ′ ) = E ( ξ i ) 1 − p h i = h i E(h_i') = \frac{E(\xi_i)}{1-p}h_i = h_i E(hi)=1pE(ξi)hi=hi

针对梯度消失、梯度爆炸的认识

  • 深度模型有关数值稳定性的典型问题是消失(vanishing)和爆炸(explosion)。
  • 如果将每个隐藏单元的参数都初始化为相等的值,那么在正向传播时每个隐藏单元将根据相同的输入计算出相同的值,并传递至输出层。在反向传播中,每个隐藏单元的参数梯度值相等。通常将神经网络的模型参数,特别是权重参数,进行随机初始化。
  • 考虑环境因素
    协变量偏移:输入特征X改变;
    标签偏移:输出标签y改变;
    概念偏移:X到y之间出现新的映射关系。

针对循环神经网络进阶的认识

  • RNN
    Image Name《动手学深度学习》Task03打卡_第7张图片
    H t = ϕ ( X t W x h + H t − 1 W h h + b h ) H_{t} = ϕ(X_{t}W_{xh} + H_{t-1}W_{hh} + b_{h}) Ht=ϕ(XtWxh+Ht1Whh+bh)
  • LSTM
    Image Name《动手学深度学习》Task03打卡_第8张图片
    I t = σ ( X t W x i + H t − 1 W h i + b i ) I_t = σ(X_tW_{xi} + H_{t−1}W_{hi} + b_i) It=σ(XtWxi+Ht1Whi+bi)
    F t = σ ( X t W x f + H t − 1 W h f + b f ) F_t = σ(X_tW_{xf} + H_{t−1}W_{hf} + b_f) Ft=σ(XtWxf+Ht1Whf+bf)
    O t = σ ( X t W x o + H t − 1 W h o + b o ) O_t = σ(X_tW_{xo} + H_{t−1}W_{ho} + b_o) Ot=σ(XtWxo+Ht1Who+bo)
    C ~ t = t a n h ( X t W x c + H t − 1 W h c + b c ) \widetilde{C}_t = tanh(X_tW_{xc} + H_{t−1}W_{hc} + b_c) C t=tanh(XtWxc+Ht1Whc+bc)
    C t = F t ⊙ C t − 1 + I t ⊙ C ~ t C_t = F_t ⊙C_{t−1} + I_t ⊙\widetilde{C}_t Ct=FtCt1+ItC t
    H t = O t ⊙ t a n h ( C t ) H_t = O_t⊙tanh(C_t) Ht=Ottanh(Ct)
  • GRU
    Image Name《动手学深度学习》Task03打卡_第9张图片
    R t = σ ( X t W x r + H t − 1 W h r + b r ) R_{t} = σ(X_tW_{xr} + H_{t−1}W_{hr} + b_r) Rt=σ(XtWxr+Ht1Whr+br)
    Z t = σ ( X t W x z + H t − 1 W h z + b z ) Z_{t} = σ(X_tW_{xz} + H_{t−1}W_{hz} + b_z) Zt=σ(XtWxz+Ht1Whz+bz)
    H ~ t = t a n h ( X t W x h + ( R t ⊙ H t − 1 ) W h h + b h ) \widetilde{H}_t = tanh(X_tW_{xh} + (R_t ⊙H_{t−1})W_{hh} + b_h) H t=tanh(XtWxh+(RtHt1)Whh+bh)
    H t = Z t ⊙ H t − 1 + ( 1 − Z t ) ⊙ H ~ t H_t = Z_t⊙H_{t−1} + (1−Z_t)⊙\widetilde{H}_t Ht=ZtHt1+(1Zt)H t
  • 深度循环神经网络
    《动手学深度学习》Task03打卡_第10张图片
    H t ( 1 ) = ϕ ( X t W x h ( 1 ) + H t − 1 ( 1 ) W h h ( 1 ) + b h ( 1 ) ) H t ( ℓ ) = ϕ ( H t ( ℓ − 1 ) W x h ( ℓ ) + H t − 1 ( ℓ ) W h h ( ℓ ) + b h ( ℓ ) ) O t = H t ( L ) W h q + b q \boldsymbol{H}_t^{(1)} = \phi(\boldsymbol{X}_t \boldsymbol{W}_{xh}^{(1)} +\boldsymbol{H}_{t-1}^{(1)} \boldsymbol{W}_{hh}^{(1)} +\boldsymbol{b}_h^{(1)})\\ \boldsymbol{H}_t^{(\ell)} = \phi(\boldsymbol{H}_t^{(\ell-1)} \boldsymbol{W}_{xh}^{(\ell)} + \boldsymbol{H}_{t-1}^{(\ell)} \\\boldsymbol{W}_{hh}^{(\ell)} + \boldsymbol{b}_h^{(\ell)})\\ \boldsymbol{O}_t = \boldsymbol{H}_t^{(L)} \boldsymbol{W}_{hq} + \boldsymbol{b}_q\\ Ht(1)=ϕ(XtWxh(1)+Ht1(1)Whh(1)+bh(1))Ht()=ϕ(Ht(1)Wxh()+Ht1()Whh()+bh())Ot=Ht(L)Whq+bq
  • 双向循环神经网络
    《动手学深度学习》Task03打卡_第11张图片 H → t = ϕ ( X t W x h ( f ) + H → t − 1 W h h ( f ) + b h ( f ) ) H ← t = ϕ ( X t W x h ( b ) + H ← t + 1 W h h ( b ) + b h ( b ) ) H t = ( H → t , H ← t ) O t = H t W h q + b q \begin{aligned} \overrightarrow{\boldsymbol{H}}_t &= \phi(\boldsymbol{X}_t \boldsymbol{W}_{xh}^{(f)} + \overrightarrow{\boldsymbol{H}}_{t-1} \boldsymbol{W}_{hh}^{(f)} + \boldsymbol{b}_h^{(f)})\\ \overleftarrow{\boldsymbol{H}}_t &= \phi(\boldsymbol{X}_t \boldsymbol{W}_{xh}^{(b)} + \overleftarrow{\boldsymbol{H}}_{t+1} \boldsymbol{W}_{hh}^{(b)} + \boldsymbol{b}_h^{(b)}) \end{aligned} \\ \boldsymbol{H}_t=(\overrightarrow{\boldsymbol{H}}_{t}, \overleftarrow{\boldsymbol{H}}_t)\\ \boldsymbol{O}_t = \boldsymbol{H}_t \boldsymbol{W}_{hq} + \boldsymbol{b}_q H tH t=ϕ(XtWxh(f)+H t1Whh(f)+bh(f))=ϕ(XtWxh(b)+H t+1Whh(b)+bh(b))Ht=(H t,H t)Ot=HtWhq+bq

你可能感兴趣的:(《动手学深度学习》14天打卡)