毫米波雷达深度学习技术-1.6目标识别2

news2025/1/13 7:36:35

1.6.4 自动编码器和变体自动编码器

      自编码器包括一个编码器神经网络,随后是一个解码器神经网络,其目的是在输出处重建输入数据。自动编码器的设计在网络中施加了一个瓶颈,它鼓励原始输入的压缩表示。通常,自编码器旨在利用数据中的关键结构将输入压缩成网络的瓶颈或潜在空间表示,这足以重建原始输入数据。因此,它被用于降维和去噪等应用。

      该模型包括一个由θ参数化的编码器函数g和一个由Φ参数化的解码器函数f。瓶颈层给出如下:

(1.45)

      其中x为输入数据,z为编码的潜在向量。解码器输出端的重构输入可以表示为:

(1.46)

      然后使用重构损失(如均方误差(MSE))迭代优化自编码器网络:

(1.47)

      与旨在将输入数据投影到单个潜在向量上的自编码器相比,变体自编码器[40-42]的目标是将输入数据学习或编码到潜在空间中的分布上。变体自编码器可以看作是在训练期间应用正则化,以防止网络过拟合。输入数据x被编码为潜在空间上的一个分布,即,然后从该潜在分布中采样一个点,然后将其送入解码器以重构输入数据为。均方误差等重构损失与对均值为0、方差为1的高斯分布(即N(0,1))的Kullback-Leibler (KL)散度一起用于反向传播并学习网络的权值。

      在实践中,编码分布被选择为正态分布,这样编码器就可以被训练来返回平均值和描述这些高斯分布的协方差矩阵。将输入编码为带有一些方差的分布而不是单点的原因是,它允许非常自然地表达潜在空间正则化:编码器返回的分布被强制接近标准正态分布,从而使整个特征空间接近标准正态分布。我们可以注意到,两个高斯分布之间的KL散度有一个封闭的形式,可以直接用两个分布的均值和协方差矩阵表示。变体自编码器(VAE)的损失函数可写为:

(1.48)

      这里N是例子的数量。

      KL散度是对从近似分布中采样的数据概率与目标分布之间的对数差的期望,定义如下:

(1.49)

      KL散度具有以下性质:

      1. 当两个分布近似相同时,KL散度为0:

(1.50)

      2. 对于任意两个分布,KL散度总是正的:

(1.51)

      3.为了保证是有限的,p的支持需要包含在q中,否则如果式(1.49)q(x)->0,那么

      4.KL散度是一个非对称度量,即

(1.52)

      从概念上讲,在潜空间中学习分布的VAE架构使空间连续,这意味着潜空间中两个间隔较近的点比两个间隔较远的点产生更多相似的内容,并且是完整的,这意味着从潜空间中采样的任何点都会在VAE的解码器处产生有意义的输出。由于在反向传播期间,梯度不能流过概率层,因此提取的采样过程需要一种特殊的技术,称为“重新参数化技巧”。重参数化技巧建议从零均值和单位方差的高斯中随机抽样ε,然后通过潜在分布的均值u来移动其方差σ,然后通过潜在分布的方差来对其进行缩放。图1.15给出了重新参数化技巧,用于从潜在分布中采样随机变量,使其具有确定性。重新参数化技巧允许优化分布的参数,同时仍然保持从该分布中随机抽样的能力。

图1.15变体自编码器架构说明:(a)在反向传播过程中突出问题的原始形式,以及(b)重新参数化技巧。

1.6.5 生成对抗网络

      Goodfellow在2014年提出的生成对抗网络(Generative adversarial networks, GANs)[43]是利用神经网络进行无监督学习领域的一个突破。该技术是最有前途的无监督学习方法之一,因为它具有建模高维分布的能力,并且与之前的无监督学习方法(如VAEs, Boltzmann机等)相比,计算成本更低的训练过程。GANs的工作原理是一个两人最小最大博弈,其中两个神经网络(称为生成器和鉴别器)相互对抗。生成器试图通过生成看起来真实的数据来欺骗鉴别器,而鉴别器的任务是对真实数据和虚假数据进行分类。在训练过程中,生成器在创建看起来真实的图像方面逐渐变得更好,而鉴别器在区分它们方面变得更好。对于pg = pr,最小最大博弈具有全局(且唯一)最优,其中pg是生成分布,pr是真实数据分布。当鉴别器不再能够区分真假图像时,该过程达到平衡。一旦训练完毕,只有生成器被用来生成与真实数据分布相似的新的真实数据。图1.16说明了用于训练普通GAN网络的生成器和鉴别器的工作原理。

