




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程简介深度学习欢迎选课选课动机大模型AIGCActive(主动)Concentrated(专注)Telligent(理解)Inquisitive(勤学好问)Vigorous(活力)Extreme(极致)MindandHand(MIT校训,既要动脑,也要动手)如何去做?课程团队1课程基本信息2教材3课程内容4目录Contents课程评估5课程团队首席教授徐俊刚,xujg@主讲教师******助教
************课程类型:
专业课学时/学分:40/2预修课程:Python程序设计,机器学习,计算机算法与分析课程网站:***微信群:***课程基本信息徐俊刚.深度学习.北京:机械工业出版社,2024.教材课程内容第一章引言第二章
卷积神经网络第三章
循环神经网络第四章Transformer第五章
生成对抗网络第六章深度生成模型第七章
正则化与优化第八章
深度学习框架课程内容课堂笔试:**%(闭卷/开卷)实验(必做和可选):**%课程评估计算机视觉实验(供参考)
必做实验(每个人):(1)基于CNN的手写数字识别;(2)基于ViT的CIFAR10图像分类。
可选实验(每组,不超过3人):(1)基于YOLOv5的目标检测;(2)基于SegNet的街景分割。注:部分实验需基于GPU进行,可基于学校教学实验室或者外部在线GPU资源进行。课程评估自然语言处理实验(供参考)必做实验(每个人):(1)基于LSTM的自动写诗;(2)基于Transformer的神经机器翻译。可选实验(每组,不超过3人):(1)基于LSTM的语言模型;(2)基于CNN-Transformer的图像描述。注:部分实验需基于GPU进行,可基于学校教学实验室或者外部在线GPU资源进行。课程评估祝愿第一章引言深度学习深度学习的起源与发展12深度学习与机器学习、AI的关系3深度学习的基本概念与典型算法45目录Contents本章人物深度学习的主要应用概述196中英文术语对照深度学习的起源与发展1“深度学习(DeepLearning)”的概念是2006年由多伦多大学(UniversityofToronto)的GeoffreyHinton教授与他的同事们提出的,他也因此被称为“深度学习之父”。但是,由于深度学习与人工神经网络(ArtificialNeuralNetwork,ANN)息息相关,它的起源可以追溯到更早的时间。21深度学习的起源HintonGE,OsinderoSandTehY.AFastLearningAlgorithmforDeepBeliefNets[J].NeuralComputation,2006,18:1527-1554.HintonGE,SalakhutdinovRR.ReducingtheDimensionalityofDatawithNeuralNetworks[J].Science,2006,313(5786):504-507.22深度学习的起源深度学习的起源23第一阶段(1943-1969)1943年:WarrenMcCulloch和WalterPitts提出了M-P神经元模型,模拟了人类神经元的结构和工作原理。1949年:生理心理学家DonaldOldingHebb提出了Hebb学习规则,奠定了人工神经网络学习算法的基础。1957年:FrankRosenblatt提出了由两层神经元组成的感知机(Perceptron)。1969年:MarvinMinsky和SeymourPapert指出感知器无法解决XOR运算这样的线性不可分问题,导致人工神经网络的研究陷入低谷。深度学习的起源24第二阶段(1980-1998)1980年:KunihikoFukushima(福岛邦彦)提出了模拟生物视觉传导通路的神经认知机,被认为是卷积神经网络的原始模型。1982年:JohnHopfield提出了Hopfield神经网络,有连续型和离散型两种类型,分别用于优化计算和联想记忆。1986年:DavidRumelhart、GeoffreyHinton和RonaldWilliams重新独立提出了误差反向传播算法(ErrorBackPropagation,BP)(1974年PaulWerbos首次提出了BackPropagation算法),并指出多层感知机可以解决异或操作(XOR)这样的线性不可分问题。1986年与1990年,分别出现了JordanNetwork与ElmanNetwork两种循环神经网络(RecurrentNeuralNetworks,RNN)。深度学习的起源25第二阶段(1980-1998)1995年:CorinnaCortes和VladimirVapnik提出了支持向量机(SupportVectorMachine,SVM),除了其简单的训练方法与优越的性能超过了人工神经网络之外,其良好的可解释性使得人工神经网络研究再次进入低谷期。1997年:JurgenSchmidhuber和SeppHochreiter提出了长短期记忆网络(Long-ShortTermMemory,LSTM),极大地提高了循环神经网络的效率和实用性。1998年:YannLeCun提出了称作LeNet-5的卷积神经网络(ConvolutionalNeuralNetworks,CNN),率先将人工神经网络应用于图像识别任务,但在当时也没有引起大的轰动。深度学习的起源26第三阶段(2006-)2006年:GeoffreyHinton和他的同事们提出了一种称作深度信念网络(DeepBeliefNetworks,DBN)的多层网络并进行了有效的训练,同时提出了一种通过多层神经网络进行数据降维的方法,正式提出了深度学习的概念。深度学习在2012年之后在业界引起了巨大的反响。深度学习的发展27深度学习的发展282012年:FrankSeide等人使用深度神经网络进行语音识别,相比于传统的GMM和HMM,识别错误率下降了20%-30%,取得了突破性的进展。2012年:AlexKrizhevsky等人提出了AlexNet,它引入了ReLU激活函数,并使用GPU进行加速。在著名的ImageNet图像识别大赛中,AlexNet使得图像识别错误率从26%左右下降到了15%左右,并夺得2012年的冠军。在随后几年的ImageNet图像识别大赛中,又出现了一些经典的卷积神经网络,如VGGNet、GoogleNet、ResNet和SENet等,图像识别错误率继续下降。2017年:SENet的图像识别错误率已经下降到了2.25%,由于错误率已经到了极限,这也导致ImageNet图像识别大赛从2018年开始不再举办。深度学习的发展292014年起:R-CNN、FastR-CNN、FasterR-CNN等一系列目标检测模型的提出,极大地提升了目标检测的精度,但是它们需要两个阶段才能完成,模型训练效率较低。2016年:YOLO目标检测模型被提出,由于它是一个端到端的模型,大大提高了模型训练与推理效率,但模型的精度不如R-CNN系列高,之后YOLO的后续版本陆续被推出,目前已经到了第八版。2014年:生成对抗网络由当时还在蒙特利尔大学读博士的IanJ.Goodfellow提出,由于它无需标注大量的数据即可进行训练,在学术界迅速掀起了研究热潮。深度学习的发展30在自然语言处理领域,LSTM、门限循环单元(GatedRecurrentUnit,GRU)等循环神经网络在语言模型、机器翻译等任务上也取得了很大的进展。特别是随着Transformer的出现,使得BERT、GPT等预训练大模型进入人们的视野,这些大模型在自然语言处理领域多个任务上都超越了已有方法。2022年以来:ChatGPT、GPT4.0的相继问世更是使得大型通用语言模型达到了前所未有的高度,被誉为信息技术领域里程碑式的突破。2023年:百度公司在国内也率先推出了大型通用语言模型“文心一言”,之后清华大学、复旦大学、华为公司、阿里公司、科大讯飞也都发布了自己的大模型,开启了大型中文语言模型的新时代。深度学习的发展31当前,深度学习仍然是人工智能领域关注度最高的主题之一,研究如火如荼,应用也是多点开花。在研究方面:基于AI的内容生成、多模态数据分析、深度强化学习等工作正在火热进行。在应用方面:深度学习已经在安防、医疗、金融、智能制造、无人驾驶等多个领域取得了显著的成果。深度学习与机器学习、AI的关系2深度学习与机器学习、AI的关系FromNvidia33深度学习与机器学习、AI的关系34人工智能人工智能定义“人工智能”的概念最早在1956年的美国达特茅斯会议(DartmouthConference)上提出,当时会议的主题是“用机器来模仿人类学习以及其它方面的智能”。因此,1956年被认为是人工智能的元年。一般认为,人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新兴学科。35人工智能已实现基本实现未来热点36人工智能分类人工智能人工智能技术搜索理论、知识表示与推理方法、机器学习算法、感知、决策与控制技术等。参考书史忠植.高级人工智能.北京:科学出版社.[美]史蒂芬·卢奇(StephenLucci),丹尼·科佩克(DannyKopec)著,林赐译.人工智能(第2版).北京:人民邮电出版社,2018.37机器学习机器学习定义让计算机具有像人一样的学习和思考能力的技术的总称。具体来说是从已知数据中获得规律,并利用规律对未知数据进行预测的技术。一个简单的例子:利用机器学习算法对往年的天气预报数据进行学习,就能够预测未来的天气预报数据。38机器学习机器学习分类有监督学习(跟学师评):有老师(环境)的情况下,学生(计算机)从老师(环境)那里获得对错指示、最终答案的学习方法。包含线性回归、多项式回归、决策树和随机森林等回归算法,以及KNN、逻辑回归、贝叶斯和支持向量机等分类算法。无监督学习(自学标评):没有老师(环境)的情况下,学生(计算机)自学的过程,一般使用一些既定标准进行评价,或无评价。包含K-Means聚类、主成分分析、关联分析和密度估计等算法。弱监督学习:仅有少量环境提示(教师反馈)或者少量数据(试题)标签(答案)的情况下,机器(学生)不断进行学习的方法。包含强化学习、半监督学习和多示例学习等算法。3940有监督学习和无监督学习41强化学习42机器学习常见算法43机器学习参考书周志华.机器学习.北京:清华大学出版社,2016.李航.统计学习方法(第2版).北京:清华大学出版社,2019.深度学习的基本概念与典型算法3为什么需要深度学习?45深度学习基本概念46深度学习定义深度学习是指通过构建多层神经网络结构来学习数据的特征,以便于进行数据分类、回归与生成。深度学习与浅层学习相比,神经网络结构的层数更多(一般大于或等于4层),通过多层神经网络结构可以学习得到更丰富的数据特征。深度学习基本概念47浅层前馈神经网络和深度前馈神经网络典型深度学习算法48典型深度学习算法49有监督学习的浅层学习算法:决策树、支持向量机、感知机和Boosting等。无监督学习的浅层学习算法:自编码器、受限玻尔兹曼机、高斯混合模型和稀疏自编码器等有监督学习的深度学习算法:深度前馈神经网络、卷积神经网络、循环神经网络、Transformer、胶囊网络和深度森林等。无监督学习的深度学习算法:深度自编码器、生成对抗网络、深度玻尔兹曼机和深度信念网络等。典型深度学习算法50深度前馈神经网络卷积神经网络典型深度学习算法51循环神经网络Transformer典型深度学习算法52生成对抗网络深度信念网络与深度玻尔兹曼机典型深度学习算法53深度自编码器深度学习的主要应用概述4深度学习的主要应用55计算机视觉领域主要应用(基础任务)图像分类:整幅图像的分类或识别。目标检测:检测图像中物体的位置进而识别物体。图像分割:对图像中的特定物体按边缘进行分割,并识别物体类别或个体。图像回归:预测图像中物体或者物体组成部分的坐标。细化深度学习的主要应用56图像分类图像分割目标检测图像回归深度学习的主要应用57计算机视觉领域主要应用(高级任务)人脸识别:首先通过目标检测提取人的正脸,然后通过人脸识别人员身份。行人重识别:检测视频序列中的行人,并识别特定人员的身份。目标跟踪:在连续的视频帧中定位某一行人或者其他运动目标。动作识别:识别视频中人体的动作/行为。产品缺陷检测:检测工业产品存在的缺陷。深度学习的主要应用58语音识别领域主要应用语音识别:将人类说话的语音转换成文字。声纹识别:根据说话人的声波特性进行身份识别,又称为说话人识别。语音合成:将文本转换为语音。深度学习的主要应用59自然语言处理领域主要应用(基础任务)词法分析:以词为单位进行分析,包括词性标注、拼写校正等。句法分析:以句子为单位进行分析,主要包括句法结构分析和依存句法分析等。语义分析:分析自然语言的深层含义,包括词汇级语义分析、句子级语义分析和篇章级语义分析。信息抽取:从自然语言中抽取出结构化信息,包括实体抽取、事件抽取等。语言模型:根据之前的单词预测下一个单词。深度学习的主要应用60自然语言处理领域主要应用(高级任务)情感分析:分析文本体现的情感,可包含正负向、正负中或多态度等类型。神经机器翻译:基于神经网络语言模型的多语种互译。神经自动摘要:根据单文档或者多文档自动生成文档摘要。机器阅读理解:通过阅读文本回答问题、完成选择题或完型填空。自动问答:用户给出问题,机器可以进行回答,也称单轮对话。人机对话:通过训练大量语料,支持人与机器之间的自由对话,通常指的是多轮对话。深度学习主要应用61多模态处理领域的应用图像描述:机器可以根据图像给出描述图像的句子,也称看图说话。可视问答:机器可以回答特定图像或视频相关的问题。图像生成:机器可以根据文本描述生成相应的图像。视频生成:机器可以根据文字描述自动生成相应的视频。虚拟主播:自动播报新闻的虚拟人物。本章人物5本章人物63GeoffreyHinton多伦多大学杰出教授,英国皇家科学院院士,美国国家工程院外籍院士,美国艺术与科学院外籍院士,2018图灵奖获得者。在BP算法、玻尔兹曼机、时间延迟神经网络、变分学习和深度学习领域做出杰出文献,被誉为“深度学习之父”。个人主页:/~hinton/。中英文术语对照6中英文术语对照65深度学习:DeepLearning人工神经网络:ArtificialNeuralNetworks,ANNM-P神经元模型:McCulloch-PittsNeuronModel感知机:Perceptron神经认知机:Neocognitron反向传播算法:BackPropagation,BP循环神经网络:RecurrentNeuralNetworks,RNN支持向量机:SupportVectorMachine,SVM长短期记忆网络:Long-ShortTermMemory,LSTM中英文术语对照66卷积神经网络:ConvolutionalNeuralNetworks,CNN深度信念网络:DeepBeliefNetworks,DBN高斯混合模型:GaussianMixtureModel,GMM隐马尔可夫模型:HiddenMarkovModel,HMM生成对抗网络:GenerativeAdversarialNetworks,GAN门限循环单元:GatedRecurrentUnit,GRU基于Transformer的双向编码器表示模型:BidirectionalEncoderRepresentationfromTransformers,BERT生成式预训练Transformer:GenerativePre-trainingTransformer,GPT中英文术语对照67计算智能:ComputationalIntelligence感知智能:PerceptualIntelligence认知智能:CognitiveIntelligenceK-近邻:K-NearestNeighbor,KNN深度前馈神经网络:DeepFeedforwardNeuralNetworks,DFNN多层感知机:Multi-LayerPerceptron,MLP自注意力:Self-attention编码器-解码器结构:Encoder-DecoderSigmoid信念网:SigmoidBeliefNetworks,SBN中英文术语对照68受限玻尔兹曼机:RestrictedBoltzmannMachines,RBM深度玻尔兹曼机:DeepBoltzmannMachine,DBM自编码器:Autoencoder,AE深度自编码器:DeepAutoencoder,DAE时间延迟神经网络:Time-delayNeuralNetworks变分学习:VariationalLearning对比散度算法:ContrastiveDivergence,CD胶囊网络:CapsuleNetworks前向-前向算法:Forward-ForwardAlgorithm69第二章卷积神经网络深度学习卷积神经网络的起源与发展1卷积神经网络的基本结构2卷积神经网络的训练3典型卷积神经网络45目录Contents中英文术语对照7卷积神经网络的主要应用6本章人物卷积神经网络的起源与发展1卷积神经网络的起源73D.H.Hubel(1926-2013)andT.N.Wiesel(1924-).
Receptivefields,binocularinteractionandfunctionalarchitectureinthecat‘svisualcortex.
JournalofPhysiology,1962,160(1):106-154.Hubel-Weisel实验(1959年)卷积神经网络的起源74。简单细胞(SimpleCell):对光束的位置有反应。复杂细胞(ComplexCell):对光束的位置和移动有反应。超级复杂细胞(Hyper-complexCell):对有端点的光束移动有反应。层次关系:通过对光束特征的不断提取和综合实现整个光束的识别。Hubel-Weisel实验(1959年)卷积神经网络的起源75KunihikoFukushima.Neocognitron:Aself-organizingneuralnetworkmodelforamechanismofpatternrecognitionunaffectedbyshiftinposition.BiologicalCybernetics,1980,36:193–202.福岛邦彦神经认知机(1980年)卷积神经网络的起源76
神经认知机(1980年)卷积神经网络的发展卷积神经网络的基本结构2卷积神经网络的基本结构79典型的卷积神经网络一般由卷积层(含激活函数)、池化层、全连接层和输出层构成,其中卷积层与池化层一般交替排列,之后接一层或者多层全连接层,最后是输出层。卷积层80卷积运算卷积运算(Convolution)是数学中的常见运算,分为离散卷积与连续卷积。
例子:求两个骰子之和为4的概率81例子:求两个骰子之和为4的概率82
例子:求两个骰子之和为4的概率83例子:求两个骰子之和为4的概率84两枚骰子点数加起来为4的概率为:
f(1)g(3)+f(2)g(2)+f(3)g(1)
写成标准的形式:
卷积公式
85一维连续卷积一维离散卷积卷积公式二维卷积:86二维连续卷积二维离散卷积87卷积层
88卷积层卷积核相当于传统计算机视觉领域中的特征算子,用于提取图像特征。传统的Sobel梯度算子45°方向模板被设计为:89卷积层数据填充:
p=1s=190卷积层在使用PyTorch等深度学习框架时,卷积层有Padding参数,有三种选择:‘Full’、‘Valid’和‘Same’。‘Full’表示需要填充,当卷积核与输入开始接触时进行卷积操作,‘Valid’表示不需要填充,‘Same’表示需要填充并保证输出与输入具有相同的尺寸。91卷积层步幅:
p=1s=292卷积层通道(Channel):一般指的图像的颜色通道。单通道图像:一般指的灰度图像。多通道图像:一般指的基于RGB的图像,有R、G、B三个通道。特征图(Featuremap):经卷积和激活函数处理后的图像。93卷积层单通道卷积:单通道图像的卷积。单卷积核单通道卷积多卷积核单通道卷积94卷积层多通道卷积:多通道图像的卷积。单卷积核多通道卷积(一般不这样做)多卷积核多通道卷积95卷积层多通道卷积:多通道图像的卷积。多卷积核多通道卷积(卷积计算)96卷积层多通道卷积:多通道图像的卷积。多卷积核多通道卷积(求和)97卷积层多通道卷积:多通道图像的卷积。多卷积核多通道卷积(偏置(bias))98卷积层
CS231N:http://cs231n.github.io/convolutional-networks/多通道卷积99卷积层卷积层的主要作用浅层卷积层:提取的是图像基本特征,如边缘、方向和纹理等特征。深层卷积层:提取的是图像高阶特征,出现了高层语义模式,如“车轮”、“人脸”等特征。100卷积层卷积层的主要作用101卷积层卷积层的主要作用102激活函数激活函数的引入,增强了人工神经网络的非线性表达能力,从而提高了模型的学习能力。在人工神经网络发展的初期,Sigmoid激活函数起到了十分重要的作用,但随着人工神经网络层数的增加以及反向传播算法的使用,会产生梯度消失问题。在卷积神经网络中,为了缓解梯度消失问题,常用的激活函数有ReLU、PReLU、ERU和Maxout等。
103激活函数Sigmoid激活函数存在“梯度饱和效应”问题,即Sigmoid激活函数两端梯度都趋于0,因此在使用误差反向传播算法进行网络训练时,该区域的误差无法传递到前一层,从而导致网络训练失败。104激活函数105激活函数
Tanh激活函数同样存在“梯度饱和效应”问题,即Tanh激活函数两端梯度也都趋于0,因此在使用误差反向传播算法进行网络训练时,该区域的误差也无法传递到前一层,从而导致网络训练失败。106激活函数107激活函数
与Sigmoid激活函数相比,ReLU在x≥0部分消除了“梯度饱和效应”,且ReLU的计算更简单,计算速度更快。但ReLU本身也存在缺陷,如果输入为负值,其梯度等于0,导致“神经元死亡”,将无法进行权重更新,进而无法完成网络训练。即便如此,ReLU仍然是当前深度学习领域中最为常用的激活函数之一。108激活函数109激活函数
110激活函数111激活函数
ELU激活函数的优点是处理含有噪声的数据有优势,与Sigmoid激活函数相比更容易收敛。ELU激活函数的缺点是计算量较大,与ReLU激活函数相比,收敛速度较慢。112激活函数113激活函数
Maxout激活函数的优点是能够缓解梯度消失问题,规避了ReLU激活函数“神经元死亡”的缺点。Maxout激活函数的缺点是增加了一层神经网络,无形中增加了参数和计算量。114激活函数卷积神经网络中的激活函数选择CNN在卷积层尽量不要使用Sigmoid和Tanh,将导致梯度消失。首先选用ReLU,使用较小的学习率,以免造成神经元死亡的情况。如果ReLU失效,考虑使用LeakyReLU、PReLU、ELU或者Maxout,此时一般情况都可以解决。115激活函数116池化层池化操作使用某位置相邻输出的总体统计特征作为该位置的输出。常用类型:最大池化(max-pooling)和均值池化(average-pooling)。池化层不包含需要训练学习的参数,仅需指定池化操作的核大小、步幅以及池化类型。117池化层池化层的作用对输入对象进行“降采样(Downsampling)”操作,一定程度上提高了模型的容错能力。保证了当输入出现少量平移时,输出近似不变,增强了网络对输入图像中的小变形、扭曲、平移的鲁棒性(输入里的微小扭曲不会改变池化输出)。池化核的指定相当于在空间范围内对特征图的特征进行了维度约减,同时缩小了下一层输入的特征图尺寸,进而在一定程度上减少了网络的参数个数和计算量。118全连接层全连接层一般由一到多层的全连接神经网络组成,功能是对卷积层或池化层输出的特征图(二维)进行降维。119全连接层可以将不同的区域特征合并为一个完整的特征。/weixin_40903337/article/details/100074878120输出层分类问题:使用Softmax函数递归问题:使用线性函数
121卷积神经网络的训练以图像分类任务为例用随机数初始化网络需训练的参数(如权重、偏置)。将训练图像作为输入,进行卷积层、ReLU、池化层以及全连接层的前向传播,并计算每个类别的对应输出概率。计算输出层的总误差:总误差=-∑(目标概率×log(输出概率))。使用BP算法计算总误差相对于所有参数的梯度,并用梯度下降法或其他优化算法更新所有参数的值,以使输出误差最小。卷积核个数、卷积核大小以及网络架构,是在步骤1之前就已经确定的,且不会在训练过程中改变,只有网络的其他参数,如神经元的权重、偏置会更新。122卷积神经网络的训练池化层的训练:把池化层改为多层神经网络的形式。123卷积神经网络的训练池化层的训练:最大池化和均值池化的误差反向传播。最大池化均值池化124卷积神经网络的训练卷积层的训练:首先把卷积层也改为多层神经网络的形式,之后使用BP算法进行训练。125卷积神经网络的训练
126卷积神经网络的训练
127卷积神经网络的训练
典型卷积神经网络4LeNet-5AlexNetVGGNetGoolgeNetResNet129经典卷积神经网络130LeNet-5LeNet-5由LeCun等人提出于1998年提出。主要进行手写数字识别和英文字母识别。LetNet虽小,各模块齐全,是学习CNN的基础。/exdb/lenet/。Y.LeCun,L.Bottou,Y.Bengio,andP.Haffner.Gradient-basedlearningappliedtodocumentrecognition.ProceedingsoftheIEEE,November1998.131LeNet-5132LeNet-5输入层:尺寸大小为32×32的图像。C1层(卷积层):选用6个5×5的卷积核,步长为1,得到6个大小为28×28的特征图(32-5+1=28),神经元的个数为6×28×28=4704。133LeNet-5S2层(下采样层):对C1所得6个28×28的特征图进行均值池化,池化核大小选择2×2,步长为2,得到的均值乘上一个权重加上一个偏置作为Sigmoid激活函数的输入,得到6个14×14的特征图,神经元个数为6×14×14=1176。134LeNet-5C3层(卷积层):选用16个5×5卷积核组(前6个卷积核组中的卷积核个数为3,中间6个为4,之后3个为4,最后1个为6)对S2层输出的特征图进行卷积,加偏置和激活函数(Sigmoid)后得到16张10×10(14-5+1=10)新特征图。此时神经元个数为16×10×10=1600。……135LeNet-5S4层(下采样层):对C3的16张10×10特征图进行最大池化,池化核大小为2×2,步长为2,得到的最大值乘以一个权重参数,再加上一个偏置参数作为激活函数(Sigmoid)的输入,得到16张5×5的特征图,神经元个数已经减少为16×5×5=400。136LeNet-5C5层(卷积层):选用16个5×5的卷积核进行卷积,乘以一个权重参数并求和,再加上一个偏置参数作为激活函数(Sigmoid)的输入,得到1×1(5-5+1=1)的特征图。然后我们希望得到120个特征图,就要用总共120个5×5卷积核组(每个组16个卷积核)进行卷积,神经元减少为120个。137LeNet-5F6层(全连接层):与C5层全连接,有84个神经元,对应于一个7×12的比特图。将输入乘以一个权重并求和,再加上一个偏置作为Sigmoid函数的输入,得到84个值。ASCII编码图(每个字符7X12像素)C5层120个138LeNet-5Output层(全连接层):与F6层全连接,共有10个神经元,分别代表数字0到9。输出层采用径向基函数(RadialBasisFunction,RBF)的网络连接方式。139LeNet-5
140LeNet-5总结:卷积核大小、卷积核个数(特征图需要多少个)、池化核大小和步长等这些参数都是变化的,这就是所谓的CNN调参,需要学会根据需要进行不同的选择。141AlexNetAlexNet由Hinton的学生AlexKrizhevsky于2012年提出。获得ImageNetLSVRC-2012(物体识别挑战赛)的冠军,数据集包含1000个类别120万幅高清图像,Error:26.2%(2011)→15.3%(2012)。通过AlexNet确定了CNN在计算机视觉领域的王者地位。A.Krizhevsky,I.Sutskever,andG.Hinton.Imagenetclassificationwithdeepconvolutionalneuralnetworks.InNIPS,2012.142AlexNet首次成功应用ReLU作为CNN的激活函数。使用Dropout丢弃部分神元,避免了过拟合。使用重叠MaxPooling(让池化层的步长小于池化核的大小),提升了特征的丰富性。首次使用CUDA加速训练过程。使用了数据增强,在原始图像大小为256×256的原始图像中重复截取224×224大小的区域,大幅增加了数据量。对图像数据通过主成分分析方法进行降维处理。143AlexNetAlexNet的原始结构144AlexNetAlexNet的简化结构145AlexNetAlexNet可分为8层(池化层未单独算作一层),包括5个卷积层以及3个全连接层。输入层:AlexNet首先使用大小为224×224×3图像作为输入,后改为227×227×3。146AlexNet第一个卷积层(含池化):包含96个大小为11×11的卷积核组,卷积步长为4,因此第一层输出大小为55×55×96((227-11)/4+1=55),分为两组,每组48个;然后构建一个核大小为3×3、步长为2的最大池化层进行数据降采样,进而输出大小为27×27×96((55-3)/2+1=27),每组48个。147AlexNet第二个卷积层(含池化):包含256个大小为5×5的卷积核组,卷积步长为1,同时利用padding保证输出尺寸不变,因此该层输出大小为27×27×256;然后再次通过核大小为3×3、步长为2的最大池化层进行数据降采样,进而输出大小为13×13×256((27-3)/2+1=13)。148AlexNet第三层与第四层(卷积层):均为卷积核大小为3×3、步长为1的same卷积,共包含384个卷积核,因此两层的输出大小都为13×13×384。149AlexNet第五层(卷积层):同样为卷积核大小为3×3、步长为1的same卷积,但包含256个卷积核,进而输出大小为13×13×256;在数据进入全连接层之前再次通过一个核大小为3×3、步长为2的最大池化层进行数据降采样,数据大小降为6×6×256((13-3)/2+1=6),并将数据扁平化处理展开为9216个单元。150AlexNet第一个、第二个和第三个全连接层:第一个全连接层与第二个全连接层的神经元个数都是4096,第三个全连接层神经元个数为1000个,使用Softmax分类器输出1000类的分类结果。151VGG-16
K.SimonyanandA.Zisserman.Verydeepconvolutionalnetworksforlarge-scaleimagerecognition.InICLR,2015.152VGG-16153VGG-16
Conv1Conv2Conv3Conv4Conv5卷积层数22333卷积核数64128256512512154VGG-16两个卷积核大小为3*3的卷积层串联后的感受野尺寸为5*5,相当于单个卷积核大小为5*5的卷积层。两者参数数量比值为(2*3*3)/(5*5)=72%
,前者参数量更少。此外,两个卷积层串联可使用两次ReLU激活函数,而一个卷积层只使用一次。155GoogleNet由Google公司2014年提出,获得ImageNetLSVRC-2014冠军。它的主要思想是除了在网络深度上加深(22层)之外,在宽度上也加宽。GoogleNet的核心是Inception模块,Inception模块包含4个分支,每个分支均使用了1×1卷积,它可以跨通道组织信息,提高网络的表达能力,同时还可以对输出通道进行升维和降维。Inception模块中包含了1×1、3×3、5×5三种不同尺寸的卷积和1个3×3最大池化,增强了网络对不同尺度特征图的适应性。156GoogleNet深度:层数更深,采用了22层。宽度:InceptionModule包含4个分支,在卷积核3x3、5x5之前、maxpooling之后分别加上了1x1的卷积核,起到了降低特征图厚度的作用。157InceptionNetInception四个版本所对应的论文及ILSVRC中的Top-5错误率:[v1]GoingDeeperwithConvolutions:6.67%testerror。[v2]BatchNormalization:AcceleratingDeepNetworkTrainingbyReducingInternalCovariateShift:4.8%testerror。[v3]RethinkingtheInceptionArchitectureforComputerVision:3.5%testerror。[v4]Inception-v4,Inception-ResNetandtheImpactofResidualConnectionsonLearning:3.08%testerror。
参考链接:/p/cc830a6ed54b
158ResNetResNet(ResidualNeuralNetwork),又叫做残差神经网络,是由微软研究院的何凯明等人2015年提出。获得ImageNetILSVRC2015比赛冠军。获得CVPR2016最佳论文奖。KaimingHe,XiangyuZhang,ShaoqingRen,JianSun.DeepResidualLearningforImageRecognition.CVPR2016:770-778159ResNet随着卷积网络层数的增加,误差的逆传播过程中存在的梯度消失和梯度爆炸问题同样也会导致模型的训练难以进行。甚至会出现随着网络深度的加深,模型在训练集上的训练误差会出现先降低再升高的现象。残差网络的引入则有助于解决梯度消失和梯度爆炸问题。160ResNet梯度消失和梯度爆炸问题原因深度神经网络训练问题。激活函数问题。/qq_25737169/article/details/78847691。161ResNetResNet的核心是叫做残差块(Residualblock)的小单元,残差块可以视作在标准神经网络基础上加入了跳跃连接(Skipconnection)。
162ResNet卷积神经网络的主要应用5164卷积神经网络的主要应用目标检测:R-CNN系列,YOLO系列图像分割:FCN,SegNet,UNet姿态估计:DeepPose,基于沙漏网络的姿态估计人脸识别:DeepFace,DeepID/DeepID2,FaceNet165目标检测目标检测是指将图像或者视频中的目标物体用边框(BoundingBox)标记并识别出该目标物体的类别。目前目标检测任务有两类模型一类是以区域卷积神经网络(Region-CNN,R-CNN)系列为代表的两阶段模型一类是以YOLO系列为代表的一阶段模型166R-CNN系列R-CNN由RossGirshick等人2014年提出。首先在ImageNet上训练模型,然后在PASCALVOC数据集上进行Fine-tuning。在PascalVOC2012的数据集上,能够将目标检测的验证指标mAP提升到53.7%,这相对于之前最好的结果提升了整整13.3%。RossB.Girshick,JeffDonahue,TrevorDarrell,JitendraMalik.RichFeatureHierarchiesforAccurateObjectDetectionandSemanticSegmentation.CVPR2014:580-587167R-CNN系列168R-CNN系列实现过程区域划分:给定一张输入图片,采用SelectiveSearch算法从图片中提取2000左右类别独立的候选区域。特征提取:对于每个区域利用Alexnet抽取一个固定长度的特征向量。目标分类:对每个区域利用SVM
进行分类。边框回归:使用BoundingboxRegression(Bbox回归)进行边框坐标偏移优化和调整。169R-CNN系列Crop就是从一个大图抠出网络输入大小的patch,比如227×227Warp把一个边界框boundingbox的内容resize成227×227170R-CNN系列区域划分SelectiveSearch算法的核心思想:图像中物体可能存在的区域应该有某些相似性或者连续性的,算法采用子区域合并的方法提取候选边界框。首先,通过图像分割算法将输入图像分割成许多小的子区域。其次,根据这些子区域之间的相似性(主要考虑颜色、纹理、尺寸和空间交叠4个方面的相似性)
进行区域迭代合并。每次迭代过程中对这些合并的子区域做Boundingboxes(外切矩形),这些子区域的外切矩形就是通常所说的候选框。SelectiveSearch算法相似度计算考虑了颜色、纹理、尺寸和是否交叠四个方面:171R-CNN系列[1]PedroF.Felzenszwalb,DanielP.Huttenlocher.EfficientGraph-BasedImageSegmentation.IJCV,200459(2):167-181JasperR.R.Uijlings,KoenE.A.vandeSande,TheoGevers,ArnoldW.M.Smeulders.SelectiveSearchforObjectRecognition.IJCV,2013,104(2):154-171层次分组算法(HierarchicalGroupAlgorithm)输入:(彩色)图像输出:目标定位假设L的集合EndEnd172R-CNN系列173R-CNN系列174R-CNN系列SVM分类(二分类)训练时,把Ground-truth作为该类别的正例,把IoU小于0.3的Proposal作为该类别的负例。调优CNN时,把IoU大于0.5的Proposal作为该类别的正例,其他作为负例(所有类别的背景)。IntersectionoverUnionIoU=(A∩B)/(A∪B)175R-CNN系列边框回归GroundtruthProposal176R-CNN系列边框回归:是使得预测的边框尽可能与人工标定的边框越接近越好。177R-CNN系列
178R-CNN系列
179R-CNN系列
基于边长的归一化尺度比例的对数180R-CNN系列
181R-CNN系列边框回归182R-CNN系列mAP:meanAveragePrecision,是多标签图像分类任务中的评价指标。AP衡量的是学出来的模型在给定类别上的好坏,而mAP衡量的是学出的模型在所有类别上的好坏。/xw_2_xh/article/details/88190806183SPPNet
KaimingHe,XiangyuZhang,ShaoqingRen,JianSun.
SpatialPyramidPoolinginDeepConvolutionalNetworksforVisualRecognition.IEEETrans.PatternAnal.Mach.Intell.37(9):1904-1916(2015)184SPPNet
KaimingHe,XiangyuZhang,ShaoqingRen,JianSun.
SpatialPyramidPoolinginDeepConvolutionalNetworksforVisualRecognition.IEEETrans.PatternAnal.Mach.Intell.37(9):1904-1916(2015)185R-CNN系列SPPnet如图所示,在conv5层得到的特征图是256个,每个都做一次spatialpyramidpooling。先把每个特征图分割成多个不同尺寸的网格,比如网格分别为4*4、2*2、1*1,然后对每个网格做maxpooling,这样256个特征图就形成了16*256,4*256,1*256维特征。它们连起来就形成了一个固定长度的特征向量,将这个向量输入到后面的全连接层。186R-CNN系列FastR-CNN使用Softmax分类替换R-CNN中的SVM分类。将候选框目标分类与边框回归同时放入全连接层,形成一个多任务学习(Multi-taskLearning)模型,设计了联合损失函数,将Softmax分类、边框回归一起训练。添加感兴趣区域池化(RegionofInterestPooling,RoIPooling)层,实现了不同大小区域特征图的池化。训练时所有的特征存在缓存中,不再存到硬盘上,提升了速度。RossB.Girshick.
FastR-CNN.ICCV2015:1440-1448187R-CNN系列训练时:RoI共64个测试时:RoI共2000个188R-CNN系列189R-CNN系列ROIPooling层:将每个候选区域均匀分成M×N块,对每块进行maxpooling。将特征图上大小不一的候选区域转变为大小统一的数据,送入下一层。190R-CNN系列在R-CNN中的流程是先提proposal,然后CNN提取特征,之后用SVM分类器,最后再做Bbox回归进行候选框的微调。FastR-CNN在CNN提取特征后,做一个RoIpooling,再将候选框目标分类与Bbox回归同时放入全连接层,形成一个multi-task模型。191R-CNN系列
即对真实分类的概率取负log192R-CNN系列
193R-CNN系列194R-CNN系列195R-CNN系列FasterR-CNNRPN(RegionProposalNetwork):使用全卷积神经网络来生成区域建议(Regionproposal),替代之前的Selectivesearch。
ShaoqingRen,KaimingHe,RossB.Girshick,JianSun.FasterR-CNN:TowardsReal-TimeObjectDetectionwithRegionProposalNetworks.IEEETrans.PatternAnal.Mach.Intell.39(6):1137-1149(2017)196R-CNN系列/p/31426458197R-CNN系列FasterR-CNN卷积层(Convlayers):首先使用一组Conv+ReLU+Pooling组合提取Image的特征图(Featuremaps),特征图被共享用于后续的RPN和RoIPooling。区域建议网络(RegionProposalNetworks,RPN):RPN用于生成regionproposals。它通过Softmax判断区域是有目标的正例(Positive)还是没有目标的负例(Negative),再利用边框回归获得候选区域。198R-CNN系列FasterR-CNNRoIPooling:该层接收卷积层的featuremaps和RPN层的proposals,综合这些信息后提取proposalfeaturemaps,送入全连接层判定目标类别。Classification:利用proposalfeaturemaps计算proposal的类别,同时再次使用Bbox回归获得检测框最终的精确位置。199R-CNN系列RPNAnchor:矩形框。RPN中使用了长宽比为1:1,1:2和2:1三种矩形框。输入图像需要reshape适应Anchor大小。200R-CNN系列RPNClslayer用Softmax计算Anchor内是某个object的概率。Reglayer实现Anchor边界框回归输出。201R-CNN系列RPN通过Softmax分类anchors获得positive和negative分类。计算anchors的Bbox回归的偏移量。最后的Proposal综合positiveanchors和对应Bbox回归偏移量获取proposals,同时剔除太小和超出边界的proposals。202R-CNN系列
203R-CNN系列
204R-CNN系列FasterR-CNN训练方式Alternatingtraining。Approximatejointtraining。Non-approximatejointtraining。205R-CNN系列206R-CNN系列207R-CNN系列208YOLO系列YOLO与R-CNN系列最大的区别是用一个卷积神经网络结构(one-stage)就可以从输入图像直接预测boundingbox和类别概率,实现了End2End训练。可以学到物体的全局信息,背景误检率比R-CNN降低一半,泛化能力强。准确率不如R-CNN高,小物体检测效果较差。速度非常快,实时性好。JosephRedmon,SantoshKumarDivvala,RossB.Girshick,AliFarhadi.YouOnlyLookOnce:Unified,Real-TimeObjectDetection.CVPR2016:779-788209YOLO系列210YOLO系列若某个物体的中心位置的坐标落入到某个格子,那么这个格子就负责检测出这个物体211YOLO系列x,y是boundingbox中心位置相对于当前格子位置的偏移值,并且被归一化到[0,1]内。w和h的值根据图像的宽度和高度把boundingbox宽度和高度归一化到[0,1]内。212YOLO系列
xy213YOLO系列214YOLO系列215YOLO系列
216YOLO系列
217YOLO系列
218YOLO系列
219YOLO系列YOLO损失函数位置误差含有目标的置信度误差不含目标的置信度误差分类误差第i个Cell的第j个Bbox负责object,与groundtruthBbox的IoU值最大的负责220YOLO系列221YOLO系列YOLO2和YOLO9000JosephRedmon,AliFarhadi.YOLO9000:Better,Faster,Stronger.CVPR2017:6517-6525222YOLO系列YOLOv2Batchnormalization:在每一个卷积层后添加batchnormalization,极大的改善了收敛速度同时减少了对其它regularization方法的依赖,使得mAP获得了2%的提升。分辨率修改:YOLOv2首先修改预训练分类网络的分辨率为448*448,在ImageNet数据集上训练10轮(10epochs),mAP获得了4%的提升。多尺度训练:YOLO使用全连接层数据进行boundingbox预测(要把1470*1的全链接层reshape为7*7*30的最终特征),这会丢失较多的空间信息导致定位不准,丢弃全连接层使用RPN中的anchorbox去做Bbox回归。223YOLO系列BatchnormalizationSergeyIoffe,
ChristianSzegedy.BatchNormalization:AcceleratingDeepNetworkTrainingbyReducingInternalCovariateShift./abs/1502.03167v3224YOLO系列YOLO2225YOLO系列YOLO9000首先基于Wordnet构建WordTree层次分类。基于WordTree进行图像分类和目标检测的联合训练。226YOLO系列YOLOV3更好的主干网Darknet-53。多尺度预测。更好的分类器:Softmax不适用于多标签分类使用独立的多个logistic分类器,准确率不会下降227YOLO系列YOLOV3228YOLO系列YOLOv4使用CSPDarknet-53作为骨干网络,并引入特征金字塔池化、Mosaic数据增强和Mish激活函数等改进方法,与YOLOv3相比,检测准确率有较大的提升。YOLOv5与YOLOv4相比,改进不大,主要是把最大池化由并行改为了串行。YOLOv6的改进也不大,主要的改进是骨干网络由CSPDarknet-53改为了EfficientRep。229YOLO系列Mosaic数据增强:将四张图片进行拼接到一张图上作为训练样本随机选取四张图片。对每张图片进行数据增强,翻转、缩放、色域变化。进行图片的组合和候选框的组合,形成一张图片。Mish激活函数:光滑函数,比ReLU泛化能力更好230图像分割全卷积网络(FullyConvolutionalNetworks,FCN)是使用深度神经网络进行图像分割的开山之作。FCN与传统的卷积神经网络不同,仅包含卷积层和池化层,不再包含全连接层和输出层。因此,它也不再对整幅图像进行分类,而是实现了像素级的分类,进而输出图像分割的结果。J.Long,E.Shelhamer,andT.Darrell,“Fullyconvolutionalnetworksforsemanticsegmentation,”inProceedingsoftheIEEEConferenceonComputerVisionandPatternRecognition,2015,pp.3431–3440.FCN231FCN与传统CNN的区别FCN232FCN中的卷积过程和上采样过程FCN233image经过多个conv和一个maxpooling变为pool1feature,特征图的宽高变为1/2。pool1feature再经过多个conv和一个maxpooling变为pool2feature,特征图的宽高变为1/4。pool2feature再经过多个conv和一个maxpooling变为pool3feature,特征图的宽高变为1/8。直到pool5feature,宽高变为1/32。FCN中的卷积过程FCN234对于FCN-32s,直接对pool5feature进行32倍上采样获得32xupsampledfeature,再对32xupsampledfeature每个点做softmaxprediction获得32xupsampledfeatureprediction(即分割图)。对于FCN-16s,首先对pool5feature进行2倍上采样获得2xupsampledfeature,再把pool4feature和2xupsampledfeature逐点相加,然后对相加的feature进行16倍上采样,并softmaxprediction,获得16xupsampledfeatureprediction。对于FCN-8s,首先进行pool4+2xupsampledfeature逐点相加,然后又进行pool3+2xupsampledfeature逐点相加,即进行更多次特征融合。FCN中的上采样过程FCN235上采样(upsampling)一般包括2种方式:调整尺寸(Resize),如使用双线性插值进行图像放大。逆卷积(Deconvolution),也叫TransposedConvolution。FCN236
FCN237SegNet238V.Badrinarayanan,A.Kendall,andR.Cipolla.
Segnet:Adeepconvolutionalencoder-decoderarchitectureforimagesegmentation,arXivpreprintarXiv:1511.00561,2016.http://mi.eng.cam.ac.uk/projects/segnet/EncoderVGG-16,13个卷积层(卷积+BatchNormalization+ReLU),不含全连接层。5个最大池化层。进行2×2最大池化时,存储相应的最大池化索引(位置)。239SegNetDecoderVGG-16,13个卷积层(卷积+BatchNo-rmalization+ReLU),不含全连接层。5个上采样层,采用Encoder的最大池化索引进行上采样。使用K类Softmax分类器来预测每个像素的类别。240SegNetSegNet241SegNet242SegNet243UNet244OlafRonneberger,PhilippFischer,andThomasBrox.
U-Net:ConvolutionalNetworksforBiomedicalImageSegmentation.arXiv:1505.04597v1[cs.CV]18May2015Encoder-Decoder架构Encoder:左半部分,由两个3x3的卷积层(RELU)再加上一个2x2的Maxpooling层组成,一共下采样4次。Decoder:右半部分,由一个上采样的逆卷积层加上特征拼接再加上两个3x3的卷积层(ReLU)组成,也相应上采样4次。245UNetSkipconnection在同一个层次进行了特征Copy,保证了最后恢复出来的特征图融合了更多的底层特征,也使得不同尺度(scale)的特征得到了的融合,从而可以进行多尺度预测,4次上采样也使得分割图恢复边缘等信息更加精细。246UNetUNet247UNet248基于UNet的眼球血管图像分割DRIVE数据集,/UNet249基于UNet的医学图像分割姿态估计250姿态估计(PoseEstimation):可视为图像或视频中人体关节位置(也称为关键点,如手肘、膝盖、肩膀等)的定位问题,因此也被称为人体关键点检测。MSCOCO人体姿态关键点格式人体姿态识别示例0:nose1:neck2:rightshoulder3:rightelbow4:rightwrist5:leftshoulder6:leftelbow7:leftwrist8:righthip9:rightknee10:rightankle11:lefthip12:leftknee13:leftankle14:righteye15:lefteye16:rightear17:leftear姿态估计251姿态估计分类单人姿态估计(SinglePersonPoseEstimation,SPPE)。多人姿态估计(MultiplePersonPoseEstimation,MPPE)。姿态估计方法最初集中于SPPE,但MPPE更
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络视频内容审核补充合同
- 法院执行法拍房优先购买权放弃及补偿协议
- 儿童友好购物中心楼层委托经营管理合同
- 气管切开康复护理
- Part3-4 Unit3 Internship课件-【中职专用】高一英语(高教版2021基础模块2)(2023修订版)
- 遗产继承管理合同(2篇)
- 2025版高考地理一轮复习专题八区域可持续发展高频考点72森林开发和生物多样性减少练习含解析
- 2025版高考化学一轮复习课后限时集训31醛羧与酯含解析新人教版
- 护理案例精髓解析
- 数控技术应用培训体系
- 平面设计需求表、流程表
- GB/T 12962-2015硅单晶
- 11471劳动争议处理(第8章)
- 苏教版三年级科学下册单元测试卷及答案(全册)
- 完整版医院体检报告范本
- 文学欣赏电子教案(全)完整版课件整套教学课件
- 我的高三成长档案
- 130种常用中药伪品和混淆品目录
- 《中国字中国人》歌词
- DBJ51∕T 153-2020 四川省附着式脚手架安全技术标准
- 毽球校本课程
评论
0/150
提交评论