神经网络深度学习《笔记》

神经网络模型

1.CNN

CNN(Convolutional Neural Network,卷积神经网络)常用于处理图像和视频数据,通过卷积层、池化层等多个特殊的神经网络层将输入数据映射到输出层,以实现图像分类、物体检测、图像分割等任务。

CNN模型具有局部连接、权值共享和多层结构等特点,能够有效提取输入数据中的空间信息和特征,具有较好的鲁棒性和泛化能力。

CNN在计算机视觉、医疗诊断、自动驾驶等领域有着广泛的应用。

 

 

1.1 LeNet

发布最早的卷积神经网络之一。

5层:2个卷积层 3个全连接层。(手写数字识别)

该网络中,第一个卷积层有六个不同的卷积核,每个卷积核都将接收输入图片并对其进行卷积操作和激活,得到特征图的一个通道的输出,所以多个卷积核可以改变特征图的通道数。汇聚层(池化层)不能改变通道数,也没有参数可以学习,只能缩小特征图的尺寸。第二个汇聚层的输出展平成向量后输入全连接层,经过三个全连接层的计算后输出10种可能结果的概率。

概率最大的输出类别即为该网络给出答案。

 

它的优点在于网络结构简单,运算速度快,但对于复杂的图像识别任务而言,效果较为有限。

1.2 AlexNex

更深更大的LeNet

改进:丢弃法、ReLU、MaxPooing

进入新纪元,进入到深度学习模型提取特征时代。

 

1.3 VGG

VGGNet也是在前两种卷积网络上的扩展,它是第一个对卷积层进行抽象的网络。

VGG将多个卷积层和其后的汇聚层打包起来,称作块。网络设计者在设计时可以自由选取块,像搭积木一样用各种块搭出一个网络。

VGG模型的主要特点是通过多次使用3×3的卷积核和池化操作,构建了一个由16或19个卷积层组成的深度神经网络。

原始VGG网络有5个卷积块,其中前两个块各有⼀个卷积层,后三个块各包含两个卷积层。第⼀个模块有64个输出通道,每个后续模块将输出通道数量翻倍,直到该数字达到512。由于该网络使用8个卷积层和3个全连接层,因此它通常被称为VGG-11。

优点:

  1. 参数共享:VGG模型具有非常好的参数共享性质,使得模型具有很好的鲁棒性和泛化能力。

  2. 结构简单:VGG模型结构简单,易于理解和实现,因此它被广泛应用于训练和调试深度神经网络的过程中。

  3. 提高精度:由于VGG模型具有较深的网络结构,因此可以提高模型的精度,尤其是在对复杂问题的分类和定位方面,VGG模型表现出非常好的效果。

尽管VGG模型取得了很好的结果,但它也存在一些缺点:

  1. 计算复杂性高:由于VGG模型深度较大,参数量较大,因此需要更高的计算资源,GPU加速对于VGG模型的训练效果非常显著。

  2. 所需存储空间大:由于VGG模型的深度较大,因此需要更多的存储空间,这是训练和部署VGG模型需要考虑的一个重要问题。

  3. 容易出现过拟合:由于VGG模型的结构较为深层,因此在训练过程中容易出现过拟合的问题,需要使用正则化等技巧进行缓解。

广泛应用于图像识别、计算机视觉等领域

1.4 GoogLeNet

GoogLeNet采用一种叫Inception的块结构,称为Inception块——减少参数量和提高精度,使得网络具有更高的效率与效果。

GoogLeNet是迄今为止最经典的CNN模型之一,具有良好的识别能力和速度。

 

1.5 ResNet

2d卷积核和3D卷积核

ResNet(Residual Neural Network,残差神经网络)是由微软研究院的何凯明等人于2015年提出的深度神经网络模型。

ResNet通过引入残差连接(Residual Connection),使得深层网络可以更好地学习到输入与输出之间的映射函数,同时也解决了深度神经网络中梯度消失和梯度爆炸的问题,使得网络可以更深更准确地训练。

