0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深度学习基本概念总结

汽车玩家 来源:CSDN 作者:HamTam12 2020-04-04 17:45 次阅读

卷积神经网络(CNN) 具有局部互联、权值共享、下采样(池化)和使用多个卷积层的特点。

局部互联 是指每个神经元只感受局部的图像区域,也就是卷积操作。

权值共享 是指当前层所有特征图共用一个卷积核,每个卷积核提取一种特征,参数量明显下降;使用多个卷积核可以提取多种特征。

下采样 每次对输入的特征图错开一行或一列,能够压缩特征图大小,特征降维,提取主要特征,将语义相似的特征融合,对平移形变不敏感,提高模型泛化能力。

使用多个卷积层 能够提取更深层次的特征,组合特征实现从低级到高级、局部到整体的特征提取。

卷积层 任务是检测前一层的局部特征,即用来进行特征提取,用不同的卷积核卷积得到不同的特征,通过多层卷积实现特征的组合,完成从低级到高级、局部与整体的特征提取。例如,图像先提取边缘特征,组合成形状特征,再得到更高级的特征;语音和文本具有相似特征,从声音到语音,再到音素、音节、单词、句子。

下采样(池化)层 对输入的特征图错开行或列,压缩特征图大小,降低参数量和计算复杂度,也对特征进行了压缩,提取主要特征,将语义相似的特征融合起来,对微小的平移和形变不敏感。包括平均池化和最大池化和随机池化,平均池化领域内方差小,更多的保留图像的背景信息,最大池化领域内均值偏移大,更多的保留图像的纹理信息,随机池化(Stochastic Pooling)则介于两者之间。

全连接层 将二维空间转化成一维向量,将全连接层的输出送入分类器或回归器来做分类和回归。

在卷积神经网络中,前面的卷积层的参数少但计算量大,后面的全连接层则相反,因此加速优化重心放在前面的卷积层,参数调优的重心放在后面的全连接层。

全卷积网络 将一般的卷积神经网络的全连接层替换成1x1的卷积层,使得网络可以接受任意大小的输入图像,网络输出的是一张特征图,特征图上的每个点对应其输入图像上的感受野区域。

多个3x3卷积比7x7卷积的优点在于,参数量减少并且非线性表达能力增强;1x1卷积的作用在于,可以用于特征降维与升维,各通道特征融合,以及全卷积网络(支持任意输入图像大小)。

深度神经网络具有从低级到高级、局部到整体的特征表达和学习能力,相比于浅层网络能更简洁紧凑的提取特征,但训练时容易发生过拟合、梯度弥散和局部极值的问题。

过拟合(Overfitting) 一般发生在数据量较少而模型参数较多时,其表现是模型在训练时变现的很好(error和loss很低)、但在测试时较差(error和loss较大),使得模型的泛化能力不行。归根结底是数据量不够多不够好,最好的办法是通过增加数据量(更多更全的数据、数据增广、数据清洗),还可以通过使用dropout、BN、正则化等来防止过拟合,训练时的trick是适当增加训练时的batchsize、适当降低学习率。

梯度弥散(Gradient Vanish) 是指在靠近输出层的隐层训练的好,但在靠近输入层的隐层几乎无法训练,是多层使用sigmoid激活函数所致(sigmoid函数在接近1的部分梯度下降的太快),用ReLu激活函数可以缓解这个问题。

局部极值 是指在训练深度网络时求解一个高度非凸的优化问题如最小化训练误差loss可能会得到坏的局部极值而非全局极值。采用梯度下降法也可能存在这种问题。

Dropout 是在训练时随机抛弃隐层中的部分神经元,在某次训练时不更新权值,防止过拟合(过拟合发生在模型参数远大于数据量时,而dropout变相的减少了模型参数),提高泛化能力,在全连接层使用。感觉是模仿了生物神经系统。Dropout使得随机抛弃的神经元既不参加前向计算,也不需要反向传播。

