深度学习 - 2019年3月10日

笔记

回顾

在VGG和GoogLeNet发表时,当时还没有BN,所以它们通过一些trick来训练这些很深的网络:

  • VGG使用的是预训练VGG-11,再往中间添加隐藏层;
  • GoogLeNet使用的是添加辅助分类器;

Architecture Operations

RNN

Vanilla RNN

RNN的梯度在反向传播时,是会反复乘以W的转置的,所以这会导致指数级的梯度爆炸或梯度消失。

对于梯度爆炸的解决方案就是梯度截断

Gradient clipping

对于梯度消失问题就需要使用到LSTM

Vanilla vs LSTM

LSTM

相比传统RNN,多出了ct(cell state)向量,即单元状态(保留在LSTM内部中,不会完全暴露到外部去)。

LSTM

在LSTM中,梯度通过遗忘门(forget gate)进行反向传播,可以更好地提升梯度的流动性,Highway network和ResNet的思想也是类似的。

Gradient flow

Google曾经使用进化算法来尝试各种RNN变体,但最后结果都和GRU或LSTM差不多。