ResNet的主要特点是在网络中引入了残差块(Residual Block),即在网络的某一层中,将输入的信息不仅仅传给下一层,同时也将未经过某些操作的输入信息直接“跳过”当前层,传输给再下一层,以此提高了网络的准确度和训练速度。

这种残差连接的方式可以减轻信息在深层网络中传递时的衰减,并且可以扩展深层网络的深度。

 

 

广泛应用于物体检测、图像分割和人脸识别等领域。

缺点:

  1. 训练非常困难:由于ResNet中有多个残差块,因此存在梯度消失和梯度爆炸等问题,导致模型训练非常困难。

  2. 模型复杂度高:ResNet模型由于引入了大量的残差块,网络的参数较多,造成计算资源和存储资源的浪费。

  3. 过拟合:ResNet中引入残差连接,容易造成过拟合现象,需要对网络进行额外的正则化或剪枝等处理。

1.6 DenseNet

DenseNet是ResNet的扩展,如果ResNet意味着函数可以在网络中被拆成f(x)=x+g(x),那么是否意味着一个函数也可以被拆成超过两部分?DenseNet就是基于这一思路而诞生的。

 

稠密⽹络主要由2部分构成:稠密块(dense block)和过渡层(transition layer)。前者定义如何连接输⼊和

输出,⽽后者则控制通道数量,使其不会太复杂

2.RNN

RNN(Recurrent Neural Network,循环神经网络)常用于处理序列数据,如语音、文本、时间序列等,通过循环层在时间维度上对数据进行建模,以实现语音识别、自然语言处理、机器翻译等任务。

RNN模型可以捕捉到输入数据之间的时间依赖关系,可以实现输入、输出、记忆三个方向的信息流动,具有较好的建模能力和解释性。

RNN推广包括LSTM和GRU,通过引入门控机制进一步改进了模型,避免了梯度消失和爆炸的问题,并提升了模型性能。

RNN模型在计算机视觉、自然语言处理、语音识别等领域有着广泛的应用。

2.1 GRU

GRU(Gated Recurrent Unit,门控循环单元)是一种特殊的循环神经网络(RNN)结构(2014)

 

与RNN相比,GRU不需要在每个时间步都保存完整的细胞状态,而是采用门控机制来控制细胞状态的流动。

主要特点 :引入了两个门控单元(重置门更新门)来决定当前状态是否需要更新和保留历史状态中的哪些信息。重置门控制历史状态中应该保留多少信息,更新门控制将要输入的信息比重。

GRU模型计算简单,参数较少,因此训练速度快,同时也可以缓解梯度消失和梯度爆炸的问题。

优点:

  1. 有效防止梯度消失:GRU将过去信息的累计设置为了两个门控,使得其结构对梯度传递变得更加鲁棒。

  2. 网络结构简单:GRU相对于其他循环神经网络有较少的参数量,减轻了运算量和存储量,同时便于应用和调试。

  3. 训练速度快:由于GRU的结构和参数较少,训练速度较快,可以减少训练时间和资源成本。

GRU模型也具有以下缺点:

  1. 比较难以调参:GRU模型的门控单元数量较多,参数相对复杂,常常需要进行反复的参数调整和优化。

  2. 模型存在决定论:GRU模型的状态信息只能按照设定的门控比例进行分配,具有一定的决定论因素,对于一些复杂的时间序列数据处理任务可能存在局限性。

2.2 LSTM

LSTM(Long Short-Term Memory,长短时记忆网络)是一种常见的循环神经网络(RNN)的变体,由Hochreiter和Schmidhuber于1997年提出。

它主要通过引入输入门遗忘门输出门等机制,解决了传统RNN梯度消失问题,能够更好地捕捉长期时间序列的依赖关系。

 

LSTM在序列任务中表现出了非常优异的性能,并在机器翻译、语音识别、自然语言处理等领域得到广泛应用。

优点包括能够处理长期依赖性,能够保留历史信息,可对决定权进行控制

缺点则包括参数繁多,计算复杂度高。

