深度学习及自动驾驶应用 课件 第8、9章 基于Transformer的自动驾驶目标检测理论与实践、生成对抗网络及自动驾驶应用_第1页
深度学习及自动驾驶应用 课件 第8、9章 基于Transformer的自动驾驶目标检测理论与实践、生成对抗网络及自动驾驶应用_第2页
深度学习及自动驾驶应用 课件 第8、9章 基于Transformer的自动驾驶目标检测理论与实践、生成对抗网络及自动驾驶应用_第3页
深度学习及自动驾驶应用 课件 第8、9章 基于Transformer的自动驾驶目标检测理论与实践、生成对抗网络及自动驾驶应用_第4页
深度学习及自动驾驶应用 课件 第8、9章 基于Transformer的自动驾驶目标检测理论与实践、生成对抗网络及自动驾驶应用_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Transformer的自动驾驶目标检测理论与实践第八章DeepLearningAndAutonomousDriving深度学习与自动驾驶应用DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第2页8.4Transformer自动驾驶应用8.1Transformer概述8.3VisionTransformer介绍8.2Transformer基本理论8.5实践项目目录ContentDeepLearningAndAutonomousDriving深度学习与自动驾驶应用第3页8.1Transformer概述为什么要用TransformerDeepLearningAndAutonomousDriving深度学习与自动驾驶应用第4页8.1Transformer概述Seq2Seq任务:指的是输入和输出都是序列,且输出长度不确定时采用的模型;这种情况一般是在机器翻译的任务中出现,将一句中文翻译成英文,那么这句英文的长度有可能会比中文短,也有可能会比中文长,所以输出的长度就不确定了。输入的中文长度为4,输出的英文长度为2Seq2Seq任务DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第5页8.1Transformer概述如何处理Seq2Seq任务其实在之前我们使用的是RNN(或者是其的单向或者双向变种LSTM/GRU等)来作为编解码器,RNN模块每次只能够吃进一个输入token和前一次的隐藏状态,然后得到输出。它的时序结构使得这个模型能够得到长距离的依赖关系,但是这也使得它不能够并行计算,模型效率十分低。在没有transformer的时候,我们都是用什么来完成这系列的时序任务的呢?DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第6页8.1Transformer概述Encoder-Decoder模型Seq2Seq任务最常见的是使用Encoder+Decoder的模式,先将一个序列编码成一个上下文矩阵,在使用Decoder来解码。当然,我们仅仅把contextvector作为编码器到解码器的输入。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第7页8.1Transformer概述Attention注意力机制在介绍什么是注意力机制之前,先让大家看一张图片。当大家看到右边这张图片,会首先看到什么内容?当过加载信息映入眼帘时,我们的大脑会把注意力放在主要的信息上,这就是大脑的注意力机制。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第8页8.1Transformer概述Attention注意力机制DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第9页8.1Transformer概述Transformer整体模型架构2017年google的机器翻译团队在NIPS上发表了Attentionisallyouneed的文章,开创性地提出了在序列转录领域,完全抛弃CNN和RNN,只依赖Attention-注意力结构的简单的网络架构,名为Transformer;论文实现的任务是机器翻译。Multi-HeadAttentionAdd&NormInputEmbeddingOutputEmbeddingFeedForwardAdd&NormMaskedMulti-HeadAttentionAdd&NormMulti-HeadAttentionAdd&NormFeedForwardAdd&NormLinearSoftmaxInputsOutputs(shiftedright)PositionalEncodingPositionalEncodingTransformer结构DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第10页8.1Transformer概述每个词的Attention计算每个词的Q会跟整个序列中每一个K计算得分,然后基于得分再分配特征Q:

query,要去查询的K:

key,等着被查的V:

