Homework 3
Exercise 1:
(a)
假设 $y=\sigma(Wx)$,且 $y\in \mathbb{R} {^n}, x\in\mathbb{R}^d,W\in\mathbb{R}^{n\times d}$,要证明
$$ \frac{\partial{y}}{\partial x}=diag(\sigma {'})W \in \mathbb{R} ^{n\times d} $$通过向量求导的定义可得
$$ \frac{\partial y}{\partial x}= \begin{bmatrix} \frac{\partial y_1}{\partial x_1} & \cdots & \frac{\partial y_1}{\partial x_d} \\ \vdots & \ddots & \vdots\\ \frac{\partial y_n}{\partial x_1} & \cdots & \frac{\partial y_n}{\partial x_d} \end{bmatrix} $$并且
$$ \begin{align*} Wx &{}=\begin{bmatrix} w_{11} & \cdots & w_{1d} \\ \vdots & \ddots & \vdots\\ w_{n1} & \cdots & w_{nd} \end{bmatrix}\times \begin{bmatrix} x_1\\ \vdots\\ x_d \end{bmatrix}\\ &{}=\begin{bmatrix} w_{11}*x_1+w_{12}*x_2+\cdots +w_{1d}*x_d\\ \vdots\\ w_{n1}*x_1+w_{n2}*x_2+\cdots +w_{nd}*x_d \end{bmatrix}\\ &{}=P \end{align*} $$即是设 $P_i=w_{i1}*x_1+w_{i2}*x_2+\cdots +w_{id}*x_d,i<n$
则证明如下:
$$ \begin{align*} \frac{\partial y}{\partial x} =&{}\frac{\partial\sigma(Wx)}{\partial x}\\ =&{}\frac{\partial \sigma(P)}{\partial x}\\ =&{}\begin{bmatrix} \frac{\partial \sigma(P_1)}{\partial x_1} & \cdots & \frac{\partial \sigma(P_1)}{\partial x_d} \\ \vdots & \ddots & \vdots\\ \frac{\partial \sigma(P_n)}{\partial x_1} & \cdots & \frac{\partial \sigma(P_n)}{\partial x_d} \end{bmatrix} \end{align*} $$又因为
$$ \sigma(Pi)=\frac{1}{1+exp(Pi)}=\frac{1}{1+exp(w_{i1}*x_1+w_{i2}*x_2+\cdots +w_{id}*x_d)} $$那么根据 $sigmoid$ 函数性质 $\sigma{'(z)}=\sigma{(z)}(1-\sigma(z))$ 可得
$$ \frac{\partial\sigma(P_i)}{\partial x_j}=\sigma(P_i)(1-\sigma(P_i))*w_{ij} $$则有
$$ \begin{align*} \frac{\partial y}{\partial x} =&{}\begin{bmatrix} \sigma(P_1)(1-\sigma(P_1))w_{11} & \sigma(P_1)(1-\sigma(P_1))w_{12} & \cdots & \sigma(P_1)(1-\sigma(P_1))w_{1d} \\ \sigma(P_2)(1-\sigma(P_2))w_{21} & \sigma(P_2)(1-\sigma(P_2))w_{22} & \cdots & \sigma(P_2)(1-\sigma(P_2))w_{2d}\\ \vdots & \ddots & \ddots & \vdots\\ \sigma(P_n)(1-\sigma(P_n))w_{n1} & \sigma(P_n)(1-\sigma(P_n))w_{n_2} & \cdots & \sigma(P_n)(1-\sigma(P_n))w_{nd} \end{bmatrix} \end{align*} $$再看等式右边,又有
$$ \begin{align*} diag(\sigma')W =&{}{diag(\sigma'(Wx))}W\\ =&{}diag(\sigma(Wx)(1-\sigma(Wx)))W\\ =&{}diag(\sigma(P)(1-\sigma(P)))W\\ =&{}\begin{bmatrix} \sigma(P_1)(1-\sigma(P_1)) & \cdots & 0 \\ \vdots & \ddots & \vdots\\ 0 & \cdots & \sigma(P_n)(1-\sigma(P_n)) \end{bmatrix}\times \begin{bmatrix} w_{11} & \cdots & w_{1d} \\ \vdots & \ddots & \vdots\\ w_{n1} & \cdots & w_{nd} \end{bmatrix}\\ =&{}\begin{bmatrix} \sigma(P_1)(1-\sigma(P_1))w_{11} & \sigma(P_1)(1-\sigma(P_1))w_{12} & \cdots & \sigma(P_1)(1-\sigma(P_1))w_{1d} \\ \sigma(P_2)(1-\sigma(P_2))w_{21} & \sigma(P_2)(1-\sigma(P_2))w_{22} & \cdots & \sigma(P_2)(1-\sigma(P_2))w_{2d}\\ \vdots & \ddots & \ddots & \vdots\\ \sigma(P_n)(1-\sigma(P_n))w_{n1} & \sigma(P_n)(1-\sigma(P_n))w_{n_2} & \cdots & \sigma(P_n)(1-\sigma(P_n))w_{nd} \end{bmatrix} \end{align*} $$因此证明等式成立
(b)
要证明
$$ \frac{\partial L}{\partial W}=\sum_{t=0}^{T}\sum_{k=1}^{t}\frac{\partial L_t}{\partial h_t}\frac{\partial h_t}{\partial h_k}\frac{\partial h_k}{\partial W} $$那么只需要证明
$$ \frac{\partial L_t}{\partial W}=\sum_{k=1}^{t}\frac{\partial L_t}{\partial h_t}\frac{\partial h_t}{\partial h_k}\frac{\partial h_k}{\partial W} $$即可,根据链式求导法则以及 $h_t=\sigma(Wh_{t-1}+Ux_t)$,且 $\sigma(z)=\frac{1}{1+exp(z)}$,并有性质 $\sigma '(z)=\sigma(z)(1-\sigma(z))$证明如下:
$$ \begin{align*} \frac{\partial L_t}{\partial W} &{}=\frac{\partial L_t}{\partial h_t}\frac{\partial h_t}{\partial W}\\ &{}=\frac{\partial L_t}{\partial h_t}\frac{\partial h_t}{\partial h_t}\frac{\partial h_t^+}{\partial W}+\frac{\partial L_t}{\partial h_{t}}\frac{\partial h_t}{\partial h_{t-1}}\frac{\partial h_{t-1}}{\partial W}\\ &{}=\frac{\partial L_t}{\partial h_t}\frac{\partial h_t}{\partial h_t}\frac{\partial h_t^+}{\partial W}+\frac{\partial L_t}{\partial h_{t}}\frac{\partial h_t}{\partial h_{t-1}}\frac{\partial h_{t-1}}{\partial h_{t-1}}\frac{\partial h_{t-1}^+}{\partial W}+\frac{\partial L_t}{\partial h_{t}}\frac{\partial h_t}{\partial h_{t-1}}\frac{\partial h_{t-1}}{\partial h_{t-2}}\frac{\partial h_{t-2}}{\partial W}\\ &{}=\frac{\partial L_t}{\partial h_t}\frac{\partial h_t}{\partial h_t}\frac{\partial h_t^+}{\partial W}+\frac{\partial L_t}{\partial h_{t}}\frac{\partial h_t}{\partial h_{t-1}}\frac{\partial h_{t-1}^+}{\partial W}+\frac{\partial L_t}{\partial h_{t}}\frac{\partial h_t}{\partial h_{t-2}}\frac{\partial h_{t-2}}{\partial W} \\ &\cdots \\ &\cdots \\ &{}=\sum_{k=1}^{t}\frac{\partial L_t}{\partial h_t}\frac{\partial h_t}{\partial h_k}\frac{\partial h_k}{\partial W} \end{align*} $$Exercise 2:
(a)
$\frac{\partial L}{\partial W}$ , 当 $T=3$ ,根据 $\frac{\partial L}{\partial W}=\sum_{t=0}^{T}\sum_{k=1}^{t}\frac{\partial L_t}{\partial h_t}\frac{\partial h_t}{\partial h_k}\frac{\partial h_k}{\partial W}$ 推导如下:$$ \begin{align*} \frac{\partial L}{\partial W}=&{}\sum_{t=0}^{3}\sum_{k=1}^{t}\frac{\partial L_t}{\partial h_t}\frac{\partial h_t}{\partial h_k}\frac{\partial h_k}{\partial W}\\ =&{}\sum_{k=1}^{1}\frac{\partial L_t}{\partial h_t}\frac{\partial h_t}{\partial h_k}\frac{\partial h_k}{\partial W}+\sum_{k=1}^{2}\frac{\partial L_t}{\partial h_t}\frac{\partial h_t}{\partial h_k}\frac{\partial h_k}{\partial W}+\sum_{k=1}^{3}\frac{\partial L_t}{\partial h_t}\frac{\partial h_t}{\partial h_k}\frac{\partial h_k}{\partial W}\\ =&{}\frac{\partial L_1}{\partial h_1}\frac{\partial h_1}{\partial h_1}\frac{\partial h_1}{\partial W}+\\ &{}\frac{\partial L_2}{\partial h_2}\frac{\partial h_2}{\partial h_2}\frac{\partial h_2}{\partial W}+\frac{\partial L_2}{\partial h_2}\frac{\partial h_2}{\partial h_1}\frac{\partial h_1}{\partial W}+\\ &{}\frac{\partial L_3}{\partial h_3}\frac{\partial h_3}{\partial h_3}\frac{\partial h_3}{\partial W}+\frac{\partial L_3}{\partial h_3}\frac{\partial h_3}{\partial h_2}\frac{\partial h_2}{\partial W}+\frac{\partial L_3}{\partial h_3}\frac{\partial h_3}{\partial h_1}\frac{\partial h_1}{\partial W} \end{align*} $$(b)
已知
$$ M=Q\Lambda Q^{-1} $$当 $\lambda_i=\Lambda_{ii}$ , $M_{v_i}=\lambda_iv_i$ $\prod^n_{i=1}M$ 可以表示为 $M^n=Q\Lambda^nQ^{-1}$ 证明如下,首先$$ \begin{align*} &\prod^n_{i=1}M=M\times M\times M\times\cdots\times M\\ ={}& Q\Lambda Q^{-1}\times Q\Lambda Q^{-1}\times\cdots\times Q\Lambda Q^{-1} \end{align*} $$又因为逆矩阵的性质,可得 $Q^{-1}Q=I$ , 则可证得
$$ \begin{align*} M^n&{}=Q\times \Lambda \times I \times \Lambda\times I\times\cdots\times I\times \Lambda\times Q^{-1}\\ &{}=Q\Lambda^nQ^{-1} \end{align*} $$(c)
首先可知
$$ W= \begin{bmatrix} 0.58 & 0.24 \\ 0.24 & 0.72 \\ \end{bmatrix} $$$$ W=Q\Lambda Q^{-1}= \begin{bmatrix} -0.6 & -0.8 \\ -0.8 & 0.6 \\ \end{bmatrix} \begin{bmatrix} 0.9 & 0 \\ 0 & 0.4 \\ \end{bmatrix} \begin{bmatrix} -0.6 & -0.8 \\ -0.8 & 0.6 \\ \end{bmatrix} $$然后通过 $M^n=Q\Lambda^nQ^{-1}$,计算 $W^{30}$,得到
$$ \begin{align*} W^{30}&=Q\Lambda^{30} Q^{-1}\\ &=\begin{bmatrix} -0.6 & -0.8 \\ -0.8 & 0.6 \\ \end{bmatrix} \begin{bmatrix} 0.9 & 0 \\ 0 & 0.4 \\ \end{bmatrix}^{30} \begin{bmatrix} -0.6 & -0.8 \\ -0.8 & 0.6 \\ \end{bmatrix}\\ &=\begin{bmatrix} -0.6 & -0.8 \\ -0.8 & 0.6 \\ \end{bmatrix} \begin{bmatrix} 0.9^{30} & 0 \\ 0 & 0.4^{30} \\ \end{bmatrix} \begin{bmatrix} -0.6 & -0.8 \\ -0.8 & 0.6 \\ \end{bmatrix}\\ &=\begin{bmatrix} 0.0153 & 0.0203 \\ 0.0203 & 0.0271 \end{bmatrix} \end{align*} $$然后发现,如果当 $W$ 的特征值都小于 $1$ 的时候,$W^n$ 的各个元素随着 $n$ 的增加而趋近于 $0$;而如果当 $W$ 的特征值都等于 $1$ 的时候,$W^n$ 的各个元素随着 $n$ 的增加而不会产生变化;如果当 $W$ 的特征值都大于 $1$ 的时候,$W^n$ 的各个元素随着 $n$ 的增加而增大。
Exercise 3:
(a)
LSTM 有通过精心设计的称作为门(gate)
的结构来去除或者增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。他们包含一个 sigmoid 神经网络层和一个 pointwise 乘法操作。
第一步是决定我们会从细胞状态中丢弃什么信息。这个决定通过一个称为忘记门层完成。该门会读取 $h_{t-1}$ 和 $x_t$ ,输出一个在 0 到 1 之间的数值给每个在细胞状态 $C_{t-1}$ 中的数字。$1$ 表示“完全保留”,$0$ 表示“完全舍弃”。
$$ f_t=\sigma(W_f h_{t-1}+U_fx_t) $$下一步是确定什么样的新信息被存放在细胞状态中。这里包含两个部分。第一,sigmoid 层称 输入门层
决定什么值我们将要更新。然后,一个 tanh
层创建一个新的候选值向量,$\tilde{C}_t$,会被加入到状态中。
下一步更新细胞状态,$C_{t-1}$ 更新为 $C_t$ 。把旧状态与 $f_t$ 相乘,丢弃掉确定需要丢弃的信息。接着加上 $i_t * \tilde{C}_t$ 。
$$ C_t=f_t\ast C_{t-1}+i_t\odot\tilde{C}_t $$最终确定输出的值。这个输出将会基于细胞状态,但是也是一个过滤后的版本。首先,运行一个 sigmoid
层来确定细胞状态的哪个部分将输出出去。接着,将细胞状态通过tanh
进行处理(得到一个在 -1 到 1 之间的值)并将它和sigmoid
门的输出相乘,最终会输出需要输出的部分。
总结,$f_t$ 将决定从细胞状态中丢弃的信息;$i_t$ 将决定要更新的信息;$o_t$ 将决定最终输出的部分。
(b)
可以看出,$f_t$ , $i_t$ , $o_t$ 都会是正数。因为 $\sigma() $函数的值的范围在 $0,1$之间。
(c)
已知
$$ \frac{\partial C_t}{\partial C_k}=\prod^t_{i=k+1}\frac{\partial C_t}{\partial C_{t-1}} $$令 $f_t=1$ 且 $i_t=0$ 然后使得对于所有的 $t$ ,$C_t=C_{t-1}$ 成立,那么此时 $\frac{\partial C_t}{\partial C_k}$ 会如何?$$ \begin{align*} \frac{\partial C_t}{\partial C_k} &{}=\prod^t_{i=k+1}\frac{\partial C_t}{\partial C_{t-1}}\\ &{}=\frac{\partial C_{k+2}}{\partial C_{k+1}}\times\frac{\partial C_{k+3}}{\partial C_{k+2}}\times \cdots\times\frac{\partial C_{t}}{\partial C_{t-1}}\\ &{}=1\times1\times\cdots\times1\\ &{}=1 \end{align*} $$即可得 $\frac{\partial C_t}{\partial C_k}$ 会等于 $1$ , 而从前面的分析来看,$C_t$ 表示的是细胞状态,而 $f_t$ 表示的将从细胞状态中丢弃的信息,$f_t=1$ 的时候意味着将完全保留,而 $i_t$ 表示要更新的信息,$i_t=0$ 的时候意味着没有值要更新。总的来说就是从头到尾都不会丢弃信息,也不会更新信息,因此 $\frac{\partial C_t}{\partial C_k}$ 为 $1$ 是正确和合理的。