2.3 Seq2Seq

Seq2Seq(Sequence-to-Sequence,序列到序列模型)模型是一种常见的深度学习模型,由Google在2014年提出,主要用于处理输入和输出都是序列的问题,如机器翻译、对话生成、文本摘要等。

Seq2Seq模型主要由编码器解码器两部分组成,其中编码器将输入序列编码为语义向量,解码器通过语义向量生成输出序列。

Seq2Seq模型具有一定的灵活性和鲁棒性,能够较好地处理长序列和复杂的语义信息,且能够实现端到端训练和推理。

优点:处理输入输出都是序列的任务能力强,具有灵活性和鲁棒性,可用于多种语言和领域

缺点:对于长序列的处理较为困难,需要大量的训练数据支持,其输入和输出之间存在位置偏移,编码器输出的语义向量可能存在信息缺失问题。

综上,CNN适用于处理图像和视频数据,RNN适用于处理序列数据。当然,实际应用中也可以将CNN与RNN结合起来,以处理决策的空间和时间特性的问题,如视频中的动作识别和时间序列数据的分类与预测。

3.注意力机制

注意力机制是一种用于处理序列数据的技术,可以将输入序列中的有关信息集中在一起,并选择性地处理不同区域的信息,从而产生更为准确和高效的输出。

注意力机制的主要思想是为每个输入来计算一个权重,这个权重表示输入对输出的重要程度。这个权重由一个关注度(Attention)函数来计算,该函数会为每个输入产生一个分数,最后经过 softmax 函数归一化后得到权重。

优点 :

能够更加精准和高效地处理输入序列,从而产生更为准确和高质量的输出。

注意力机制相对于传统的机器学习算法,表现出更强的解释性,能够直观地表现出不同输入之间的重要程度。

缺点:

计算复杂度相对较高,对计算硬件的要求更高,部署在嵌入式系统上的难度相对较大。

3.1 Transformer(2017)

Transformer 是一种基于注意力机制的神经网络结构,用于解决自然语言处理中输入输出序列长度不同的问题,主要应用于机器翻译领域。

它相较于 RNN 等模型,最主要的优势即为其高度的并行化能力,不仅计算效率高,同时还可以处理序列之间的长距离依赖关系,从而提升了模型的准确性。

Transformer 由一个编码器和一个解码器组成,其中编码器和解码器都是由自注意力机制和前馈神经网络模块构成的。自注意力机制可以计算序列中任意两个位置之间的依赖关系,并且在这个过程中,还被计算了每个位置与其它位置之间的相对重要度。

 

优点:

可以有效地捕捉序列数据之间复杂的依赖关系,能够处理输入与输出序列长度不同的问题

具有良好的并行化能力和扩展性。

缺点:

计算复杂度较高,需要更高的计算和存储资源

需要大规模的数据去训练。

在序列数据较长时,Transformer 模型处理序列中语义信息的质量会降低,会存在一定的信息损失的问题。

4.优化算法

4.1 adma (2014)

Adam算法是一种常用于深度学习训练的自适应优化算法。

采用了一系列自适应调整学习率的策略,可以自动调整学习率,适应不同的参数及其更新状态,从而更好地优化神经网络模型。

Adam算法的主要思想是基于梯度的一阶矩(均值)和二阶矩(方差)估计来更新每个参数的自适应学习率。

解释:Adam算法通过维护每个参数的梯度的移动平均值和梯度平方值的移动平均值来刻画该参数的一阶和二阶统计信息,然后根据这些信息自适应地调整每个参数的学习率,并使用动量来跟踪全局梯度变化趋势。

优点

1.自适应性:Adam能够自适应调整学习率,适应不同的参数及其更新状态,能在不同的迭代轮次下保证梯度收敛。

2.快速适应:Adam算法不仅可以维护之前的梯度信息,也可以维护之前的参数更新信息,能够快速适应不同的数据集和训练样本。