value,实际的特征信息DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第11页8.4Transformer自动驾驶应用8.1Transformer概述8.3VisionTransformer介绍8.2Transformer基本理论8.5实践项目目录ContentDeepLearningAndAutonomousDriving深度学习与自动驾驶应用第12页8.1Transformer概述Attention的优点1.参数少:相比于CNN、RNN,其复杂度更小,参数也更少。所以对算力的要求也就更小。2.速度快:Attention解决了RNN及其变体模型不能并行计算的问题。Attention机制每一步计算不依赖于上一步的计算结果,因此可以和CNN一样并行处理。3.效果好:在Attention机制引入之前,有一个问题大家一直很苦恼:长距离的信息会被弱化,就好像记忆能力弱的人,记不住过去的事情是一样的。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第13页8.2Transformer基本理论Transformer模型黑盒模式从宏观的视角开始首先将这个模型看成是一个黑箱操作。在机器翻译中,就是输入一种语言,输出另一种语言。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第14页8.2Transformer基本理论Transformer模型Encoder-Decoder架构模式那么拆开这个黑箱,我们可以看到它是由编码组件、解码组件和它们之间的连接组成。编码组件部分由一堆编码器(encoder)构成(论文中是将6个编码器叠在一起)。解码组件部分也是由相同数量(与编码器对应)的解码器(decoder)组成的。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第15页8.2Transformer基本理论DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第16页8.2Transformer基本理论编码器所有的编码器在结构上都是相同的,但它们没有共享参数。每个编码器都可以分解成两个子层。每个编码器由两个子层组成:Self-Attention层(自注意力层)和Position-wiseFeedForwardNetwork(前馈网络)DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第17页8.2Transformer基本理论解码器从编码器输入的句子首先会经过一个自注意力(self-attention)层,这层帮助编码器在对每个单词编码时关注输入句子的其他单词。自注意力层的输出会传递到前馈(feed-forward)神经网络中。每个位置的单词对应的前馈神经网络都完全一样(译注:另一种解读就是一层窗口为一个单词的一维卷积神经网络)。解码器中也有编码器的自注意力(self-attention)层和前馈(feed-forward)层。除此之外,这两个层之间还有一个注意力层,用来关注输入句子的相关部分(和seq2seq模型的注意力作用相似)。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第18页8.2Transformer基本理论每个单词都被嵌入为512维的向量,词嵌入过程只发生在最底层的编码器中。所有的编码器都有一个相同的特点,即它们接收一个向量列表,列表中的每个向量大小为512维。在底层(最开始)编码器中它就是词向量,但是在其他编码器中,它就是下一层编码器的输出(也是一个向量列表)。各种向量或张量是怎样在模型的不同部分中,将输入转化为输出的?像大部分NLP应用一样,我们首先将每个输入单词通过词嵌入算法转换为词向量。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第19页8.2Transformer基本理论Transformer的一个核心特性,在这里输入序列中每个位置的单词都有自己独特的路径流入编码器。在自注意力层中,这些路径之间存在依赖关系。而前馈(feed-forward)层没有这些依赖关系。因此在前馈(feed-forward)层时可以并行执行各种路径将输入序列进行词嵌入之后,每个单词都会流经编码器中的两个子层。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第20页8.2Transformer基本理论编码过程编码器会接收一个向量作为输入。编码器首先将这些向量传递到Self-Attention层,然后传递到前馈网络,最后将输出传递到下一个编码器。输入序列的每个单词都经过自编码过程。然后,它们各自通过前向传播神经网络:完全相同的网络,而每个向量都分别通过它。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第21页8.2Transformer基本理论编码过程假如,我们要翻译下面这个句子:Theanimaldidn’tcrossthestreetbecauseitwastootired.这个句子中的it指的是什么?是指animal还是street?对人来说,这是一个简单的问题,但是算法来说却不那么简单。当模型在处理it时,Self-Attention机制使其能够将it和animal关联起来。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第22页8.2Transformer基本理论当我们在编码器(堆栈中的顶部编码器)中对单词”it“进行编码时,有一部分注意力集中在”Theanimal“上,并将它们的部分信息融入到”it“的编码中。编码过程DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第23页8.2Transformer基本理论编码过程计算自注意力的第一步就是从每个编码器的输入向量(每个单词的词向量)中生成三个向量。也就是说对于每个单词,我们创造一个查询向量(Q)、一个键向量(K)和一个值向量(V)。这三个向量是通过词嵌入与三个权重矩阵后相乘创建的。X1与WQ权重矩阵相乘得到q1,就是与这个单词相关的查询向量。最终使得输入序列的每个单词的创建一个查询向量Q、一个键向量K和一个值向量V。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第24页8.2Transformer基本理论

