深度学习笔记
概念
- 感知机, perceptron, 多层感知机(multilayer perceptron,MLP)
- Sigmoid函数,即
- Softplus函数,
- 修正线性单元(Rectified linear unit,ReLU)
- 前馈神经网络(feedforward neural networks)
- 递归神经网络(recurrent neural networks)
- 向量范数1-范数:
即向量元素绝对值之和,matlab调用函数 norm(x, 1)
念 nabla C
念 eta
参考教程:http://deeplearning.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B
反向传播算法
- 输入x, 要计算激活值
- 正向传播,对每个 l = 2, 3, ..., L, 计算 和
- 计算输出误差,
- 将误差反向传播,对每个 l = L - 1, L - 2, ..., 2,计算
- 输出2个值,都是梯度: ,
CNN
LeNet
AlexNet
VGG
RNN
比如hello这个单词,预测e后面是l,则除了输入e外,h到e的隐藏层输出也作为它的输入
LSTM
由于rnn的层数太多,会导致反向传播时权重传回去趋近于0或无穷大,出现梯度消失和梯度爆炸的情况。
上面的现象可能并不意味着无法学习,但是即便可以,也会非常非常的慢。为了有效的利用梯度下降法学习,我们希望使不断相乘的梯度的积(the product of derivatives)保持在接近1的数值。
一种实现方式是建立线性自连接单元(linear self-connections)和在自连接部分数值接近1的权重,叫做leaky units。但Leaky units的线性自连接权重是手动设置或设为参数,而目前最有效的方式gated RNNs是通过gates的调控,允许线性自连接的权重在每一步都可以自我变化调节。LSTM就是gated RNNs中的一个实现。