zhangjie2026 发表于 2022-10-12 09:47:30

深度学习与图神经网络学习分享:CNN经典网络之-ResNet

深度学习与图神经网络学习分享:CNN 经典网络之-ResNetresnet 又叫深度残差网络图像识别准确率很高,主要作者是国人哦深度网络的退化问题深度网络难以训练,梯度消失,梯度爆炸,老生常谈,不多说https://www.mesbbs.com/media/images/ab1532dc43fc83acf0d66779b244caa0.jpgresnet 解决了这个问题,并且将网络深度扩展到了最多152层。怎么解决的呢?残差学习结构如图https://www.mesbbs.com/media/images/c23c19df19bb346250e616f81a78ab31.jpg
在普通的卷积过程中加入了一个x的恒等映射(identity mapping)专家把这称作 skip connections 或者 shortcut connections残差结构的理解为什么要这样呢?下面我从多个角度阐述这个问题。生活角度每学习一个模型,我都希望能用日常的生活去解释为什么模型要这样,一是加深对模型的理解,二是给自己搭建模型寻找灵感,三是给优化模型寻找灵感。resnet 无疑是解决很难识别的问题的,那我举一个日常生活中人类也难以识别的问题,看看这个模型跟人类的识别方法是否一致。比如人类识别杯子里的水烫不烫一杯水,我摸了一下,烫,好,我的神经开始运转,最后形成理论杯子里的水烫,这显然不对又一杯水,我一摸,不烫,好嘛,这咋办,认知混乱了,也就是无法得到有效的参数,那人类是怎么办呢?我们不止是摸一摸,而且在摸过之后还要把杯子拿起来仔细看看,有什么细节可以帮助我们更好的识别,这就是在神经经过运转后,又把x整体输入,当然即使我们拿起杯子看半天,也可能看不出任何规律来帮助我们识别,那人类的作法是什么呢?我记住吧,这种情况要小心,这就是梯度消失了,学习不到任何规律,记住就是恒等映射,这个过程和resnet是一致的。网络结构角度https://www.mesbbs.com/media/images/859093c774fc42820f67d031189a94f1.jpg当梯度消失时,f(x)=0,y=g(x)=relu(x)=x,怎么理解呢?1. 当梯度消失时,模型就是记住,长这样的就是该类别,是一个大型的过滤器2. 在网络上堆叠这样的结构,就算梯度消失,我什么也学不到,我至少把原来的样子恒等映射了过去,相当于在浅层网络上堆叠了“复制层”,这样至少不会比浅层网络差。3. 万一我不小心学到了什么,那就赚大了,由于我经常恒等映射,所以我学习到东西的概率很大。数学角度https://www.mesbbs.com/media/images/ce24d61303d2c33d550f3e0261ef0ba9.jpg可以看到 有1 的存在,导数基本不可能为0那为什么叫残差学习呢https://www.mesbbs.com/media/images/cb72218d42ea32a5009a657925f1f0cc.jpg可以看到 F(x) 通过训练参数 得到了 H(x)-x,也就是残差,所以叫残差学习,这比学习H(x)要简单的多。等效映射 identity mapping上面提到残差学习中需要进行 F(x)+x,在resnet中,卷积都是 same padding 的,当通道数相同时,直接相加即可,但是通道数不一样时需要寻求一种方法使得 y=f(x)+wx实现w有两种方式1. 直接补02. 通过使用多个 1x1 的卷积来增加通道数。网络结构blockblock为一个残差单元,resnet 网络由多个block 构成,resnet 提出了两种残差单元https://www.mesbbs.com/media/images/5a216b501355e46990ff83f6ecdfd00a.jpg 左边针对的是ResNet34浅层网络,右边针对的是ResNet50/101/152深层网络,右边这个又被叫做 bottleneckbottleneck 很好地减少了参数数量,第一个1x1的卷积把256维channel降到64维,第三个又升到256维,总共用参数:1x1x256x64+3x3x64x64+1x1x64x256=69632,如果不使用 bottleneck,参数将是 3x3x256x256x2=1179648,差了16.94倍这里的输出通道数是根据输入通道数确定的,因为要与x相加。整体结构https://www.mesbbs.com/media/images/9ac03de3909c675a9015403b2201cd74.jpg1. 与vgg相比,其参数少得多,因为vgg有3个全连接层,这需要大量的参数,而resnet用 avg pool 代替全连接,节省大量参数。2. 参数少,残差学习,所以训练效率高结构参数Resnet50和Resnet101是其中最常用的网络结构。https://www.mesbbs.com/media/images/16e30f19d7deaea0686b49bcf8f12c21.jpg我们看到所有的网络都分成5部分,分别是:conv1,conv2_x,conv3_x,conv4_x,conv5_x其结构是相对固定的,只是通道数根据输入确定。注意,Resnet 最后的 avg_pool 是把每个 feature map 转换成 1 个特征,故池化野 size 为 feature map size,如 最后输出位 512x7x7,那么池化野size 为 7 最新进展残差单元被进一步更新 https://www.mesbbs.com/media/images/62a16208ae043211016eb9d779690bd0.jpg个人经验1. 卷积层包含大量的卷积计算,如果想降低时间复杂度,减少卷积层2. 全连接层包含大量的参数,如果想降低空间复杂度,减少全连接层分享安排1. 人工智能、深度学习的发展历程2. 深度学习框架3. 神经网络训练方法4. 卷积神经网络,卷积核、池化、通道、激活函数5. 循环神经网络,长短时记忆LSTM、门控循环单元GRU6. 参数初始化方法、损失函数Loss、过拟合7. 对抗生成网络GAN8. 迁移学习TL9. 强化学习RF10. 图神经网络GNN一、算法和场景融合理解1.空间相关性的非结构化数据,CNN算法。典型的图像数据,像素点之间具有空间相关性,例如图像的分类、分割、检测都是CNN算法。2.时间相关性的非结构化数据,RNN算法。这类场景普遍的一个现象就是数据之间具有时序相关性,也就是数据之间存在先后依赖关系。例如自然语言处理、语音相关算法都是基于RNN算法。3.非欧氏数据结构, GNN。这类场景典型的可以用图来表示。例如社交网络等。案例摘要讲解医疗领域:如流行疾病、肿瘤等相关疾病检测遥感领域:如遥感影像中的场景识别石油勘探:如石油油粒大小检测轨道交通:如地铁密集人流检测检测领域:如故障检测公安领域:如犯罪行为分析国防领域:目标检测、信号分析、态势感知…经济领域:如股票预测二、数据理解及处理分析典型场景中的典型数据,结合具体的算法,对数据进行处理1.结构化数据,如何对数据进行读取,进行组织。2.图像数据,在实际应用过程中的处理方法,怎样做数据的预处理、进行数据增强等。3.时序信号,将单点的数据如何组合成一个序列,以及对序列数据处理的基本方法。三、技术路径设计针对具体的场景设计特定的神经网络模型,对典型数据适配的网络结构进介绍。1.DNN模型搭建的基本原则2.CNN模型中常见的网络结构,以及参数分析。3.RNN中支持的一些基本算子,如何对序列数据进行组织。四、模型验证及问题排查简单的算法或者模型对典型的场景进行快速验证,并且针对一些频发的问题进行讲解。1. 模型收敛状态不佳2. 分类任务重最后一层激活函数对模型的影响五、高级-模型优化的原理不同的模型需要采用的优化函数以及反向传播中参数的优化方法1.模型优化的算法介绍,基于随机梯度下降的算法介绍。2.不同场景适应的损失函数介绍。3.针对典型场景的反向传播梯度的推到过程。六、高级-定制化思路结合往期学员的一些项目,简单介绍一下解决一个具体问题的思路。遥感成像中,地块农作物种类的识别。实操解析与训练第一阶段:神经网络实践实验:神经网络1.神经网络中基本概念理解:epoch、batch size、学习率、正则、噪声、激活函数等。2.不同的数据生成模型、调整网络参数、调整网络规模3.神经网络分类问题4.不同数据特征的作用分析、隐含层神经元数目5.过拟合高频问题:1.输入数据与数据特征   2.模型设计的过程中的参数与功能的关系。关键点:1.掌握神经网络的基本概念   2.学会搭建简单的神经网络结构3.理解神经网络参数实操解析与训练第二阶段:深度学习三种编程思想实验:Keras实践1.理解Keras基本原理      2.学会Keras编程思想3.三种不同的深度神经网络构建编程方式4.给定数据集,采用Keras独立完成实际的工程项目高频问题:1.如何编程实现深度神经网络   2.三种开发方式的具体使用关键点:1.掌握Keras编程思想      2.采用三种不同方式编写深度神经网络实操解析与训练第三阶段:CNN实践实验:图像分类1.使用CNN解决图像分类问题   2.搭建AlexNet3.VGG16/194.GoogleNet5.ResNet高频问题:1.CNN更复杂的模型在哪里可以找到代码关键点:1.使用卷积神经网络做图像分类2.常见开源代码以及适用的问题实验:视频人物行为识别1.基于C3D的视频行为识别方法2.基于LSTM的视频行为识别方法3.基于Attention的视频行为识别方法高频问题:1.2D卷积与3D卷积      2.视频的时空特征关键点:1.C3D网络的构建         2.Attention机制实操解析与训练第四阶段:R-CNN及YOLO实践实验:目标检测1.目标检测发展现状及代表性方法2.两阶段目标检测方法:R-CNN系列模型3.一阶段目标检测方法:YOLO系列模型高频问题:1.提名与分类    2.BBOX实现策略    3.YOLO Loss函数关键点:1.提名方法    2.ROI Pooling    3.SPP Net    4.RPN    5.YOLO实操解析与训练第五阶段:RNN实践实验:股票预测1.股票数据分析    2.同步预测    3.异步预测高频问题:1.历史数据的使用关键点:1.构建RNN    2.采用Keras编程实现实操解析与训练第六阶段:Encoder-Decoder实践实验:去噪分析1.自编码器   2.去噪自编码器高频问题:1.噪声的引入与去除关键点:1.设计去噪自编码器实验:图像标题生成结合计算机视觉和机器翻译的最新进展,利用深度神经网络生成真实的图像标题。1.掌握Encoder-Decoder结构   2.学会Seq2seq结构3.图像CNN +文本RNN      4.图像标题生成模型高频问题:1.如何能够根据图像生成文本?关键点:1.提取图像特征CNN,生成文本RNN2.构建Encoder-Decoder结构实操解析与训练第七阶段:GAN实践实验:艺术家作品生成1. 生成对抗网络原理    2.GAN的生成模型、判别模型的设计高频问题:1.生成模型与判别模型的博弈过程关键点:1.掌握GAN的思想与原理2.根据需求学会设计生成模型与判别模型实操解析与训练第八阶段:强化学习实践实验:游戏分析1.游戏场景分析      2.强化学习的要素分析    3.深度强化学习高频问题:1.DNN 与DQN       2.探索与利用关键点:1.深度强化学习的原理   2.根据实际需求,设计深度强化学习模型实操解析与训练第九阶段:图卷积神经网络实践实验:社交网络分析1.图神经网络的原理   2.图卷积神经网络的思想3.设计图卷积神经网络进行社交网络分析高频问题:1.如何从图神经网络的原理转化到实际编程关键点:1. 掌握图神经网络原理    2. 图卷积神经网络编程实现实操解析与训练第十阶段:Transformer实践实验:基于Transformer的对话生成1. Transformer原理   2. 基于Transformer的对话生成3.基于 Transformer 的应用高频问题:1.如何应用自注意力机制   2.如何应用于自然语言处理与计算机视觉关键点:1.self-Attention机制    2.position
转载:https://www.cnblogs.com/yanshw/p/10576354.html
人工智能技术与咨询了解更多相关信息及知识,咨询:195-1112-2152(v同号)
页: [1]
查看完整版本: 深度学习与图神经网络学习分享:CNN经典网络之-ResNet