计算得分

将每个值向量乘以softmax分数(这是为了准备之后将它们求和)。

DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第25页8.2Transformer基本理论通过矩阵运算实现自注意力机制

x矩阵中的每一行对应于输入句子中的一个单词。我们再次看到词嵌入向量(512,或图中的4个格子)和q/k/v向量(64,或图中的3个格子)的大小差异。最后,由于我们处理的是矩阵,我们可以用一个公式来计算自注意力层的输出。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第26页8.2Transformer基本理论“多头”注意力(“multi-headed”attention)机制一组Q,K,V得到了一组当前词的特征表达类似卷积神经网络中的filter提取多种特征?DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第27页8.2Transformer基本理论可以看到Multi-HeadAttention输出的矩阵Z与其输入的矩阵X的维度是一样的。“多头”注意力(“multi-headed”attention)机制DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第28页8.2Transformer基本理论“multi-headed”attention全部流程DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第29页8.2Transformer基本理论使用位置编码表示序列的顺序到目前为止,我们对模型的描述缺少了一种理解输入单词顺序的方法。为了解决这个问题,Transformer为每个输入的词嵌入添加了一个向量。这些向量遵循模型学习到的特定模式,这有助于确定每个单词的位置,或序列中不同单词之间的距离。这里的直觉是,将位置向量添加到词嵌入中使得它们在接下来的运算中,能够更好地表达的词与词之间的距离。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第30页8.2Transformer基本理论使用位置编码表示序列的顺序为了让模型理解单词的顺序,我们添加了位置编码向量,这些向量的值遵循特定的模式。如果我们假设词嵌入的维数为4,则实际的位置编码如下:DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第31页8.2Transformer基本理论DecoderDecoder和Encoder中的模块类似,都包含Attention层、前馈网络层、融合归一化层,不同的是Decoder中多了一个Encoder-DecoderAttention层。

Decoder模块的输入输出和解码过程:DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第32页8.2Transformer基本理论DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第33页8.4Transformer自动驾驶应用8.1Transformer概述8.3VisionTransformer介绍8.2Transformer基本理论8.5实践项目目录ContentDeepLearningAndAutonomousDriving深度学习与自动驾驶应用第34页8.3VisionTransformer介绍DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第35页8.3VisionTransformer介绍图片分类的原理背景知识DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第36页8.3VisionTransformer介绍背景知识为什么需要用transformerCNN(如ResNet)是图像分类的最佳解决方案。如果预训练的数据集足够大(至少一亿张图像),则VisionTransformer(ViT)将击败CNN(小幅度)VisionTransformer(ViT)实际上就是Transformer的encode网络。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第37页8.3VisionTransformer介绍VisionTransformer(ViT)提出ViT模型的这篇文章题名为AnImageisWorth16x16Words:TransformersforImageRecognitionatScale,发表于2020年10月份,虽然相较于一些Transformer的视觉任务应用模型(如DETR)提出要晚了一些,但作为一个纯Transformer结构的视觉分类网络,其工作还是有较大的开创性意义的。论文下载链接:/abs/2010.11929

DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第38页8.3VisionTransformer介绍VisionTransformer(ViT)对于一个标准的Transformer模块,要求输入的是token(向量)序列,即二维矩阵[num_token,token_dim]。对于一个图像数据而言,其数据格式为三维矩阵[H,W,C],这明显不是Transformer想要的,所以我们需要进行一个图像预处理步骤。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第39页8.3VisionTransformer介绍VisionTransformer(ViT)先将图片分成NxN的patch块(原始论文是16x16)patch块可以重叠(上图没有重叠,是9x9的patch块)DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第40页8.3VisionTransformer介绍VisionTransformer(ViT)将patch打平,对每个patch进行线性映射,提取特征DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第41页8.3VisionTransformer介绍VisionTransformer(ViT)提取特征DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第42页8.3VisionTransformer介绍VisionTransformer(ViT)类似NLP问题,我们给PatchEmbedding加上了一个位置编码PositionEmbedding。接着我们进行Transformer编码操作,就能反馈得到很多输出。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第43页8.3VisionTransformer介绍VisionTransformer(ViT)将位置编码信息加入提取的特征DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第44页8.3VisionTransformer介绍VisionTransformer(ViT)将位置编码信息加入提取的特征DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第45页8.3VisionTransformer介绍VisionTransformer(ViT)结论:编码有用,但是怎么编码影响不大,干脆用简单的得了2D(分别计算行和列的编码,然后求和)的效果还不如1D的每一层都加共享的位置编码也没啥太大用位置编码信息对准确率的影响DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第46页8.3VisionTransformer介绍VisionTransformer(ViT)

Transformer提取特征DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第47页8.3VisionTransformer介绍VisionTransformer(ViT)

DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第48页8.3VisionTransformer介绍VisionTransformer(ViT)

至于这个TransformerEncoder,实际上是一个标准的Transformer。

当你有这些patch的时候,先进来做一次LayerNorm,然后再做Multi-HeadAttention,然后再LayerNorm,再做一个MLP,这就是一个Transformerblock。然后我们可以把它叠加L次,就得到了我们的TransformerEncoder。

所以说从整体上来看,VisionTransformer的架构还是相当简洁的,它的特殊之处就在于如何把一个图片变成这里的一系列的token。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第49页8.3VisionTransformer介绍VisionTransformer模型整体思路1.图片切分为patch2.patch转化为embedding3.位置embedding和tokensembedding相加4.输入到Transformer模型5.CLS输出做多分类任务DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第50页8.3VisionTransformer介绍VisionTransformer(ViT)输入输入输入注意力注意力注意力来自输入空间的注意力表达DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第51页8.3VisionTransformer介绍DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第52页8.4Transformer自动驾驶应用8.1Transformer概述8.3VisionTransformer介绍8.2Transformer基本理论8.5实践项目目录ContentDeepLearningAndAutonomousDriving深度学习与自动驾驶应用第53页8.4Transformer自动驾驶应用目标检测DETR

:End-to-EndObjectDetectionwithTransformers第一步是通过一个CNN对输入图片抽取特征,然后将特征图拉直输入TransformerEncoder-Decoder;第二步的TransformerEncoder部分就是使得网络更好地去学习全局的特征;第三步使用TransformerDecoder以及ObjectQuery从特征中学习要检测的物体;第四步就是将ObjectQuery的结果和真值进行二分图匹配(Set-to-SetLoss),最后在匹配上的结果上计算分类Loss和位置回归Loss;DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第54页8.4Transformer自动驾驶应用目标检测DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第55页8.4Transformer自动驾驶应用语义分割StratifiedTransformerfor3DPointCloudSegmentation第一步:输入的三维点云数据首先通过第一层点嵌入模块,以聚合每个点的局部信息;第二步:对于每个查询点,对附近的点进行密集采样,并以分层方式稀疏采样远点作为其关键点;第三步:使用抽样密钥来计算每个查询点的注意力权重,这些权重用于聚合按键中的信息;第四步:聚合信息通过多层Transformer网络传递,以捕获长期依赖关系并生成最终的分段结果DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第56页8.4Transformer自动驾驶应用语义分割DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第57页8.4Transformer自动驾驶应用点云目标检测Pointformer

