深度学习1

1 BatchNormalization的作用

神经网络在训练的时候随着网络层数的加深,激活函数的输入值的整体分布逐渐往激活函数的取值区间上下限靠近,从而导致在反向传播时低层的神经网络的梯度消失,而Batch Normalization 的作用是通过规范化的手段,将越来越偏的分布拉回到标准化的分布,使数据能够分布在激活函数的敏感区域,从而使梯度变大,加快学习收敛速度,避免梯度消失的问题。

2 梯度消失

在神经网络中,当前面隐藏层的学习速率低于后面隐藏层的学习速率,即随着隐藏层数目的增加,分类准确率反而下降了,这种现象叫做消失的梯度问题。

3 RNN 为什么好?

RNN 是中节点连接成环的人工神经网络,是一种反馈神经网络,RNN 利用内部的记忆来处理任意时序的输入序列,并且在其处理单元之间既有内部的反馈连接又有前馈连接,这使得RNN 可以更加容易处理不分段的文本。

4 什么是group Convolution 

若卷积神经网络的上一层有N个卷积核,则对应的通道数也为N,设群数目为M,在进行卷积操作的时候,将通道分为M份,每个group 对应N/M 个通道,然后每个group 卷积完成后输出叠在一起,作为当前层的输出通道。

5 VGG 使用3*3 卷积核的优势是什么?

2个3*3 的卷积核串联和5*5 的卷积核有相同的感受野,前者有更少的参数,多个3*3 的卷积核比一个较大尺寸的卷积核有更多层的非线性函数,增加了非线性表达,使判决函数更具有判决性。

6 Relu 比sigmoid 的效果好在哪里?

sigmoid 的导数只有在0附近时有较好的激活性,而在正负饱和区域的梯度趋向于0,从而产生梯度弥散的现象,而Relu 在大于0的部分梯度为常数,所有不会有梯度弥散现象,Relu 的导数计算的更快,Relu 在负半区的导数为0,所以神经元的激活值为负时,此神经元不参与训练,具有稀疏性。

7 神经网络中权重共享的是?

卷积神经网络,循环神经网络

8 画GRU的结构图

GRU 有两个门: 更新门,输出门

9 Attention机制的作用

减少处理高维输入数据的计算负担,结构化的选取输入的子集,从而降低数据的维度,让系统更加容易的找到输入的数据中与当前输出信息相关的有用信息。

10 LSTM和GRU 的原理

LSTM 由输入门,遗忘门和一个cell 组成,第一步是决定从cell 状态中丢弃什么信息,然后再决定有多少新的信息进入到cell 状态中,最终基于目前的cell 状态决定输出什么样的信息,Gru 由重置门和更新门组成,其输入为前一时刻隐藏层的输出和当前的输入,输出为下一时刻隐藏层的信息,重置门用来计算隐藏层的输出,其作用是控制保留多少前一时刻的隐藏层,更新门的作用是控制加入多少候选隐藏层的输出信息,从而得前隐藏层的输出。

11 Adam 

Adam 算法和传统的随机梯度下降不同,随机提付下降保持单一的学习率更新所有的权重,学习率在训练过程中并不会改变,而Adam 通过计算梯度的一阶矩估计和二阶矩估计而为不同的参数设计独立的自适应性学习率。

12 attention的机制

简单理解就是权重分配,以seq2seq 中的attention 公式作为讲解,就是对输入的每个词分配一个权重,权重的计算方式为与解码端的隐含层时刻作比较,得到的权重的意义就是权重越大,该词就越重要,最终加权求和。

13 RNN的梯度消失问题,为什么LSTM 和GRU 可以解决此问题?

RNN 由于网络比较深,后面层输出误差很难影响到前面层的计算。RNN的某一单元主要受它附近单元的影响,而LSTM 因为可以通过阀门记忆一些长期的信息,相应的也就保留了更多的梯度,而GRU 也可通过重置和更新两个阀门保留长期的记忆,也相对解决了梯度消失的问题。

14 GAN 网络的思想

GAN 用一个生成模型和一个判别模型,判别模型用于判断给定的图片是不是真实的图片,生成模型自己生成一张图片和想要的图片很像,开始时两个模型都没有训练,然后两个模型一起进行对抗训练,生成模型产生图片去欺骗判别模型,判别模型去判断真假,最终两个模型在训练过程中,能力越来越强最终达到稳态。

15 1*1 的卷积作用

实现跨通道的交互和信息整合,实现卷积核通道数的降维和升维,可以实现多个feature map 的线性组合,而且可是实现与全连接层的等价效果。

16 怎么提升网络的泛化能力

