深度学习面试知识点总结

一.前向神经网络

深度前馈网络(Deep Feedforward Networks) 是一种典型的深度学习模型。 其目标为拟合某个函数f, 即定义映射y=f (x;θ)将输入x转化为某种预测的输出y, 并同时学习网络参数θ的值, 使模型得到最优的函数近似。 由于从输入到输出的过程中不存在与模型自身的反馈连接, 此类模型被称为“前馈”。

我们常见的多层感知机、 自编码器、限制玻尔兹曼机, 以及卷积神经网络等, 都是其中的成员

1.常用激活函数

激活函数是叠加在每一层线性变换之后的,是为了获得更强大的拟合能力(可以对线性不可分问题或函数进行拟合)。(可以避免多层网络等效于单层线性函数)

(1)Sigmoid函数

image-20220309171855483

(2)Tanh函数

image-20220309192528832

image-20220309193239113

image-20220309193224579

(3)ReLU函数

image-20220309193346445

image-20220309193354074

image-20220309193520680

(4)Sigmoid和Tanh函数的缺点

会导致梯度消失的问题,当z很大或者很小时,梯度会趋于0,并且结合反向传播原理,梯度从后向前传播时,每传递一层梯度值都会减小一定数值,如果神经网络隐层特别多,那么梯度在穿过多层后将变得非常小接近于0,即出现梯度消失现象。

(5)ReLU函数缺点

其训练过程中会导致神经元死亡的问题 ,这是由于ReLU函数导致负梯度在经过该ReLU单元时被置为0 ,且在之后也不被任何数据激活, 即流经该神经元的梯度永远为0, 在实际训练中, 如果学习率(Learning Rate) 设置较大, 导致在训练过程中参数更新太大(z<0时梯度为0),不幸使网络进入这种状态,会导致超过一定比例的神经元不可逆死亡, 进而参数梯度无法更新, 整个训练过程失败。解决方法是可以采用Xavier初始化权重方法,以及避免将learning rate设置太大或使用adagrad等自动调节learning rate的算法。

(6)ReLU函数变种

针对ReLU导致的神经元死亡的问题引入了Leaky ReLU

image-20220309195351005

LReLU与ReLU的区别在于,当z<0时其值不为0, 而是一个斜率为a的线性函数, 一般a为一个很小的正常数,这样既实现了单侧抑制, 又保留了部分负梯度信息以致不完全丢失。 但另一方面, a值的选择增加了问题难度, 需要较强的人工先验或多次重复训练以确定合适的参数值 。基于这个问题,参数化的PReLU(Parametric ReLU) 应运而生。 与LReLU的主要区别是将负轴部分斜率a作为网络中一个可学习的参数, 进行反向传播训练, 与其他含参数网络层联合优化。

2.反向传播算法

(Back Propagation)是训练神经网络的有效方法,是计算神经网络参数的梯度的方法。

在网络训练中, 前向传播最终产生一个标量损失函数, 反向传播算法(BackPropagation) 则将损失函数的信息沿网络层向后传播用以计算损失函数对每一个参数的梯度, 达到优化网络参数的目的。 具体步骤如下图所示:

image-20220310122004555

  • 遍历每一个样本,正向传播计算每一层的神经元的输出值(激活值)a以及最后一层输出与样本真实值之间的误差δ
  • 将最后一层的误差反向传播,计算前L-1层的误差值δ,第一层输入层不用计算
  • 然后将每个样本计算得到的关于每个参数的梯度值累加起来
  • 遍历结束,对于损失函数关于每个参数的梯度等于累加值的1/m,然后加上正则项梯度,(偏置参数不用加)

误差反向传播时每一层误差的计算公式以及损失函数对每一个参数的梯度计算公式如下:(单个样本,且没算正则项)

image-20220310142308318

关于公式的推导:

image-20220310154925791image-20220310154958230

3.多层感知机模型

(1)模型结构

最简单的深度神经网络称为多层感知机。多层感知机由多层神经元组成, 每一层与它的上一层相连,从中接收输入; 同时每一层也与它的下一层相连。

模型结构图如图所示:

image-20220310160354713

(2)前向传播

前相传播用来计算损失函数以及每一层的神经元激活值:下面的激活函数以sigmoid为例

image-20220310160656054

(3)损失函数

  • 以平方误差作为计算单个样本的损失函数时:

image-20220310160914018

  • 以交叉熵损失函数计算单个样本的损失值时:

image-20220310161214738

(4)更新参数

梯度下降结合反向传播算法来优化损失函数,更新多层感知机中的参数值。见第2部分反向传播算法。

4.卷积神经网络

卷积神经网络(Convolutional Neural Networks, CNN) 也是一种前馈神经网络, 其特点是每层的神经元节点只响应前一层局部区域范围内的神经元(全连接
网络中每个神经元节点响应前一层的全部节点) 。