:3DObjectDetectionwithPointformer第一步:将三维点云作为输入,并将其通过LocalTransformer模块,LocalTransformer模块对局部区域中点之间的交互进行建模,该模块在对象级别学习上下文相关的区域特征;第二步:使用Local-GlobalTransformer,将局部特征与分辨率更高的全局特征集成在一起,以捕捉多尺度表示之间的依赖关系;第三步:使用GlobalTransformer,旨在学习场景级别的情境感知表现形式。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第58页8.4Transformer自动驾驶应用点云目标检测DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第59页8.4Transformer自动驾驶应用BEV感知BEVFormer:LearningBird’s-Eye-ViewRepresentationfromMulti-CameraImagesviaSpatiotemporalTransformers第一步:将多摄像机图像作为输入,首先由主干网络处理以提取特征。与此同时,提取前一个时间戳的BEV特征;第二步:在每一个encoder层,首先通过时间自注意模块去查询前一个时间戳的BEV特征。然后,通过空间交叉注意模块从多摄像头特征​中查询空间特征。第三步:经过前馈,encoder层输出细化的BEV特征,作为下一个encoder层的输入,经过6个叠加的encoder层后得到统一的BEV特征DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第60页8.4Transformer自动驾驶应用BEV感知DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第61页8.4Transformer自动驾驶应用8.1Transformer概述8.3VisionTransformer介绍8.2Transformer基本理论8.5实践项目目录ContentThanks!DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第62页第八章注意力机制与Transformer谢谢!本章总结与答疑生成对抗网络及自动驾驶应用第九章DeepLearningAndAutonomousDriving深度学习与自动驾驶应用DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第64页9.4实践项目9.1生成式对抗网络概述9.3生成对抗网络应用9.2生成式对抗网络基本理论目录ContentDeepLearningAndAutonomousDriving深度学习与自动驾驶应用第65页9.1生成式对抗网络概述什么是对抗?在射雕英雄传中,老顽童周伯通被困在桃花岛,闲的无聊,自创了左右手互搏术,左手打右手,右手打左手,双手的武功不断精进。这就是对抗在现实世界里没有左右手互搏术,但在人工智能的世界里却有,这就是GAN,中文名字:生成对抗网络。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第66页9.1生成式对抗网络概述生成对抗网络能干啥?2018年10月,一幅肖像画在纽约佳士得以43万美元的高价被成功拍卖作者为GANDeepLearningAndAutonomousDriving深度学习与自动驾驶应用第67页9.1生成式对抗网络概述生成对抗网络能干啥?如果将GAN比作一个人的话,书法、作画、谱曲,样样都可以做到精通,就像他的名字“生成对抗网络”一样,他的诞生就是为了生成、为了创作。GAN有哪些应用?DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第68页9.1生成式对抗网络概述深度学习中常见生成式模型自编码(AE)其隐变量z是一个单值映射:z=f(x)变分自编码(VAE)其隐变量z是一个正态分布的采样生成式对抗网络(GAN)条件生成式对抗网络(CGAN)在生成器和判别器中添加某一标签信息深度卷积生成式对抗网络(DCGAN)判别器和生成器都使用了卷积神经网络(CNN)来替代GAN

中的多层感知机DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第69页9.1生成式对抗网络概述GAN起源GAN(GenerativeAdversarialNetworks),中文翻译为生成式对抗网络,是IanGoodfellow等在2014年提出的一种生成式模型。GAN的基本思想源自博弈论的二人零和博弈,由一个生成器和一个判别器构成,通过对抗学习的方式来训练.目的是估测数据样本的潜在分布并生成新的数据样本。2001年,TonyJebara在毕业论文中以最大熵形式将判别模型与生成模型结合起来联合学习2007年,ZhuowenTu提出将基于boosting分类器的判别模型与基于采样的生成模型相结合,来产生出服从真实分布的样本。2012年,JunZhu将最大间隔机制与贝叶斯模型相结合进行产生式模型的学习。2014年,IanGoodfellow等人提出生成式对抗网络,迎合了大数据需求和深度学习热潮,给出了一个大的理论框架及理论收敛性分析。起源发展DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第70页9.1生成式对抗网络概述