从数据上提升性能,收集更多的数据,对数据做缩放和变换,特征组合和重新定义问题

从算法调优上提升性能,用可靠的模型诊断工具对模型进行诊断,权重的初始化,用小的随机数初始化权重,对学习率进行调节,尝试选择合适的激活函数,调整网络的拓扑结构,调节batch 和epoch 的大小,添加正则化的方法,尝试使用其他的优化方法,使用early stopping。

17 什么是seq2seq model

seq2seq 属于encoder-decoder 结构的一种,利用两个RNN,一个作为encoder 一个作为decoder,encoder 负责将输入序列压缩成指定长度的向量,这个向量可以看做这段序列的语义,而decoder 负责根据语义向量生成指定的序列。

18 RNN 容易梯度消失,怎么解决?

1)梯度裁剪

既然在BP 过程中会产生梯度消失(就是偏导无限接近于0,导致长时记忆无法更新) ,方法是设定阈值,当梯度小于阈值时,更新梯度为阈值。优点: 简单粗暴,缺点:很难找到满意的阈值

2)LSTM 

一定程度上模仿了 长时记忆,相比于梯度裁剪,最大的优点就是自动学习在什么时候可以将error 反向传播,自动控制哪些是需要作为记忆存储在LSTM cell 中,一般长时记忆模型包括写入,读取,和忘记三个过程对应到LSTM 就变成了 input_gate,output_gate,forget_gate三个门。范围在0到1之间,相当于对输入输出进行加权的学习,利用大量数据来自动学习加权的参数。

19 LSTM 和RNN 有啥区别

LSTM 与RNN 的比较

RNN 在处理long term memory 的时候存在缺陷,因此LSTM 应运而生,LSTM是一种变种的RNN,它的精粹在于引入了细胞状态这样一个概念,不同于RNN 只考虑最近的状态,LSTM的细胞状态会决定哪些状态会被留下来,哪些状态应该被遗忘。

从上面两幅图可以看到,LSTM结构更加复杂,在RNN中,将过去的输出和当前的输入concatenate到一起,通过tanh来控制两者的输出,它只考虑最近时刻的状态,在RNN中有两个输入和一个输出。

而LSTM为了能记住长期的状态,在RNN的基础上增加了一路输入和一路输出,增加的这一路就是细胞状态,也就是途中最上面的一条通路,事实上整个LSTM 分成了三个部分:

1)哪些细胞状态应该被遗忘

2)哪些新的状态应该被加入

3)根据当前的状态和现在的输入,输出应该是什么

1) 哪些细胞状态应该被遗忘

这部分功能是通过sigmoid 函数实现的,也就是最左边的通路,根据输入和上一时刻的输出来决定当前细胞状态是否有需要被遗忘的内容。举个例子如果之前细胞中有主语,而输入中又有了主语,那么原来存在的主语就应该被遗忘,concatenate 的输入和上一时刻的输出经过sigmoid函数后,越接近于0被遗忘的越多,越接近于1被遗忘的越少。

2)哪些新的状态应该被加入

继续上面的例子新进来的主语自然就是应该加入到细胞状态的内容,同理也是靠sigmoid 函数来决定应该记住哪些内容。但是值得一提的是,需要被记住的内容并不是直接concatenate 的输入和上一时刻的输出,还要经过tanh,这点应该也是和RNN 保持一致,并且需要注意此处的sigmoud和前一步的sigmoid 层的w和b 不同,是分别训练的层,细胞状态在忘记了该忘记的,记住了该记住的之后,就可以作为下一时刻的细胞状态输入了。

3)  根据当前的状态和现在的输入,输出应该是什么?

这是最右侧的通路,也是通过sigmoid 函数做门,对第二步求得的状态做tanh 后的结果过滤,从而得到最终的预测结果。

事实上,LSTM 就是在RNN的基础上,增加了对过去状态的过滤,从而可以选择哪些状态对当前更有影响,而不是简单的选择最近的状态。

 20 卷积层和池化层有什么区别

卷积层:提取特征,是二维的,对比三维数据比如RGB图像(3通道),卷积核的深度必须同输入的通道数,输出的通道数等于卷积核的个数。卷积操作会改变输入特征图的通道数输出的。特性:权重共享:减少了参数的数量,并利用了图像目标的位置无关性,稀疏链接L输出的每个值只依赖于输入的部分值。

池化层: 压缩特征图,提取主要特征,池化只是在二维数据上操作的,因此不改变输入的通道数,对于多通道的输入,这一点和卷积区别很大。

21 求解L1 的优化方法?

坐标下降,LARS 角回归

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值