3.理论优美:Adam算法基于上述梯度均值与方差推导而来,可以缓解学习率的选择问题,并且在理论上被证明收敛性较好。

缺点:

1.不同步性:Adam算法不可能对所有参数使用相同的学习率,因此不同参数可能会使用不同的学习率,从而导致一些参数收敛较慢。

2.没有自适应学习率的理论保证:Adam的一些学习率调整策略是直接基于经验而来,没有严谨的理论分析。

3.对于小批量数据情况下效果欠佳:Adam算法在处理小批量数据时可能出现欠拟合等问题,因为批量数据太小,可能无法准确反映梯度方向。

5.计算机视觉CV

5.1 目标检测 object detection

也称作目标识别(object recognition)

发展历程:

传统机器学习目标检测方式大致是分三步的:

  1. 区域提取 2. 求取特征 3. 特征过分类器

新:用深度学习的方法去求取特征和分类

5.1.1 SSD

SSD全称Single Shot MultiBox Detection(单发多框检测),是一种单阶段的目标检测算法,可以在单个CNN中完成目标检测和定位。

 

SSD主要思路是在网络中加入多个特征层,将每个特征层看作一个具有不同尺度和宽高比的锚点,通过利用锚点对不同尺度和形状的目标进行检测和定位,从而提高了检测的效率和准确性

优点:

  1. 高效性:SSD可以在单个CNN中完成目标检测和定位,而传统的目标检测算法通常需要多个阶段的处理,SSD通过减少运算量提高了检测的效率。

  2. 准确性:通过融合多个特征层提取的特征向量,SSD可以有效地检测不同尺度和形状的目标,并且对大目标的检测效果较好。

  3. 理论基础:SSD利用多尺度特征检测目标可以在保证高检测性能的同时,减小目标分类和位置回归误差的计算复杂度。

  4. 适用范围广:SSD可用于多个应用场景,如行人检测、人脸检测和车辆检测等。

缺点:

1.尺度限制:虽然SSD可以检测多种尺度的目标,但其对检测很小的目标有一定难度,因为小目标的特征在提取时很容易丢失。

2.多尺度目标效果不稳定:在多特征融合过程中,对于多尺度的目标效果不同,因此会存在一定的效果波动。

3.在线硬负样本挖掘:为了解决负样本与正样本不平衡的问题

5.1.2 R-CNN 

R-CNN(区域卷积神经⽹络(region-based CNN))是一种经典的基于区域的卷积神经网络(CNN)目标检测算法,擅长检测较小的物体。

R-CNN的具体实现包括以下步骤:

  1. 对输⼊图像使⽤选择性搜索来选取多个⾼质量的提议区域 (Uijlings et al., 2013)。这些提议区域通常是

在多个尺度下选取的,并具有不同的形状和⼤⼩。每个提议区域都将被标注类别和真实边界框;

  1. 选择⼀个预训练的卷积神经⽹络,并将其在输出层之前截断。将每个提议区域变形为⽹络需要的输⼊

尺⼨,并通过前向传播输出抽取的提议区域特征;

  1. 将每个提议区域的特征连同其标注的类别作为⼀个样本。训练多个⽀持向量机对⽬标分类,其中每个

⽀持向量机⽤来判断样本是否属于某⼀个类别;

  1. 将每个提议区域的特征连同其标注的边界框作为⼀个样本,训练线性回归模型来预测真实边界框。

5.1.3 Fast R-CNN

是对R-CNN的改进版本,其主要创新是引入了RoI池化(Region of Interest Pooling)层,能够从不同大小的目标提议中提取固定大小的特征图,提高了检测速度和准确率。

先用cnn抽取特征,然后作锚框抽取(select search)

5.1.4 Faster R-CNN

目前最快的深度学习人脸检测算法之一,

引入了RPN(Region Proposal Network)模块,可以直接从特征图中生成目标提议框,并将此模块与Fast R-CNN结合,实现了端到端的人脸检测。

未完待续,粗略总结于《动手学深度学习》,图片来自于此书,学习于B站:跟李沐学AI

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值