归一化(Normalization) 用于加速收敛,提高模型精度,包括LRN(Local Response Normalization)、BN(Batch Normalization)等,有助于模型泛化。

BN(Batch Normalization) 希望激活函数的输出尽量满足高斯分布,可以在全连接层后、激活层前加上BN,本质目的是促进模型收敛,降低初始值对模型训练的影响,提高模型精度和泛化能力。使用了BN,就不需要使用LRN(AlexNet中用到的局部响应归一化),也不需要过多的考虑权重初始值、Dropout和权重惩罚项的参数设置问题。

正则化(Regularization)包括L1、L2范数正则化,加入正则化惩罚项,能够防止过拟合,提高模型泛化能力。

梯度下降 包括批量梯度下降、随机梯度下降。可以比作下山问题,下山方向永远是梯度下降最快的方向,学习率即下山的步长。

批量梯度下降 每次迭代使用全部训练样本来计算损失函数和梯度,来更新模型参数。每次迭代都朝着正确的方向进行,保证收敛于极值点(也可能是局部极值点。.),但迭代太慢,计算冗余,消耗大量内存。

随机梯度下降 实际上是小批量梯度下降,每次迭代随机使用小批量例如k个训练样本计算损失函数和梯度,来更新模型参数。每次迭代不一定会朝着正确方向进行,可能会有波动,但也会收敛于极值点,即保证收敛性又保证收敛速度。

激活函数 主要有ReLu激活函数、Sigmoid激活函数、Tanh激活函数。它们都是非线性激活函数(ReLu是规整化线性函数),比线性激活函数具有更强的特征表达能力。Sigmoid函数的x越大,导数越接近0,反向传播到远离输出层时容易出现梯度弥散,现在一般用ReLu用作激活函数来防止梯度弥散。

数据预处理 数据归一化(去均值归一化)、PCA主成分分析、ZCA白化。数据归一化的好处在于使得训练数据和测试数据具有一致的数据分布,增强模型的泛化能力。

PCA主分量分析 用于数据降维和降低特征间相关度,需要特征均值接近0且各特征的方差接近,因此需要先做去均值,一般情况下都不需要做方差归一化。

ZCA白化 用于降低特征冗余度(不降维),需要特征间相关度较低且特征具有相同的方差,因此ZCA白化一般是在PCA白化的基础上做的,可以看做是各个特征的幅度归一化。

图像处理与数据增广 颜色转换、对比度拉伸、直方图均衡、局部直方图均衡、加随机噪声、平移、缩放、旋转、镜像、投影变换、随机裁剪等。

如何提高深度学习算法性能?

1.通过数据

更多的数据样本

数据的代表性、全面性

数据预处理

图像处理与数据增广

数据清洗

难例

2.通过算法

选择合适的网络模型(包括网络结构和网络参数)

在已有模型上进行fine-tune

dropout、normalization、正则化

合理调节训练参数(学习率、batchsize等)

根据具体应用场景还可能需要修改损失函数

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 卷积
    +关注

    关注

    0

    文章

    95

    浏览量

    18409
  • 深度学习
    +关注

    关注

    73

    文章

    5235

    浏览量

    119893