图1.16 香草GAN架构示意图,概述了生成器和鉴别器的原理。

      在训练过程中,鉴别器对来自生成器的真实数据和虚假数据进行分类,并对错误地将真实实例分类为虚假或虚假实例分类为真实的鉴别器权重进行处罚。因此,逐渐更好地分类真实和虚假数据。GAN的生成器部分通过结合来自鉴别器的反馈来学习创建假数据,从某种意义上说,生成器损失会惩罚生成器未能欺骗鉴别器。如果生成器完全成功,那么鉴别器的准确率为50%,这意味着它无法再区分真实数据和虚假数据。如果GAN继续训练超过这个点,那么生成器开始在完全随机的反馈上训练,它自己的质量可能会崩溃。

1.6.5.1 最小最大损失

      在最小最大损失的情况下,判据器的目标是最大化从真实分布中提取的数据的对数似然的期望,即,同时最小化从随机分布中采样的生成器生成的数据的对数似然的期望,即或等价的。因此,鉴别函数的目标是

(1.53)

      另一方面,生成器的目标是生成,使得生成器产生的假示例与鉴别器输出的真实数据相似。因此,将这两个方面结合起来,竞争目标可以表示为D和G在进行最小最大博弈,其组合损失函数为:

(1.54)

      这很好,因为与生成器优化无关。可以看出,生成器正试图最小化之间的Jensen-Shannon (JS)散度。JS散度取值范围为0 ~ 1,定义如下:

(1.55)

      值得注意的是,与VAEs中使用的KL散度不同,JS散度是对称的,在两个分布不相交的情况下,无论两个分布如何,都会导致log(2)的最大值。相比之下,在这种情况下,KL散度将为∞。从公式(1.55)中很容易看出,的最小值是在p ~ q时得到的。因此,生成器试图实现的是,这意味着生成器生成的数据与真实数据相似。鉴别器试图使D(x)接近1,D(G(z))接近0,从而使损失最大化,从而达到D * (x) = 1/2的最优值,即纳什均衡。

      GAN的最大最小损耗主要受梯度消失和模态坍缩的影响。如果鉴别器太好,那么生成器训练可能会因为梯度消失而失败。此外,随机输入GAN中的生成器有望产生各种输出。但是,如果生成器产生一个特别合理的输出,则生成器可能会学习只产生该输出。如果生成器在几次迭代中开始产生相同的输出,那么鉴别器的最佳策略是始终拒绝该输出。但是,如果鉴别器的下一次迭代陷入局部最小值并且没有找到最佳策略,那么下一次生成器迭代就很容易为当前鉴别器找到最合理的输出。结果,发生器陷入局部最小值,产生有限的输出集,这种现象称为模态崩溃。

1.6.5.2 Wasserstein损失

      在Wasserstein生成式对抗网络(WGANs)中,鉴别器不会对输入数据进行真假分类,而是输出一个数字。鉴别器训练只是试图使真实实例的输出大于假实例的输出。因此,WGAN中的鉴别器通常被称为批评家而不是鉴别器。鉴别器试图最大化评论家损失D(x) - D(G(z)),其中D(x)是评论家对真实实例的输出,G(z)是给定z的生成器的输出。D(G(z))是评论家对假数据的输出。因此,它试图最大化其对真实数据的输出与对假数据的输出之间的差异。发电机试图使发电机损耗D(G(z))最大化。因此,它试图最大化鉴别器对其假数据的输出。WGAN不容易受到模型崩溃的影响,并且可以避免梯度消失问题。

1.6.6 Transformer

      Transformer已经成为最近最流行的深度学习架构之一,因为它在从自然语言处理任务到视觉任务的广泛应用中可用,并且在多个公共数据集上取得了最先进的结果。然而,重要的是要注意,transformer具有很高的计算和内存需求,这可能不是嵌入式解决方案的理想选择。一些作品,如注意力就是你所需要的[44],专注于在模拟trasnformer功能的同时解决上述瓶颈。在下面的段落中,我们将对trasnformer中的不同模块进行解释,以方便读者理解相关作品。

      在[44]中介绍了由6个编码器、6个解码器组成的transformer的思想,并使用机器翻译作为应用。机器翻译任务将一个句子或一个短语(单词序列)作为输入,并输出翻译成目标语言的短语。每个编码器在架构上是相同的,同时有自己的一组可学习的权重,由一个自关注层和一个前馈层组成。自注意层可以被视为一种上下文感知的编码机制,它使用来自其他单词的信息来更好地编码。从技术实现的角度来看,自注意机制涉及每个单词的三个向量,即Attention Is All You Need [44] query (Q)、key (K)和value (V),它们由三个不同的全连接层生成,输出维数小于输入嵌入向量的维数。为了计算每个单词相对于短语中所有其他单词的分数,在单词的查询向量和短语中所有单词的关键向量之间进行点积。分数进一步除以关键向量dK维数的平方根,通过对梯度进行归一化来稳定训练。接下来,通过softmax函数传递所有分数以生成标准化分布。最后,如公式(1.56)所示,将softmax输出与值向量矩阵相乘,生成给定位置的自关注层输出Z。然后将此输出简单地馈送到以下全连接层:

(1.56)

      Transformer还引入了多头注意的概念,包括随机初始化多个自注意层,以便有不同的编码来覆盖多个子空间。多头注意力产生多个输出Z,它们被连接在一起,并与一个联合训练的权重向量W相乘,W将它们投射到一个向量中,该向量被馈送到完全连接的层。为了捕获给定序列中单词的顺序,生成位置编码,其中编码中的每个元素表示一个正弦波。然后将其添加到单词嵌入向量中,从而得到编码器的输入向量。此外,每个编码器由一个带有规范化层的剩余连接组成。在解码器中,来自顶部编码器的输入键和值向量作为输入,由编码器-解码器注意层使用。在每个时间步长之后,解码器的输出与位置编码一起反馈给解码器,该位置编码成为解码器中自注意层的输入。解码器自注意层通过屏蔽所有尚未被预测到−∞的剩余位置来防止将来出现位置,并且只有预测的输出序列作为解码器自注意层的输入。解码器的最后一层由一个logit层组成,该层具有所有可能单词的维数,并在其上应用softmax选择概率最高的一个作为预测单词。

      Transformer的整体架构如图1.17所示。

图1.17 Transformer网络结构。来源:改编自[44]。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1803040.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

cleanmymacx最新破解版百度云免费下载 cleanmymac激活码分享

CleanMyMac X4.15.3 中文破解版是一款 mac 系统清理软件,是一款专业的 Mac 清理、优化和维护工具,可以帮助用户清理系统垃圾、卸载不需要的应用程序、优化系统性能、保护隐私和安全等,让用户的 Mac 始终保持高效、安全和稳定。 CleanMyMac X4…

[经验] 涠洲岛在广西吗 #职场发展#知识分享#媒体

涠洲岛在广西吗 广西涠洲岛,是中国南海上的一颗闪亮明珠,位于广西北部湾沿海,东经108.71度,北纬21.54度,距离北海市区30公里,是中国最大的海岛之一,风景秀丽,气候温和。岛上山青水秀…

【进阶篇-Day2:JAVA包、抽象类、接口、多态】

目录 1、包2、抽象类2.1 抽象类的定义2.2 抽象类的注意事项2.3 abstract关键字的冲突 3、接口3.1 接口的介绍3.2 接口中的成员特点3.2.1 接口中的成员特点3.2.2 类和接口之间的各种关系 3.3 抽象类和接口的对比 4、多态4.1 多态的介绍4.2 多态的前提4.3 多态的成员访问特点4.4 …

Java线程本地变量ThreadLocal

ThreadLocal ThreadLocal有什么用 通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。如果想实现每一个线程都有自己的专属本地变量该如何解决呢? JDK中的ThreadLocal类正是为了解决这样的问题,ThreadLocal类主要解决的就是让每…