GAN的核心思想来源于博弈论的纳什均衡它设定参与游戏双方分别为一个生成器(Generator)和一个判别器(Discriminator),生成器的目的是尽量去学习真实的数据分布,而判别器的目的是尽量正确判别输入数据是来自真实数据还是来自生成器;为了取得游戏胜利,这两个游戏参与者需要不断优化,各自提高自己的生成能力和判别能力,这个学习优化过程就是寻找二者之间的一个纳什均衡。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第71页9.1生成式对抗网络概述DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第72页9.4实践项目9.1生成式对抗网络概述9.3生成对抗网络应用9.2生成式对抗网络基本理论目录ContentDeepLearningAndAutonomousDriving深度学习与自动驾驶应用第73页9.2生成式对抗网络基本理论生成对抗模型的特性——博弈生成器的目标:接收随机向量,生成与真实样本尽可能相似的样本。判别器的目标:接收生成器生成的样本和真实样本,尽可能地判断两者之间的真假。纳什均衡:生成器和判别器都能得到最多的好处DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第74页9.2生成式对抗网络基本理论GAN应用的一般框架随机变量+真实数据+生成器+判别器

一般为二分类网络网络结构根据生成内容定义DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第75页9.2生成式对抗网络基本理论训练过程训练过程中,固定一方,更新另一方的网络权重,交替迭代。那么先训练谁呢?生成器学生:负责产出内容判别器老师:负责评判分数先训练判别器。1、样本直接输入到判别器之中。2、只有判别器具有一定的判断能力后,生成器的训练才有意义。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第76页9.2生成式对抗网络基本理论使用步骤建立模型生成器和判别器网络训练过程损失函数参数学习DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第77页9.2生成式对抗网络基本理论常用:交叉熵损失函数判别器目标函数:对于真实样本,其标签值为1,那么其单个样本损失函数就是同理可得生成器输出样本的总体损失函数,判别器的目标函数定义如下其中,D(x)表示判别器输出的真实图像的概率分布,D(G(z))表示判别器输出的生成器生成图像的概率分布。

真实样本的总体损失函数是

DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第78页9.2生成式对抗网络基本理论模型总目标函数对于判别器,我们尽可能地希望其分类正确,但是对于生成器而言,我们又希望D(G(z))越接近1越好,所以GAN网络的目标函数如下所示

DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第79页9.2生成式对抗网络基本理论使用步骤GAN的主要分支-CGANCGAN--条件生成对抗网络,为了防止训练崩塌将前置条件加入输入数据。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第80页9.2生成式对抗网络基本理论使用步骤DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第81页9.2生成式对抗网络基本理论使用步骤GAN的主要分支-DCGANDCGAN--深度卷积生成对抗网络,提出了能稳定训练的网络结构,更易于工程实现。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第82页9.2生成式对抗网络基本理论使用步骤GAN的主要分支-CGANCGAN--条件生成对抗网络,为了防止训练崩塌将前置条件加入输入数据。DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第83页9.2生成式对抗网络基本理论使用步骤DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第84页9.4实践项目9.1生成式对抗网络概述9.3生成对抗网络应用9.2生成式对抗网络基本理论目录ContentDeepLearningAndAutonomousDriving深度学习与自动驾驶应用第85页9.3生成对抗网络应用GAN的应用

图像和视觉领域语音和语言领域其他领域作为一个具有“无限”生成能力的模型,GAN的直接应用就是建模,生成与真实数据分布一致的数据样本,GAN可以用于解决标注数据不足时的学习问题。其可以应用于:DeepLearningAndAutonomousDriving深度学习与自动驾驶应用第86页9.3生成对抗网络应用图像和视觉领域GAN能够生成与真实数据分布一致的图像。一个典型应用是利用GAN来将一个低清模糊图像变换为具有丰富细节的高清图像。用VGG网络作为判别器,用参数化的残差网络表示生成器,实验结果如图所示,可以看到GAN生成了细节丰富的图像。Deep

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论