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

    浏览量

    18509
  • 深度学习
    +关注

    关注

    73

    文章

    5503

    浏览量

    121152
收藏 人收藏

    评论

    相关推荐

    自然语言处理与机器学习的关系 自然语言处理的基本概念及步骤

    Learning,简称ML)是人工智能的一个核心领域,它使计算机能够从数据中学习并做出预测或决策。自然语言处理与机器学习之间有着密切的关系,因为机器学习提供了一种强大的工具,用于从大量文本数据中提取模式和知识,从而提高NLP系
    的头像 发表于 12-05 15:21 468次阅读

    NPU在深度学习中的应用

    设计的硬件加速器,它在深度学习中的应用日益广泛。 1. NPU的基本概念 NPU是一种专门针对深度学习算法优化的处理器,它与传统的CPU和G
    的头像 发表于 11-14 15:17 552次阅读

    Linux应用编程的基本概念

    Linux应用编程涉及到在Linux环境下开发和运行应用程序的一系列概念。以下是一些涵盖Linux应用编程的基本概念
    的头像 发表于 10-24 17:19 229次阅读

    socket的基本概念和原理

    的通信。它是一个抽象的概念,用于表示网络中的一个通信实体。在计算机网络中,Socket允许应用程序通过网络发送和接收数据。Socket的概念最早由UNIX操作系统引入,后来被广泛应用于各种操作系统和编程语言中。 2. Socket的基本
    的头像 发表于 08-16 10:51 1157次阅读

    AI入门之深度学习基本概念

    1、什么是深度学习 1.1、机器学习    图1:计算机有效工作的常用方法:程序员编写规则(程序),计算机遵循这些规则将输入数据转换为适当的答案。这一方法被称为符号主义人工智能,适合用来解决定
    的头像 发表于 08-08 11:24 1941次阅读
    AI入门之<b class='flag-5'>深度</b><b class='flag-5'>学习</b>:<b class='flag-5'>基本概念</b>篇

    BP网络的基本概念和训练原理

    )的多层前馈神经网络。BP网络自1985年提出以来,因其强大的学习和适应能力,在机器学习、数据挖掘、模式识别等领域得到了广泛应用。以下将对BP网络的基本概念、训练原理及其优缺点进行详细阐述。
    的头像 发表于 07-19 17:24 1617次阅读

    卷积神经网络的基本概念、原理及特点

    基本概念、原理、特点以及在不同领域的应用情况。 一、卷积神经网络的基本概念 卷积神经网络是一种深度学习算法,它由多层卷积层和池化层堆叠而成。卷积层负责提取图像中的局部特征,而池化层则
    的头像 发表于 07-11 14:38 1048次阅读

    迁移学习基本概念和实现方法

    迁移学习(Transfer Learning)是机器学习领域中的一个重要概念,其核心思想是利用在一个任务或领域中学到的知识来加速或改进另一个相关任务或领域的学习过程。这种方法在数据稀缺
    的头像 发表于 07-04 17:30 1647次阅读

    循环神经网络的基本概念

    循环神经网络的基本概念、循环机制、长短时记忆网络(LSTM)、门控循环单元(GRU)等方面进行介绍。 循环神经网络的基本概念 循环神经网络是一种时间序列模型,其基本思想是将序列数据中的每个元素(例如,单词、时间点等)作为输入,通过循环结构将前一个时间步的
    的头像 发表于 07-04 14:31 683次阅读

    人工智能、机器学习深度学习是什么

    在科技日新月异的今天,人工智能(Artificial Intelligence, AI)、机器学习(Machine Learning, ML)和深度学习(Deep Learning, DL)已成为
    的头像 发表于 07-03 18:22 1288次阅读

    深度学习与卷积神经网络的应用

    到自然语言处理,深度学习和CNN正逐步改变着我们的生活方式。本文将深入探讨深度学习与卷积神经网络的基本概念、工作原理及其在多个领域的应用,并
    的头像 发表于 07-02 18:19 906次阅读

    卷积神经网络的基本概念和工作原理

    卷积神经网络(Convolutional Neural Network, CNN)是深度学习中非常重要的一类神经网络,主要用于图像识别、图像分类、物体检测等计算机视觉任务。CNN以其独特的结构
    的头像 发表于 07-02 18:17 3718次阅读

    深度神经网络模型cnn的基本概念、结构及原理

    深度神经网络模型CNN(Convolutional Neural Network)是一种广泛应用于图像识别、视频分析和自然语言处理等领域的深度学习模型。 引言 深度
    的头像 发表于 07-02 10:11 9741次阅读

    串口通信的基本概念

    串口通信(Serial Communications)的基本概念可以归纳为以下几个方面:
    的头像 发表于 06-12 09:28 636次阅读
    串口通信的<b class='flag-5'>基本概念</b>

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

    2016年AlphaGo 击败韩国围棋冠军李世石,在媒体报道中,曾多次提及“深度学习”这个概念
    的头像 发表于 01-15 10:31 1071次阅读
    什么是<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>的主要差异