SpringBoot+Vue网上购物商城系统(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 系统角色对应功能 用户商家管理员 系统功能截图

测试基础11:测试用例设计方法-等价类划分

课程大纲 1、概述 1.1测试用例设计方法意义 穷举测试:每种输入都测一次。最完备,但不现实。 使用设计方法,用最少的数据(成本),实现最大的测试覆盖。 1.2常用设计方法 ①等价类划分 ②边界值分析 ③错误推…

vue3自定义组件并全局导入

自定义组件&#xff1a;幕布 涉及的效果&#xff1a;点击出现幕布并且内容可变动 使用的技术&#xff1a;vue3的slot componentcomponents curtain&#xff08;组件页面&#xff09;&#xff1a; <template><div class"curtain"><slot></s…

在UI界面中实现3d人物展示

简要原理(设置双摄像机): 为需要展示的3D人物单独设置一个摄像机(只设置为渲染人物层级),主要摄像机的方向与人物方向一致,但摄像机需要需要旋转180,设置的角度自行进行微调创建一个Render Texture类型的组件用于存储摄像机渲染的内容UI上设置需要展示的图片区域,图片…

线性表和链表

一&#xff0c;线性结构 1.Array Array文档&#xff1a;可以自行阅读相关文档来了解Array class array.array(typecode[, initializer]) array.append(x)&#xff1a;添加元素到数组末尾 array.count(x)&#xff1a;计算元素出现次数 array.extend(iterable)&#xff1a;将迭代…

ipables防火墙

一、Linux防火墙基础 Linux 的防火墙体系主要工作在网络层&#xff0c;针对 TCP/IP 数据包实施过滤和限制&#xff0c;属于典 型的包过滤防火墙&#xff08;或称为网络层防火墙&#xff09;。Linux 系统的防火墙体系基于内核编码实现&#xff0c; 具有非常稳定的性能和高效率&…

SpringBoot的Mapper文件什么时候需要使用@Param注解

解决&#xff1a;nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘XXX‘ not found 关于加注解&#xff0c;其他博客说的很清楚&#xff01;但是有的人会遇见明明使用的springboot2.x以上版本&#xff0c;仍然提示需要加注解&#xff01;这是为…

SQL Server设置默认Schema (修正运行版)

目录 方法 1&#xff1a;执行 USE 命令 方法 2&#xff1a;执行 ALTER USER 命令 方法 3&#xff1a;在查询中包含Schema 总结 在 SQL Server 中&#xff0c;通过 JDBC 设置会话的默认Schema并不是很直接&#xff0c;但可以使用一些变通方法来实现。以下是一些管理默认Sche…

sub_mch_id 与 sub_appid 不匹配怎么解决

小程序在支付的时候&#xff0c;有时候会碰到&#xff1a;sub_mch_id 与 sub_appid 不匹配的问题。这个问题意味着小程序微信支付时所使用的 sub_mch_id&#xff08;子商户号&#xff09;和 sub_appid&#xff08;小程序的appId&#xff09;不对应。下面就具体介绍如何核对是否…

解决 There is no getter for property named ‘null‘ in ‘class 报错

1. 问题 mybatis-plus在更新删除操作时报错 Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession750ee72a] 2024-06-08 21:03:07 [http-nio-8080-exec-3] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servl…

Kubernetes 基础架构最佳实践:从架构设计到平台自动化

本文探讨了如何将DigitalOcean Kubernetes (DOKS)应用于生产环境&#xff0c;并提供实现生产准备&#xff08;production readiness&#xff09;的指导。 规划您的基础架构 Kubernetes 基础架构的规划至关重要&#xff0c;因为它为稳定且可扩展的应用部署平台奠定了基础。通过适…

Python采集东方财富网股票数据建立LSTM模型预测

Python采集东方财富网股票数据建立LSTM模型预测 一、数据爬取流程二、爬虫完整代码三、LSTM模型建模预测3.1 项目背景3.2 建模预测流程3.3 数据预处理3.4 数据可视化3.5 特征工程3.6 数据缩放3.7 数据转换3.8 模型创建3.9 评价模型3.10 可视化结果3.11 总结一、数据爬取流程 先…

107.网络游戏逆向分析与漏洞攻防-装备系统数据分析-装备信息更新的处理

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果 现在的代码都是依据数据包来写的&#xff0c;如果看不懂代码&#xff0c;就说明没看懂数据包…

实战 | 通过微调SegFormer改进车道检测效果(数据集 + 源码)

背景介绍 SegFormer&#xff1a;实例分割在自动驾驶汽车技术的快速发展中发挥了关键作用。对于任何在道路上行驶的车辆来说&#xff0c;车道检测都是必不可少的。车道是道路上的标记&#xff0c;有助于区分道路上可行驶区域和不可行驶区域。车道检测算法有很多种&#xff0c;每…

【Unity3D小功能】Unity3D中UGUI-Text实现打字机效果

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群&#xff1a;398291828 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 需求要实现Text的打字机效果&#xff0c;一看居然…

实战 | YOLOv10 自定义数据集训练实现车牌检测 (数据集+训练+预测 保姆级教程)

导读 本文主要介绍如何使用YOLOv10在自定义数据集训练实现车牌检测 (数据集训练预测 保姆级教程)。 YOLOv10简介 YOLOv10是清华大学研究人员在Ultralytics Python包的基础上&#xff0c;引入了一种新的实时目标检测方法&#xff0c;解决了YOLO以前版本在后处理和模型架构方面…