-
2020-08-26 16:22:36
原文链接:https://www.cnblogs.com/chamie/p/5579884.html
神经网络基本类型
神经网络的基本类型与学习算法:
目前已有的数十种神经网络模型,按网络结构划分可归纳为三大类:前馈网络、反馈网络和自组织网络。
前馈神经网络则是指神经元分层排列,分别组成输入层、中间层和输出层。每一层的神经元只接受来自前一层神经元的输入,后面的层对前面层没有信号反馈。输入模式经过各层的顺序传播,最后在输出层上得到输出。这类网络结构通常适于预测、模式识别及非线性函数逼近,一般典型的前向神经网络基于梯度算法的神经网络如BP网络,最优正则化方法如SVM,径向基神经网络和极限学习机神经网络。
反馈网络又称回归网络,输入信号决定反馈系统的初始状态,系统经过一系列状态转移后逐渐收敛于平衡状态,因此,稳定性是反馈网络最重要的指标之一,比较典型的是感知器网络、Hopfield神经网络、海明祌经网络、小波神经网络双向联系存储网络(BAM)、波耳兹曼机。
自组织神经网络是无教师学习网络,它模拟人脑行为,根据过去经验自动适应无法预测的环境变化,由于无教师信号,这类网络通常采用竞争原则进行网络学习。
其他文章:
https://baijiahao.baidu.com/s?id=1656767454769642971&wfr=spider&for=pc
http://www.360doc.com/content/17/0604/12/43851902_659777911.shtml
https://www.sohu.com/a/227750314_642183
更多相关内容 -
人工神经网络种类
2018-02-20 10:02:29人工神经网络种类 -
【深度学习】每个数据科学家都必须了解的 6 种神经网络类型
2021-03-26 00:36:39神经网络是强大的深度学习模型,能够在几秒钟内合成大量数据。有许多不同类型的神经网络,它们帮助我们完成各种日常任务,从推荐电影或音乐到帮助我们在线购物。与飞机受到鸟类启发的方式类似,神经网络...神经网络是强大的深度学习模型,能够在几秒钟内合成大量数据。有许多不同类型的神经网络,它们帮助我们完成各种日常任务,从推荐电影或音乐到帮助我们在线购物。
与飞机受到鸟类启发的方式类似,神经网络(NNs)也受到生物神经网络的启发。虽然原理相同,但过程和结构可能大不相同。下面我来介绍一下每个数据科学家必须了解的 6 种神经网络类型。
神经网络的6种基本类型
现在,我们了解神经网络是如何工作的,让我们看看深度学习中使用的神经网络的各种类型和功能:
感知器
多层感知器
卷积神经网络
循环神经网络
长期短期记忆网络
生成对抗网络
1、感知器
感知器是最简单的神经网络结构。此模型也称为单层神经网络,仅包含两个层:
输入层
输出层
这里没有隐藏的图层。感知器采用输入并计算每个输入节点的加权输入。此加权输入通过激活函数生成输出。
由于体系结构简单,它不能用于复杂的任务。
2、多层感知器
多层感知器(MLP)通常表示完全连接的网络。换句话说,一个层中的每个神经元都连接到相邻层中的所有神经元。因此,MLP 具有比感知器更高的处理能力。但是,这些网络的"完全连接性"使得它们容易出现数据过度拟合。减少过度拟合的典型方法包括提前停止、添加辍学层和添加正则化术语。
3、卷积神经网络
人类使用眼睛中的神经元来识别物体,这些神经元可以检测边缘、形状、深度和运动。卷积神经网络(CNN)是计算机视觉中最重要的神经网络类型之一,其灵感来自眼睛的视觉皮层,用于物体检测等视觉任务。CNN 的卷积层是它与其他神经网络区别开来的地方。此层执行点产品,即组件乘法,然后是加法。
在 CNN 的初始阶段,筛选器是随机的,不会提供任何有用的结果。使用损耗函数,调整筛选器,通过多次迭代,网络在实现其任务(例如检测对象边缘)方面更上一个。尽管 CNN 通常需要大量的训练数据,但它们广泛适用于各种图像甚至语言任务。
CNN的灵感来自视觉皮层,因此它们广泛用于涉及计算机视觉应用的应用。这些应用包括面部识别、人脸检测、物体识别、手写信件识别和医疗诊断中肿瘤的检测。
4、循环神经网络
当我们阅读特定的章节时,我们并不试图孤立地理解它,而是与前几章有关。同样,就像自然神经网络一样,机器学习模型需要利用已经学习的文本来理解文本。
在传统的机器学习模型中,这是不可能的,因为我们不能存储模型的前几个阶段。但是,循环神经网络(通常称为 RNN )是一种神经网络类型,可以为我们做到这一点,这使得它们对于需要使用过去数据的应用程序非常有用。让我们仔细看看下面的 RNN。
循环神经网络是旨在解释时态或顺序信息的网络。RNN 使用序列中的其他数据点进行更好的预测。他们通过输入和重用序列中以前节点或以后节点的激活来影响输出来达到此目的。
RNN 通常用于连接序列应用,如时间序列预测、信号处理和手写字符识别。此外,RNN广泛应用于音乐生成、图像字幕和预测股市波动
5、长期短期记忆网络
在 RNN 中,我们只能保留最近阶段的信息。但对于像语言翻译这样的问题,我们需要更多的保留。这就是 LSTM 网络擅长的地方。
为了学习长期依赖性,我们的神经网络需要记忆能力。LSTM 是 RNN 的一个特例,可以做到这一点。它们具有与 RNN 相同的链式结构,但具有不同的重复模块结构。这种重复模块结构允许网络保留大量上一阶段值。
我已经提到LSTM网络对于语言翻译系统的强大功能,但它们有广泛的应用。其中一些应用程序包括序列到序列建模任务,如异常检测、语音识别、文本总结和视频分类。
6、生成对抗网络
给定训练数据,生成对抗网络(或简单地说,GAN)会学习使用与训练数据相同的统计信息生成新数据。例如,如果我们在照片上训练一个 GAN 模型,那么训练有素的模型将能够生成类似于输入照片的新照片。
GAN 包含两个部分:一个生成器和一个鉴别器。生成器模型创建新数据,而鉴别器尝试从生成的数据中确定真实数据。随着生成器和鉴别器在各自的工作上做得更好,生成的数据因此得到改善,直到(理想情况下)质量与训练数据几乎相同。
GAN 通常用于为游戏和动画电影创建卡通图像或面孔。此外,GAN 可以帮助从少量数据生成合成数据,以帮助改进机器学习模型。
往期精彩回顾 适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑 AI基础下载机器学习的数学基础专辑 本站qq群851320808,加入微信群请扫码:
-
MATLAB神经网络30个案例分析
2022-03-18 13:45:30案例12 SVM神经网络的数据分类预测-葡萄酒种类识别 案例13 SVM神经网络中的参数优化---提升分类器性能 案例14 SVM神经网络的回归预测分析---上证开盘指数预测 案例15 SVM神经网络的信息粒化时序回归预测 案例16 单层... -
神经网络的类型
2018-06-01 14:31:30KNN DNN SVM DL BP DBN RBF CNN RNN ANN概述本文主要介绍了当前常用的神经网络,这些神经网络主要有哪些用途,以及各种神经网络的优点和局限性。1 BP神经网络BP (Back Propagation)神经网络是一种神经网络学习算法。...KNN DNN SVM DL BP DBN RBF CNN RNN ANN
概述
本文主要介绍了当前常用的神经网络,这些神经网络主要有哪些用途,以及各种神经网络的优点和局限性。
1 BP神经网络
BP (Back Propagation)神经网络是一种神经网络学习算法。其由输入层、中间层、输出层组成的阶层型神经网络,中间层可扩展为多层。相邻层之间各神经元进行全连接,而每层各神经元之间无连接,网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,各神经元获得网络的输入响应产生连接权值(Weight)。然后按减小希望输出与实际输出误差的方向,从输出层经各中间层逐层修正各连接权,回到输入层。此过程反复交替进行,直至网络的全局误差趋向给定的极小值,即完成学习的过程。
初始权值阈值的确定:所以权值及阈值的初始值应选为均匀分布的小数经验
值,约为(-2.4/F~2.4/F)之间,其中F 为所连单元的输入层节点数
1.1 主要功能
(1)函数逼近:用输入向量和相应的输出向量训练一个网络以逼近一个函数。
(2)模式识别:用一个待定的输出向量将它与输入向量联系起来。
(3)分类:把输入向量所定义的合适方式进行分类。
(4)数据压缩:减少输出向量维数以便传输或存储。
1.2 优点及其局限性
BP神经网络最主要的优点是具有极强的非线性映射能力。理论上,对于一个三层和三层以上的BP网络,只要隐层神经元数目足够多,该网络就能以任意精度逼近一个非线性函数。其次,BP神经网络具有对外界刺激和输入信息进行联想记忆的能力。这是因为它采用了分布并行的信息处理方式,对信息的提取必须采用联想的方式,才能将相关神经元全部调动起来。BP 神经网络通过预先存储信息和学习机制进行自适应训练,可以从不完整的信息和噪声干扰中恢复原始的完整信息。这种能力使其在图像复原、语言处理、模式识别等方面具有重要应用。再次,BP 神经网络对外界输入样本有很强的识别与分类能力。由于它具有强大的非线性处理能力,因此可以较好地进行非线性分类, 解决了神经网络发展史上的非线性分类难题。另外, BP 神经网络具有优化计算能力。BP神经网络本质上是一个非线性优化问题, 它可以在已知的约束条件下,寻找一组参数组合,使该组合确定的目标函数达到最小。不过,其优化计算存在局部极小问题,必须通过改进完善。
由于BP网络训练中稳定性要求学习效率很小,所以梯度下降法使得训练很慢。动量法因为学习率的提高通常比单纯的梯度下降法要快一些,但在实际应用中还是速度不够,这两种方法通常只应用于递增训练。
多层神经网络可以应用于线性系统和非线性系统中,对于任意函数模拟逼近。当然,感知器和线性神经网络能够解决这类网络问题。但是,虽然理论上是可行的,但实际上BP网络并不一定总能有解。
对于非线性系统,选择合适的学习率是一个重要的问题。在线性网络中,学习率过大会导致训练过程不稳定。相反,学习率过小又会造成训练时间过长。和线性网络不同,对于非线性多层网络很难选择很好的学习率。对那些快速训练算法,缺省参数值基本上都是最有效的设置。
非线性网络的误差面比线性网络的误差面复杂得多,问题在于多层网络中非线性传递函数有多个局部最优解。寻优的过程与初始点的选择关系很大,初始点如果更靠近局部最优点,而不是全局最优点,就不会得到正确的结果,这也是多层网络无法得到最优解的一个原因。为了解决这个问题,在实际训练过程中,应重复选取多个初始点进行训练,以保证训练结果的全局最优性。
网络隐层神经元的数目也对网络有一定的影响。神经元数目太少会造成网络的不适性,而神经元数目太多又会引起网络的过适性。
2 RBF(径向基)神经网络
径向基函数(RBF-Radial Basis Function)神经网络是由J.Moody和C.Darken在80年代末提出的一种神经网络,它是具有单隐层的三层前馈网络。由于它模拟了人脑中局部调整、相互覆盖接收域(或称感受野-Receptive Field)的神经网络结构,因此,RBF网络是一种局部逼近网络,它能够以任意精度逼近任意连续函数,特别适合于解决分类问题。
2.1 主要功能
图像处理,语音识别,时间系列预测,雷达原点定位,医疗诊断,错误处理检测,模式识别等。RBF网络用得最多之处是用于分类,在分类之中,最广的还是模式识别问题,次之是时间序列分析问题。
2.2 优点及其局限性
(一) 优点:
神经网络有很强的非线性拟合能力,可映射任意复杂的非线性关系,而且学习规则简单,便于计算机实现。具有很强的鲁棒性、记忆能力、非线性映射能力以及强大的自学习能力,因此有很大的应用市场。
①它具有唯一最佳逼近的特性,且无局部极小问题存在。
② RBF神经网络具有较强的输入和输出映射功能,并且理论证明在前向网 络中RBF网络是完成映射功能的最优网络。
③ 网络连接权值与输出呈线性关系。
④ 分类能力好。
⑤ 学习过程收敛速度快
(二)局限性:
① 最严重的问题是没能力来解释自己的推理过程和推理依据。
② 不能向用户提出必要的询问,而且当数据不充分的时候,神经网络就无法进行工作。
③ 把一切问题的特征都变为数字,把一切推理都变为数值计算,其结果势必是丢失信息。
④ 理论和学习算法还有待于进一步完善和提高。
⑤ 隐层基函数的中心是在输入样本集中选取的, 这在许多情况下难以反映出系统真正的输入输出关系, 并且初始中心点数太多; 另外优选过程会出现数据病态现象。
3 感知器神经网络
是一个具有单层计算神经元的神经网络,网络的传递函数是线性阈值单元。原始的感知器神经网络只有一个神经元。主要用来模拟人脑的感知特征,由于采取阈值单元作为传递函数,所以只能输出两个值,适合简单的模式分类问题。当感知器用于两类模式分类时,相当于在高维样本空间用一个超平面将两类样本分开,但是单层感知器只能处理线性问题,对于非线性或者线性不可分问题无能为力。假设p是输入向量,w是权值矩阵向量,b为阈值向量,由于其传递函数是阈值单元,也就是所谓的硬限幅函数,那么感知器的决策边界就是wp+b,当wp+b>=0时,判定类别1,否则判定为类别2。
3.1 主要功能
主要用于分类。
3.2 优点及其局限性
感知器模型简单易于实现,缺点是仅能解决线性可分问题。解决线性不可分问题途径:一是采用多层感知器模型,二是选择功能更加强大的神经网络模型。
4 线性神经网络
线性神经网络是比较简单的一种神经网络,由一个或者多个线性神经元构成。采用线性函数作为传递函数,所以输出可以是任意值。线性神经网络可以采用基于最小二乘LMS的Widrow-Hoff学习规则调节网络的权值和阈值,和感知器一样,线性神经网络只能处理反应输入输出样本向量空间的线性映射关系,也只能处理线性可分问题。目前线性神经网络在函数拟合、信号滤波、预测、控制等方面有广泛的应用。线性神经网络和感知器网络不同,它的传递函数是线性函数,输入和输出之间是简单的纯比例关系,而且神经元的个数可以是多个。只有一个神经元的线性神经网络仅仅在传递函数上和感知器不同,前者是线性函数的传递函数,后者是阈值单元的传递函数,仅此而已。
4.1 主要功能
(1)线性预测;
(2)自适应滤波噪声抵消;
(3)自适应滤波系统辨识;
4.2优点及其局限性
线性神经网络只能反应输入和输出样本向量空间的线性映射关系。由于线性神经网络的误差曲面是一个多维抛物面,所以在学习速率足够小的情况下,对于基于最小二乘梯度下降原理进行训练的神经网络总是可以找到一个最优解。尽管如此,对线性神经网络的训练并不能一定总能达到零误差。线性神经网络的训练性能要受到网络规模、训练集大小的限制。若神经网络的自由度(所有权值和阈值的总个数)小于样本空间中输入-输出向量的个数,而且各样本向量线性无关,则网络不可能达到零误差,只能得到一个使得网络的误差最小的解。反之,如果网络的自由度大于样本集的个数,则会得到无穷多个可以使得网络误差为零的解。
另外对超定系统、不定系统、线性相关向量的情况还有一些其他的限制。
5自组织神经网络
在生物神经细胞中存在一种特征敏感细胞,这种细胞只对外界信号刺激的某一特征敏感,并且这种特征是通过自学习形成的。在人脑的脑皮层中,对于外界信号刺激的感知和处理是分区进行的,有学者认为,脑皮层通过邻近神经细胞的相互竞争学习,自适应的发展称为对不同性质的信号敏感的区域。根据这一特征现象,芬兰学者Kohonen提出了自组织特征映射神经网络模型。他认为一个神经网络在接受外界输入模式时,会自适应的对输入信号的特征进行学习,进而自组织成不同的区域,并且在各个区域对输入模式具有不同的响应特征。在输出空间中,这些神经元将形成一张映射图,映射图中功能相同的神经元靠的比较近,功能不同的神经元分的比较开,自组织特征映射网络也是因此得名。
自组织映射过程是通过竞争学习完成的。所谓竞争学习是指同一层神经元之间相互竞争,竞争胜利的神经元修改与其连接的连接权值的过程。竞争学习是一种无监督学习方法,在学习过程中,只需要向网络提供一些学习样本,而无需提供理想的目标输出,网络根据输入样本的特性进行自组织映射,从而对样本进行自动排序和分类。
自组织神经网络包括自组织竞争网络、自组织特征映射网络、学习向量量化等网络结构形式。
5.1 自组织竞争网络
竞争学习网络的结构:假设网络输入为R维,输出为S个,典型的竞争学习网络由隐层和竞争层组成,与径向基函数网络的神经网络模型相比,不同的就是竞争传递函数的输入是输入向量p与神经元权值向量w之间的距离取负以后和阈值向量b的和,即ni=-||wi-p||+bi。网络的输出由竞争层各神经元的输出组成,除了在竞争中获胜的神经元以外,其余的神经元的输出都是0,竞争传递函数输入向量中最大元素对应的神经元是竞争的获胜者,其输出固定是1。
竞争学习网络的训练:竞争学习网络依据Kohonen学习规则和阈值学习规则进行训练,竞争网络每进行一步学习,权值向量与当前输入向量最为接近的神经元将在竞争中获胜,网络依据Kohonen准则对这个神经元的权值进行调整。假设竞争层中第i个神经元获胜,其权值向量Wi将修改为:Wi(k)=Wi(k-1)-alpha*(p(k)-Wi(k-1))。按照这一规则,修改后的神经元权值向量将更加接近当前的输入。经过这样调整以后,当下一此网络输入类似的向量时,这一神经元就很有可能在竞争中获胜,如果输入向量与该神经元的权值向量相差很大,则该神经元极有可能落败。随着训练的进行,网络中的每一个节点将代表一类近似的向量,当接受某一类向量的输入时,对应类别的神经元将在竞争中获胜,从而网络就具备了分类功能。
5.2 自组织特征映射网络
自组织特征映射网络SOFM的构造时基于人类大脑皮质层的模仿。在人脑的脑皮层中,对外界信号刺激的感知和处理是分区进行的,因此自组织特征映射网络不仅仅要对不同的信号产生不同的响应,即与竞争学习网络一样具有分类功能。而且还要实现功能相同的神经元在空间分布上的聚集。因此自组织特征映射网络在训练时除了要对获胜的神经元的权值进行调整之外,还要对获胜神经元邻域内所有的神经元进行权值修正,从而使得相近的神经元具有相同的功能。自组织特征映射网络的结构域竞争学习网络的结构完全相同,只是学习算法有所区别而已。
稳定时,每一邻域的所有节点对某种输入具有类似的输出,并且这聚类的概率分布与输入模式的概率分布相接近。
5.3 学习向量量化网络
学习向量量化网络由一个竞争层和一个线性层组成,竞争层的作用仍然是分类,但是竞争层首先将输入向量划分为比较精细的子类别,然后在线性层将竞争层的分类结果进行合并,从而形成符合用户定义的目标分类模式,因此线性层的神经元个数肯定比竞争层的神经元的个数要少。
学习向量量化网络的训练:学习向量量化网络在建立的时候,竞争层和线性层之间的连接权重矩阵就已经确定了。如果竞争层的某一神经元对应的向量子类别属于线性层的某个神经元所对应的类别,则这两个神经元之间的连接权值等于1,否则两者之间的连接权值为0,这样的权值矩阵就实现了子类别到目标类别的合并。根据这一原则,竞争层和线性层之间的连接权重矩阵的每一列除了一个元素为1之外,其余元素都是0。1在该列中的位置表示了竞争层所确定的子类别属于哪一种目标类别(列中的每一个位置分别表示一种目标类别)。在建立网络时,每一类数据占数据总数的百分比是已知的,这个比例恰恰就是竞争层神经元归并到线性层各个输出时所依据的比例。由于竞争层和线性层之间的连接权重矩阵是事先确定的,所以在网络训练的时候只需要调整竞争层的权值矩阵。
5.4 主要功能
特别适合于解决模式分类和识别方面的应用问题。
5.5 优点及其局限性
SOFM网络(自组织特征映射网络)的最大优点是网络输出层引入了拓扑结构,从而实现了对生物神经网络竞争过程的模拟。
LVQ网络(学习向量量化网路)则在竞争学习的基础山引入了有监督的学习算法,被认为是SOFM算法的扩展形式。
常用的结合方法是,将学习向量算法作为自组织映射算法的补充,在输出层应用具有拓扑结构的自组织映射网络结构,一次采用自组织映射学习算法和学习矢量量化算法对网络进行两次训练。
6 反馈神经网络
前面介绍的网络都是前向网络,实际应用中还有另外一种网络——反馈网络。在反馈网络中,信息在前向传递的同时还要进行反向传递,这种信息的反馈可以发生在不同网络层的神经元之间,也可以只局限于某一层神经元上。由于反馈网络属于动态网络,只有满足了稳定条件,网络才能在工作了一段时间之后达到稳定状态。反馈网络的典型代表是Elman网络和Hopfield网络。
6.1 Elman神经网络
Elman网络由若干个隐层和输出层构成,并且在隐层存在反馈环节,隐层神经元采用正切sigmoid型函数作为传递函数,输出层神经元传递函数为纯线性函数,当隐层神经元足够多的时候,Elman网络可以保证网络以任意精度逼近任意非线性函数。
6.2 Hopfield网络
Hopfield网络主要用于联想记忆和优化计算。联想记忆是指当网络输入某一个向量之后,网络经过反馈演化,从网络的输出端得到另外一个向量,这样输出向量称为网络从初始输入向量联想得到的一个稳定的记忆,也就是网络的一个平衡点。优化计算是指某一问题存在多个解法的时候,可以设计一个目标函数,然后寻求满足折椅目标的最优解法。例如在很多情况下可以把能量函数看作是目标函数,得到最优解法需要使得能量函数达到极小值,也就是所谓的能量函数的稳定平衡点。总之,Hopfield网络的设计思想就是在初始输入下,使得网络经过反馈计算,最后达到稳定状态,这时候的输出就是用户需要的平衡点。
6.3 主要应用
Elman网络主要用于信号检测和预测方面,Hopfield网络主要用于联想记忆、聚类以及优化计算等方面。
6.4 优点及其局限性
(一)Hopfield神经网络
对于Hopfield神经网络而言, 都存在以下问题:
(1)在具体神经网络实现中要保证连接权矩阵是对称的;
(2)在实际的神经网络实现中, 总会存在信息的传输延迟, 这些延迟对神经网络的特性有影响。
(3)神经网络实现中的规模问题, 即集成度问题。
(二)Elman神经网络
Elman神经网络模型与其他神经网络模型一样,具有输入层、隐层和输出层,具有学习期和工作期,因此具有自组织、自学习的特征。另外,由于在Elman神经网络模型中增加了隐层及输出层节点的反馈,因而更进一步地增强了网络学习的精确性和容错性。
利用Elman神经网络建立的网络模型,对具有非线性时间序列特征的其它应用领域都具有较好地应用前景,它具有较强的鲁棒性、良好的泛化能力、较强的通用性和客观性,充分显示出神经网络方法的优越性和合理性,这种神经网络方法在其它领域预测和评价方面的使用将具有较好的实际应用价值。
7.其它:
收集了一些资料,还有另一个版本,有重叠:
ANNs指使用第一代或第二代神经元模型的算法
unsupervised learning (聚类)
1、其他聚类:
SOM
autoencoder
2、Deep learning,分三类,方法完全不同,连神经元都不一样
前馈预测:见3
反馈预测:stacked sparse autoencoder(聚类), predictive coding (属RNN,聚类)
交互预测:Deep belief net (DBN,属RNN,聚类+分类)
3、前馈神经网络(分类)
perceptron
BP
RBF
前馈Deep learning:convolutional neural network (CNN)
4、Recurrent NN类
hopfield
Boltzmann machine 及变种
echo state network
5、其他工程用算法的神经网络版本,数量太多,简单写几
强化学习如TD(reinforcement learning)
PCA
-
BP神经网络啤酒种类预测
2021-06-02 12:23:08使用BP神经网络进行分类预测 -
卷积神经网络四种卷积类型
2018-12-17 08:59:47卷积神经网络四种卷积类型 https://www.toutiao.com/a6631333810287936013/ 一般卷积 首先,我们需要就定义卷积层的一些参数达成一致。 卷积核大小(Kernel Size):卷积核定义了卷积的大小范围,...卷积神经网络四种卷积类型
https://www.toutiao.com/a6631333810287936013/
一般卷积
首先,我们需要就定义卷积层的一些参数达成一致。
卷积核大小(Kernel Size):卷积核定义了卷积的大小范围,二维卷积核最常见的就是 3*3 的卷积核。
步长(Stride):步长定义了当卷积核在图像上面进行卷积操作的时候,每次卷积跨越的长度。在默认情况下,步长通常为 1,但我们也可以采用步长是 2 的下采样过程,类似于 MaxPooling 操作。
填充(Padding):卷积层采用一定数量的输入通道(I),并且设计特定数量的输出通道(O)。每一层所需的参数可以通过 I*O*K 来进行计算,其中 K 等于卷积核的数量。
输入和输出管道(Input & Output Channels):卷积层采用一定数量的输入通道
使用内核大小为3,步长为1和填充的2D卷积
扩张的卷积
使用3内核进行2D卷积,扩展率为2且无填充
扩张的卷积为卷积层引入另一个参数,称为扩张率。这定义了卷积核中值之间的间距。扩张率为2的3x3内核与5x5内核具有相同的视野,而仅使用9个参数。想象一下,获取一个5x5内核并删除每一个第二列和第二行(间隔删除),就是我们介绍的卷积。
这以相同的计算成本提供了更宽的视野。扩张卷积在实时分割领域中特别受欢迎。如果您需要广泛的视野并且无法承受多个卷积或更大的核,请使用它们。
转置卷积
(又称解卷积或分数跨度卷积)
有些消息来源使用名称deconvolution,这是不合适的,因为它不是解卷积。为了使事情更糟,确实存在解卷积,但它们在深度学习领域并不常见。实际的反卷积会使卷积过程恢复。想象一下,将图像输入到单个卷积层中。现在取出输出,将它扔进一个黑盒子里然后再出现原始图像。这个黑盒子进行反卷积。它是卷积层的数学逆。
转置卷积有点类似,因为它产生与假设的反卷积层相同的空间分辨率。但是,对值执行的实际数学运算是不同的。转置卷积层执行常规卷积,但恢复其空间变换。
2D卷积,没有填充,步幅为2,内核为3
此时你应该很困惑,让我们看一个具体的例子。将5×5的图像送入卷积层。步幅设置为2,填充停用,内核为3x3。这导致2x2图像。
如果我们想要反转这个过程,我们需要逆数学运算,以便从我们输入的每个像素生成9个值。然后,我们以2的步幅遍历输出图像。这将是反卷积。
转换2D卷积,没有填充,步幅为2,内核为3
转置卷积不会这样做。唯一的共同点是它保证输出也是5x5图像,同时仍然执行正常的卷积操作。为此,我们需要在输入上执行一些花哨的填充。
正如您现在可以想象的那样,此步骤不会从上面颠倒过程。至少不涉及数值。
它只是从之前重建空间分辨率并执行卷积。这可能不是数学逆,但对于编码器 - 解码器架构,它仍然非常有用。这样我们就可以将图像的升级与卷积相结合,而不是进行两个单独的处理。
可分离的卷积
在可分离的卷积中,我们可以将内核操作分成多个步骤。让我们将卷积表示为y = conv(x,k),其中y是输出图像,x是输入图像,k是核。简单。接下来,假设k可以通过以下公式计算:k = k1.dot(k2)。这将使它成为可分离的卷积,因为我们可以通过用k1和k2进行2个1D卷积来得到相同的结果,而不是用k进行2D卷积。
Sobel X和Y滤镜
以Sobel内核为例,它通常用于图像处理。你可以通过乘以向量[1,0,-1]和[1,2,1] .T得到相同的内核。在执行相同操作时,这将需要6个而不是9个参数。上面的例子显示了所谓的空间可分卷积,据我所知,它不用于深度学习。
编辑:实际上,通过堆叠1xN和Nx1内核层,可以创建与空间可分离卷积非常相似的东西。这最近在一个名为EffNet的架构中使用,显示了有希望的结果。
在神经网络中,我们通常使用称为深度可分离卷积的东西。这将执行空间卷积,同时保持通道分离,然后进行深度卷积。在我看来,通过一个例子可以最好地理解它。
假设我们在16个输入通道和32个输出通道上有一个3x3卷积层。详细情况是,32个3x3核遍历16个通道中的每个通道,产生512(16x32)个特征映射。接下来,我们通过添加它们来合并每个输入通道中的1个特征图。由于我们可以做32次,我们得到了我们想要的32个输出通道。
对于同一示例中的深度可分离卷积,我们遍历16个通道,每个通道有1个3x3内核,为我们提供了16个特征映射。现在,在合并任何东西之前,我们遍历这16个特征映射,每个特征映射有32个1x1卷积,然后才开始将它们加在一起。这导致656(16x3x3 + 16x32x1x1)参数与上面的4608(16x32x3x3)参数相反。
该示例是深度可分离卷积的特定实现,其中所谓的深度乘数为1.这是迄今为止这种层的最常见设置。我们这样做是因为空间和深度信息可以解耦的假设。看一下Xception模型的表现,这个理论似乎有效。由于其有效使用参数,深度可分离卷积也用于移动设备。
-
《MATLAB 神经网络43个案例分析》源代码.zip
2021-05-21 15:45:32《MATLAB 神经网络43个案例分析》源代码: 第1章 BP神经网络的数据分类——语音特征信号分类 第2章 BP神经网络的非线性系统建模——非线性函数拟合 第3章 遗传算法优化BP神经网络——非线性函数拟合 第4章 神经网络... -
《MATLAB 神经网络43个案例分析》源代码&数据.zip
2021-06-05 22:25:50《MATLAB 神经网络43个案例分析》目录 第1章 BP神经网络的数据分类——语音特征信号分类 第2章 BP神经网络的非线性系统建模——非线性函数拟合 第3章 遗传算法优化BP神经网络——非线性函数拟合 第4章 神经网络遗传... -
20种人工神经网络模型matlab源码.zip
2021-05-21 11:41:01案例12 SVM神经网络的数据分类预测-葡萄酒种类识别.rar 案例13 SVM神经网络中的参数优化---提升分类器性能.rar 案例14 SVM神经网络的回归预测分析---上证开盘指数预测.rar 案例15 SVM神经网络的信息粒化时序回归预测... -
MATLAB源码集锦-基于SVM神经网络的葡萄酒种类识别代码
2021-02-16 17:11:20MATLAB源码集锦-基于SVM神经网络的葡萄酒种类识别代码 -
基于卷积神经网络的猫种类识别
2018-01-16 12:47:22基于卷积神经网络的猫种类识别,结合Django的完整demo。 环境:Django1.8.2 python3.6.3 tensorflow1.3 h5py2.7 keras2.1.2 numpy1.13.3 pillow5.0.0 pymysql0.8.0 -
BP神经网络算法及其在葡萄酒种类识别中的应用
2018-10-11 13:35:21本文采用BP神经网络对葡萄酒种类进行模式识别,通过对在意大利同一区域里三种的葡萄酒的化学成分分析,数据含有178个样本,每个样本含有13个特征分量,每个样本的类别标签已定。其中将这178个样本的65%作为训练样本... -
深度科普:神经网络的类型及其作用
2020-01-26 17:09:54如果你使用百度查找的相关资料,则使用了百度的神经网络,该神经网络会根据给出的关键词对相关度最高的网页进行排名。如果你最近要买东西访问过淘宝官网,那么该网站推荐的所有产品都是由神经网络管理的。 ... -
深入浅出讲解神经网络的种类及举例说明
2020-03-20 13:52:081.神经网络的分类 大体上,神经网络分为三种:前馈神经网络、反馈神经网络和图网络。 2.前馈神经网络 前馈神经网络(feedforward neural network)是一种简单的神经网络,也被称为多层感知机(multi-layer ... -
matlab 概率神经网络PNN数据分类
2021-11-15 10:04:57根据数据类型划分输入 输出即可 -
PNN神经网络啤酒种类预测代码+数据.zip
2021-06-02 12:20:05利用概率神经网络,进行分类识别 -
神经网络的43个源程序及数据
2019-03-30 10:36:38《MATLAB神经网络43个案例分析》是在《MATLAB神经网络30个案例分析》的基础上出版的,部分章节涉及了常见的优化算法(遗传算法、粒子群算法等)与神经网络的结合问题。 《MATLAB神经网络43个案例分析》可作为高等... -
SVM神经网络的数据分类预测-葡萄酒种类识别
2018-08-19 12:04:43本代码主要利用MATLAB工具进行SVM神经网络的数据分类预测的仿真,实现葡萄酒种类识别的模拟 -
代码 基于SVM神经网络的葡萄酒种类识别代码
2022-06-04 14:24:26代码 基于SVM神经网络的葡萄酒种类识别代码代码 基于SVM神经网络的葡萄酒种类识别代码代码 基于SVM神经网络的葡萄酒种类识别代码代码 基于SVM神经网络的葡萄酒种类识别代码代码 基于SVM神经网络的葡萄酒种类识别代码... -
常用神经网络的分类
2018-03-05 16:05:19本文主要介绍了当前常用的神经网络,这些神经网络主要有哪些用途,以及各种神经网络的优点和局限性。 1 BP神经网络 BP (Back Propagation)神经网络是一种神经网络学习算法。其由输入层、中间层、输出层组成的阶层... -
bP神经网络 图像分类
2018-05-03 11:42:57基于深度学习的bP神经网络 进行图像分类 的代码实例 -
神经网络15本教材
2018-06-24 00:24:15神经网络15本教材。 -
神经网络主要类型及其应用指南
2021-05-27 13:36:29神经网络主要类型及其应用指南https://medium.com/towards-artificial-intelligence/main-types-of-neural-networks-and-its-applications-tutorial-734480d7ec8e目前深度学习中的神经网络种类繁多,用途各异。... -
人工神经网络模型与分类
2017-07-05 21:57:591. 人工神经网络的分类 按性能分:连续型和离散型网络,或确定型和随机型网络。 按拓扑结构分:前向网络和反馈网络。 前向网络有自适应线性神经网络(AdaptiveLinear,简称Adaline)、单层感知器、多层感知... -
循环神经网络RNN实现手写数字识别
2021-01-20 11:34:25#注意这里用了one_hot表示,标签的形状是(batch_size,num_batches),类型是float,如果不用one_hot,那么标签的形状是(batch_size,),类型是int num_classes=10 batch_size=64 hidden_dim1=32 hidden_dim2=64 -
GRNN神经网络在雷达信号调制类型识别中的应用
2021-01-28 12:06:57首先利用短时傅里叶变换(STFT)对信号进行特征提取,将提取到的特征进行排列组合,最后把重新组合的特征作为GRNN神经网络的输入向量对其进行调制类型的识别。其中,通过改进GRNN神经网络的输入输出部分,使得最后的... -
常用的几种卷积神经网络介绍
2018-01-11 15:32:37常用的几种卷积神经网络介绍标签(空格分隔): 深度学习这是一篇基础理论的博客,基本手法是抄、删、改、查,毕竟介绍这几个基础网络的博文也挺多的,就算是自己的一个笔记吧,以后忘了多看看。主要是想介绍下常用... -
并行运算与神经网络_基于CPU_GPU的并行神经网络运算_matlab
2022-04-10 21:54:49资源名:并行运算与神经网络_基于CPU_GPU的并行神经网络运算_matlab 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。 ... -
一张基本涵盖了所有神经网络类型的图
2019-01-14 01:03:28