卷积操作的本质包括稀疏交互(局部连接)和参数共享

(1)稀疏交互(局部连接)

在传统的神经网络中(全连接),任意一对输入与输出神经元之间都有交互(连接),如果输入是图片这种多特征的数据,会导致网络参数过大,不易训练并且容易过拟合。而在卷积神经网络中 ,每个输出神经元仅与前一层也定区域内的神经元存在连接权重(产生交互),我们成这个特性为稀疏交互(局部连接)

为什么可以局部连接?

通常图像、 文本、 语音等数据都具有局部的特征结构局部不变的特性), 我们可以先学习局部的特征, 再将局部的特征组合起来形成更复杂和抽象的特征。

以人脸识别为例, 最底层的神经元可以检测出各个角度的边缘特征, 位于中间层的神经元可以将边缘组合起来得到眼睛、鼻子、 嘴巴等复杂特征, 最后, 位于上层的神经元可以根据各个器官的组合检测出人脸的特征 。

image-20220311092210056

卷积神经网络输出神经元和权重与全连接有什么不同?

以输入的数据是图片为例:卷积网络中的权重是卷积核的参数,输出神经元是经过卷积层运算之后的输出图片(特征图)中的每一个"像素",就相当于全连接网络中的每个神经元的Z值,计算方法也是一样的(权重与该神经元相连接的输入神经元想乘再相加)。

(2)参数共享

在卷积神经网络中, 卷积核中的每一个元素(权重参数)将作用于每一次局部输入的特定位置上,那么这些不同的输入神经元有着相同的参数,这就是参数共享。 参数共享的物理意义是使得卷积层具有平移等变性。 假如图像中有一只猫,那么无论它出现在图像中的任何位置, 我们都应该将它识别为猫 。

(3)卷积运算和互相关运算的区别

互相关运算没有对卷积核进行反转。卷积神经网络中,卷积是为了进行特征提取,卷积核是否反转和其特征抽取能力无关,因此卷积和互相关运算在能力上是等价的,但是互相关运算比较方便,因此深度学习工具实际上用互相关来代替卷积操作。

(4)池化层(汇聚层)

常用的包括均值(特点是对背景的保留效果****更好 )和最大池化。最大池化则通过取邻域内特征的最大值来实现, 能够抑制网络参数误差造成估计均值偏移的现象, 特点是更好地提取纹理信息

池化操作作用是对特征进行选择降低特征数量,除了能显著降低参数量外, 还能够保持对平移、 伸缩、 旋转操作的不变性。 平移不变性是指输出结果对输入的小量平移基本保持不变。

5.深度残差网络

(Deep Residual Network, ResNet

是为了解决或者缓解深层网络训练中梯度消失的问题提出的。

(1)梯度消失问题

在运用反向传播算法进行神经网络参数优化时,误差传播到底层神经元上时,会涉及到非常多的参数和导数的连乘,根据梯度计算公式可知,低层神经元的参数梯度非常小,导致该层参数无法正确学习,这就是梯度消失问题。

(2)残差单元

image-20220311112316681

如果某一层的输出已经较好的拟合了期望结果, 那么多加入一层不会使得模型变得更差, 因为该层的输出将直接被短接到两层之后, 相当于直接学习了一个恒等映射, 而跳过的两层只需要拟合上层输出和目标之间的残差即可

残差网络就是将上面的残差单元串联起来构成的一个非常深的网络。

6.含并行连接的网络

主要介绍的是 Inception 块,重点是解决了什么样大小的卷积核最合适的问题。 毕竟,以前流行的网络使用小到1×11×1,大到11×1111×11的卷积核。 本文的一个观点是,有时使用不同大小的卷积核组合是有利的。

image-20220311113007520

GoogLeNet一共使用9个Inception块和全局平均汇聚层的堆叠来搭建网路。

二.循环神经网络

循环神经网络(Recurrent Neural Network, RNN) 是用来建模序列化数据(比如一段文字,一段话,一段视频等)的一种主流深度学习模型 。

传统的前馈神经网络一般的输入都是一个定长的向量, 无法处理变长的序列信息, 即使通过一些方法把序列处理成定长的向量, 模型也很难捕捉序列中的长距离依赖关系RNN则通过将神经元串行起来处理序列化的数据。 由于每个神经元能用它的内部变量保存之前输入的序列信息,因此整个序列被浓缩成抽象的表示, 并可以据此进行分类或生成新的序列。

RNN在很多领域应用广泛——机器翻译、序列标注、 图像描述、 推荐系统智能聊天机器人自动作词作曲

三.注意力机制

四.生成对抗网络

1.训练流程

image-20220312094508117

posted @   rain-1227  阅读(220)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示