深度学习——基础知识整理(2)

深度学习整理的基础知识点(2)

1. 请介绍一下GoogLeNet网络结构;
2. 请介绍一下ResNet网络结构;
3. 请介绍一下RNN网络结构、缺陷以及缺陷的解决的方式;
4. 请详细的画出LSTM的结构图;
5. 你觉得LSTM和GRU有什么区别?你更喜欢使用那个结构,为什么呢?为什么不使用另外一个结构呢?

1. 请介绍一下GoogLeNet网络结构

GoogLenet是一个22层的深度网络,2014年ILSVRC挑战赛冠军,将Top5 的错误率降低到6.67%
一般来说提升网络性能的最好的方式就是增加网络的深度和宽度;但是往往会带来梯度消散的问题。
深度方面:
GoogLenet为了避免梯度消散的问题,使用了在不同深度处添加两个loss,来保证梯度消散的问题。
宽度方面:
GoogLenet在第五层采用了Inception结构。在同一层上运行具备多个尺寸的卷积核;通过1*1、3*3、5*5的卷积提取不同的特征。1*1的卷积核也称为逐点卷积,起到降维的作用,减少网络中的参数。

2. 请介绍一下ResNet网络结构【15年冠军】

        其实不管是VGG、GoogLeNet,随着网络层级的不断增加,模型精度不断得到提升,而当网络层级增加到一定的数目以后,训练精度和测试精度迅速下降,这说明当网络变得很深以后,深度网络就变得更加难以训练了.。所以出现了ResNet网络结构称为残差网络结构。

深度学习——基础知识整理(2)_第1张图片

残差F(x) := H(x)-x,因此,后面的训练目标就是要将残差结果逼近于0,使到随着网络加深,准确率不下降。
为什么残差网络结构就可以解决梯度消散的问题呢?
残差网络增加了一个identity mapping(恒等映射),把当前输出直接传输给下一层网络(全部是1:1传输,不增加额外的参数),相当于走了一个捷径,跳过了本层运算;同时在反向传播过程中,也是将下一层网络的梯度直接传递给上一层网络,这样就解决了深层网络的梯度消失问题。

3. 请介绍一下RNN网络结构、缺陷以及缺陷的解决的方式

RNN神经网络是用来建模序列化数据的一种深度学习模型。传统的神经网络很难捕捉到序列中的长距离依赖关系。而RNN则可以通过神经元串行起来处理序列化数据,并可以据此进行分类或者生成新的序列。
RNN的缺陷是:长时依赖问题。循环神经网络并不能成功捕捉到长距离的依赖关系。
解决的方式:LSTM
 

4. 请详细的画出LSTM的结构图

LSTM 有通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力,主要是通过一个 sigmoid 激活函数控制。

下面详细的说一下 各个门的作用以及LSTM是如何解决长时依赖问题的:
遗忘门能决定应丢弃或保留哪些信息。来自先前隐藏状态的信息和当前输入的信息同时输入到Sigmoid函数,输出值处于0和1之间,越接近0意味着越应该忘记,越接近1意味着越应该保留。这个f就可以用来操控遗忘哪些数据。

学习门用来更新单元状态。先将先前隐藏状态的信息和当前输入的信息输入到Sigmoid函数,在0和1之间调整输出值来决定更新哪些信息,0表示不重要,1表示重要。也可将隐藏状态和当前输入传输给Tanh函数,并在-1和1之间压缩数值以调节网络,然后把Tanh输出和Sigmoid输出相乘,Sigmoid输出将决定在Tanh输出中哪些信息是重要的且需要进行保留!【这也是为什么lstm可以解决长时依赖的原因】

输出门首先把先前的隐藏状态和当前输入传递给Sigmoid函数;接着把新得到的单元状态传递给Tanh函数;然后把Tanh输出和Sigmoid输出相乘,以确定隐藏状态应携带的信息;最后把隐藏状态作为当前单元输出Ht,把新的单元状态和新的隐藏状态Ht传输给下个时间步。
 

5. 你觉得LSTM和GRU有什么区别?

 

深度学习——基础知识整理(2)_第2张图片

它将忘记门和输入门合成了一个单一的 更新门,同样还混合了细胞状态和隐藏状态,和其他一些改动,最终的模型比标准的 LSTM 模型要简单,也是非常流行的变体。GRU直接将hidden state 传给下一个单元,而LSTM用memory cell 把hidden state 包装起来。

你可能感兴趣的:(深度学习——基础知识整理(2))