卷积神经网络原理专题
本专栏旨在记录CNN常用的知识,内容较为基础,适用于小白阅读,文章来源和图片都已标明出处
毛毛真nice
首先祝大家在新的一年里学业进步、科研顺利!
去年目标已实现(CSDN总排名前4W),今年新目标,冲进前1W。博客内容主要还是SAR、深度学习等。同时,我也会在文章内容和结构上不断进行优化,为大家输出更优质的知识。
加油!
(项目代做和专业指导请联系QQ:1441504748,备注CSDN)
展开
-
模型集成方法
模型集成方法数据层面的集成方法测试阶段数据补充“简易集成”法模型层面的集成方法单模型集成多特征融合网络“快照”集成法多模型集成多模型生成策略多模型集成方法小结集成学习是机器学习中的一类学习算法,指训练多个学习器并将它们组合起来使用的方法。这类算法通常在实践中能取得比单个学习器更好的预测结果,颇有“众人拾柴火焰高”之意。尽管深度网络模型已经拥有强大的预测能力,但集成学习的使用仍能起到“锦上添花”的作用。因此有必要了解并掌握一些深度模型方面的集成方法。一般来讲,深度模型的集成多从“数据层面”和“模型层面”两方原创 2020-12-26 20:49:19 · 2029 阅读 · 0 评论 -
不平衡样本的处理
不平衡样本的处理数据层面处理方法数据重采样类别平衡采样算法层面处理方法代价敏感方法基于代价敏感矩阵的代价敏感基于代价敏感向量的代价敏感代价敏感中权重的指定方式按照样本比例指定根据混淆矩阵指定小结在机器学习的经典假设中往往假定训练样本各类别是样本数量即各类样本数目是均衡/平衡的,但是我们真实场景中遇到的实际任务却时常不符合这一假设。一般说来,不平衡的训练样本会导致训练模型侧重点样本数目较多的类别,而“轻视”样本数目较少类别,这样模型在测试数据上的泛化能力就会受到影响。为了进一步提升模型泛化能力、解决网络训练原创 2020-12-26 19:14:48 · 345 阅读 · 0 评论 -
超参数设定和网络训练技巧
网络超参数设定输入数据像素大小卷积层参数的设定汇合层参数的设定训练数据随机打乱学习率的设定批规范化操作其他方法搭建整个网络架构之前,需首先指定与网络结构相关的各项超参数:输入图像像素、卷积层个数、卷积核相关参数等。输入数据像素大小使用卷积神经网络处理图像问题时,对不同输入图像为得到同规格输出,同时便于GPU设备并行,会统一将图像压缩到2的n次幂大小。由于一般卷积神经网络采用全连接层作为最后分类层,若直接改变原始网络模型的输入图像分辨率。会导致原始模型卷积层的最终输出无法输入全连接层的状况,此时须重新原创 2020-12-24 23:21:15 · 906 阅读 · 0 评论 -
网络正则化
网络正则化L2正则化L1正则化最大范数约束随机失活验证集的使用总结机器学习的一个核心问题就是如何使学习算法[learning algorithm],不仅能在训练样本上表现良好,并且在新数据或测试集上同样奏效,学习算法在新数据上的这样一种表现我们称之为模型的“泛化性”或“泛化能力”[generalization ability]。若某学习算法在训练集上表现优异,同时在测试集上依然工作良好,可以说该学习算法有较强泛化能力;若某算法在训练集表现优异,但测试集却非常糟糕,我们说这样的学习算法并没有泛化能力,这种现原创 2020-12-24 22:35:15 · 1051 阅读 · 0 评论 -
目标函数
目标函数分类任务的目标函数交叉熵损失函数合页损失函数坡道损失函数大间隔交叉熵损失函数中心损失函数总结深度网络中的目标函数可谓是整个网络模型的“指挥棒”,目标函数也被称为“损失函数”或“代价函数”。通过样本的预测结果与真实标记产生的误差反向传播指导网络参数学习与表示学习。本文将介绍一些目标分类任务中的一些目标函数(因为我的研究方向更偏向于分类,所以有关回归的目标函数我就不在这里进行介绍)。另外,为了防止模型过拟合或达到其他训练目标——比如希望得到稀疏解,正则项通常作为对参数的约束也会加入到目标函数中一起指导原创 2020-12-22 23:26:21 · 3509 阅读 · 0 评论 -
激活函数
激活函数Sigmoid型函数tanh(x)型函数修正线性单元(ReLU)Leaky ReLU参数化ReLU随机化ReLU指数化线性单元小结“激活函数”,又称“非线性映射函数”,是深度卷积神经网络中不可或缺的关键模块。可以说,深度网络模型其强大的表示能力便是由激活函数的非线性带来的。本文将介绍七种当下深度卷积神经网络中常用的激活函数:Sigmoid型函数、tanh型函数、ReLU、LeakyReLU、参数化ReLU、随机化ReLU和指数化线性单元ElU。直观上,激活函数模拟了生物神经元特性,接受一组输入信原创 2020-12-22 22:57:19 · 178 阅读 · 0 评论 -
网络参数初始化
网络参数初始化全零初始化随机初始化其他初始化方法(推荐使用)总结神经网络一般依靠随机梯度下降法进行模型训练和参数更新,网络的最终性能与收敛得到的最优解直接相关,而收敛效果实际上又很大程度取决于网络参数最开始的初始化。理想的网络参数初始化使模型训练事半功倍,相反,糟糕的初始化方案不仅会影响网络收敛甚至会导致“梯度弥散”或“爆炸”致使训练失败。因此我们应选择合适的初始化方法。本文就具体来介绍常用的几种网络参数初始化方式。全零初始化通过合理的数据预处理和规范化,当网络收敛到稳定状态时,参数(权值)在理想情况原创 2020-12-22 21:49:23 · 1057 阅读 · 0 评论 -
数据预处理
在我们使用数据扩充技术获得了足够的训练样本之后,不要先急于开始模型训练,训练前,数据预处理操作时必不可少的一步。在机器学习中,对输入特征做归一化预处理操作是常见的步骤。类似的,在图像处理中,图像的每个像素信息同样可以看做一种特征。在实践中,对每个特征减去平均值来中心化数据是非常重要的这种归一化处理方式被称作“的中心式归一化”。卷积神经网络中的预处理通常是计算训练集图像像素均值,之后在处理训练集、验证集和测试集图像时需要分别减去该均值。减均值操作的原理是,我们默认自然图像是一类平稳的数据分布(即数据每一个维原创 2020-12-22 21:29:54 · 170 阅读 · 0 评论 -
数据扩充
数据扩充简单的数据扩充方式特殊的数据扩充方式Fancy PCA监督式数据扩充深度卷积网络自身拥有强大的表达能力,不过正因为如此,网络本身需要打咯昂甚至海量的数据来驱动模型训练,否则便有极大可能陷入过拟合的窘境。实际中数据扩充(data augmentation)便成为深度模型训练的第一步。有效的数据扩充不仅能扩充训练样本数量,还能增加训练样本的多样性,一方面可以避免过拟合,另一方面又会带来模型性能的提升。本文介绍目前几种常用有效的数据扩充技巧。简单的数据扩充方式在数据扩充方面,简单的方法有图像水平翻转原创 2020-12-20 21:04:10 · 1532 阅读 · 2 评论 -
卷积神经网络的压缩方法简介
卷积神经网络的压缩方法简介低秩近似剪枝与稀疏约束参数量化二值网络知识蒸馏紧凑的网络结构尽管卷积神经网络在诸如计算机视觉、自然语言处理等领域取得了出类拔萃的效果,但其动辄过亿的参数数量却使得诸多实际应用望而却步(特别是基于嵌入式设备的应用)。经典的VGG-16网络中,其参数数量达到了1亿3千多万。存储代价和计算代价都很大,严重制约了深度网络在移动端等小型设备上的应用。鉴于各种问题,神经网络的压缩逐渐成为当下深度学习领域的热门研究课题。研究者们提出了各种新颖的算法,在追求模型高准确度的同时,尽可能地降低其复原创 2020-12-20 19:48:24 · 1357 阅读 · 0 评论 -
CNN网络结构中的重要概念
CNN网络结构中的重要概念感受野分布式表示感受野感受野(receptive field)原指听觉、视觉等深井系统中一些神经元的特性,即神经元只接受其所支配的刺激区域内的信号。在视觉神经系统中,视觉皮层中神经细胞的输出依赖于视网膜上的光感受器。当光感受器受刺激兴奋时,会将神经冲动信号传导至视觉皮层。不过需要指出并不是所有神经皮层中的神经元都会接受这些信号。正是由于感受野等功能结构在猫的视觉中枢中的发现,催生了福岛邦彦带卷积和子采样操作的多层神经网络。现代卷积神经网络中的感受野又是怎么一回事呢?下面我们以原创 2020-12-20 14:16:55 · 253 阅读 · 0 评论 -
全连接层和目标函数
全连接层和目标函数全连接层目标函数全连接层全连接层在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、汇合层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学习到的特征表示映射到样本的标记空间的作用。在实际使用中,全连接层,可由卷积操作实现:1.对于前层是全连接的全连接层,可以将其转化为卷积核为1X1的卷积;2.对于前层是卷积层的全连接层,则可以将其转化为h*w的全局卷积,h和w分别为分别为前层卷积输出结果的宽和高。以经典的VGG-16网络模型为例,对于224x224x3原创 2020-12-19 22:45:18 · 304 阅读 · 2 评论 -
激活函数
激活函数概览Sigmoid函数ReLU函数激活函数(activation function)层又称非线性映射(non-linearity mapping)层,激活函数的引入为的是增加整个网络的表达能力(即非线性)。否则,若干线性操作层的堆叠仍然只能起到线性映射的作用,无法形成复杂的函数。在实际应用中,有多达十几种激活函数可以选择。本文就先讲讲Sigmoid 型函数和ReLU函数的优缺点。Sigmoid函数直观上,激活函数模拟了生物神经元特性:接受一组输入信号并产生输出。在神经科学中,生物神经元通常有一原创 2020-12-19 22:19:44 · 561 阅读 · 1 评论 -
神经网络中的汇合层(pooling layer)
汇合层什么是汇合汇合层操作的作用当第l层的操作为汇合时的情况。通常使用的汇合操作为平均值汇合和最大值汇合,需要指出的是,同卷积层操作不同,汇合层不包含需要学得的参数。使用时仅需指定汇合类型、汇合操作的核大小和汇合操作的步长等超参数即可。什么是汇合下面直接截图说明最大值汇合和平均值汇合操作的数学公式和图示:汇合层操作的作用从上面的例子可以发现,汇合操作后的结果相比其输入减小了,其实汇合操作实际上就是一种“降采样”(down-sampling)操作。另一方面,汇合操作也被看做一个p-范数作为非线性原创 2020-12-19 20:36:09 · 768 阅读 · 2 评论 -
神经网络中的卷积层
卷积层什么是卷积卷积操作的作用卷积层是卷积神经网络中的基础操作,甚至在网络最后起分类作用的全连接层在工程实现时也是由卷积操作替代的。什么是卷积卷积运算实际上是分析数学的一种运算方式,在卷积神经网络中通常仅涉及离散卷积的情形。下面以输入图像为5 X 5矩阵,其对应的卷积核(亦称卷积参数,convolution kernel或convolution filter)为一个3 X 3的矩阵。同时假定卷积操作时每做一次卷积,卷积核移动一个像素位置,即卷积步长为1。下面的图示能清楚地说明卷积操作,对于三原创 2020-12-17 19:07:11 · 707 阅读 · 0 评论 -
神经网络中“端到端”思想
深度学习的一个重要思想就是“端到端”的学习方式,属表示学习的一种。这是深度学习区别于其他机器学习算法的最重要的一个方面。其他机器学习算法,如特征选择算法、分类器算法、集成学习算法等,均假设样本特征是给定的,并在此基础上设计具体的机器学习算法,在深度学习时代之前,样本表示基本都使用人工特征,人工特征的优劣往往在很大程度上决定了最终的任务精度。这样便催生了一种特殊的机器学习分支——特征工程。在深度学习到来之前,特征工程在数据挖掘的工业界应用及计算机视觉应用都是非常重要和关键的环节。端到端的学习方式就是在整个学原创 2020-12-17 18:34:59 · 6176 阅读 · 0 评论 -
卷积神经网络应用领域和基本结构
卷积神经网络基础知识应用领域基本结构前馈运算反馈运算应用领域卷积神经网络是一类特殊的人工神经网络,区别于神经网络其他模型(如递归神经网络、Boltzmann机等),它最主要的特点是卷积运算操作(convolution operators)。因此,CNN 在诸多领域的应用特别是图像相关任务上表现优异,例如图像分类、图像语义分割、图像检索、物体检测等计算机视觉的问题,而我自己研究方向也是SAR图像识别与分类,所以跟这个类似。基本结构总体来说,卷积神经网络,是一种层次模型,其输入是原始数据,如RGB图像、原创 2020-12-17 11:04:14 · 3584 阅读 · 0 评论 -
深度学习中概念间的基本关系
对于刚入门深度学习和机器学习中的同学,可能对机器学习、表示学习和深度学习之间的关系有所困惑,这里我就总结了相关知识的概念和它们之间的关系示意图,希望对大家有所帮助!机器学习是人工智能的一个分支,它致力于研究如何通过计算的手段,利用经验来改善计算机系统自身的性能。通过从经验中获取知识,机器学习算法摒弃了人为向机器输入知识的操作,转而凭借算法知乎上呢学习到所需知识。对于传统机器学习算法,“经验”往往对应以“特征”形式存储的“数据”,传统机器学习算法所做的事情便是依靠这些数据产生“模型”。表示学习,人们尝试将原创 2020-12-17 10:08:25 · 319 阅读 · 0 评论