收藏 人收藏

    评论

    相关推荐

    什么是深度学习?机器学习深度学习的主要差异

    2016年AlphaGo 击败韩国围棋冠军李世石,在媒体报道中,曾多次提及“深度学习”这个概念
    的头像 发表于 01-15 10:31 487次阅读
    什么是<b class='flag-5'>深度</b><b class='flag-5'>学习</b>?机器<b class='flag-5'>学习</b>和<b class='flag-5'>深度</b><b class='flag-5'>学习</b>的主要差异

    接地装置的基本概念

    接地装置的基本概念
    的头像 发表于 12-05 15:49 247次阅读
    接地装置的<b class='flag-5'>基本概念</b>

    工程师必看!电路基本概念有哪些?

    工程师必看!电路基本概念有哪些?
    的头像 发表于 11-30 09:31 309次阅读
    工程师必看!电路<b class='flag-5'>基本概念</b>有哪些?

    C语言的基本概念和编程技术

    电子发烧友网站提供《C语言的基本概念和编程技术.pdf》资料免费下载
    发表于 11-20 10:18 0次下载
    C语言的<b class='flag-5'>基本概念</b>和编程技术

    OFDM的基本原理和PAPR的基本概念

    电子发烧友网站提供《OFDM的基本原理和PAPR的基本概念.pdf》资料免费下载
    发表于 10-25 09:57 0次下载
    OFDM的基本原理和PAPR的<b class='flag-5'>基本概念</b>

    天线的几个基本概念

    电子发烧友网站提供《天线的几个基本概念.ppt》资料免费下载
    发表于 10-07 16:17 0次下载
    天线的几个<b class='flag-5'>基本概念</b>

    机器学习深度学习的区别

      机器学习深度学习是当今最流行的人工智能(AI)技术之一。这两种技术都有助于在不需要人类干预的情况下让计算机自主学习和改进预测模型。本文将探讨机器
    发表于 08-28 17:31 1037次阅读

    OpenCV库在图像处理和深度学习中的应用

    本文深入浅出地探讨了OpenCV库在图像处理和深度学习中的应用。从基本概念和操作,到复杂的图像变换和深度学习模型的使用,文章以详尽的代码和解
    的头像 发表于 08-18 11:33 485次阅读

    什么是深度学习算法?深度学习算法的应用

    什么是深度学习算法?深度学习算法的应用 深度学习算法被认为是人工智能的核心,它是一种模仿人类大脑
    的头像 发表于 08-17 16:03 1466次阅读

    深度学习基本概念

    深度学习基本概念  深度学习是人工智能(AI)领域的一个重要分支,它模仿人类神经系统的工作方式,使用大量数据训练神经网络,从而实现自动化的模
    的头像 发表于 08-17 16:02 1145次阅读

    时序分析Slew/Transition基本概念介绍

    今天要介绍的时序分析基本概念是Slew,信号转换时间,也被称为transition time。
    的头像 发表于 07-05 14:50 1681次阅读
    时序分析Slew/Transition<b class='flag-5'>基本概念</b>介绍

    介绍时序分析的基本概念lookup table

    今天要介绍的时序分析基本概念是lookup table。中文全称时序查找表。
    的头像 发表于 07-03 14:30 753次阅读
    介绍时序分析的<b class='flag-5'>基本概念</b>lookup table

    线性度的基本概念(1dB压缩点,IP3,OP3)

    最近再次温故线性度的相关基本概念,收益匪浅,同时对失真进行深入的研究和学习,分享下心得。本文主要介绍下线性度的基本概念,包括1dB压缩点,IP3,OP3。
    的头像 发表于 07-03 11:29 2395次阅读
    线性度的<b class='flag-5'>基本概念</b>(1dB压缩点,IP3,OP3)

    Linux内核实现内存管理的基本概念

    本文概述Linux内核实现内存管理的基本概念,在了解基本概念后,逐步展开介绍实现内存管理的相关技术,后面会分多篇进行介绍。
    发表于 06-23 11:56 521次阅读
    Linux内核实现内存管理的<b class='flag-5'>基本概念</b>

    德索讲解LVDS线束的基本概念

    德索精密工业工程师指出,线束(circuit group)为一定负载源组提供服务设备的总体,如中继线路、交换装置、控制系统等。话务理论的基本研究内容是研究话务量、呼损和线束容量三者之间的关系,因此线束是话务理论中一个重要的基本概念
    的头像 发表于 06-12 09:25 2724次阅读
    德索讲解LVDS线束的<b class='flag-5'>基本概念</b>