打卡Day53

知识点:
1.对抗生成网络的思想:关注损失从何而来
2.生成器、判别器
3.nn.sequential容器:适合于按顺序运算的情况,简化前向传播写法
4.leakyReLU介绍:避免relu的神经元失活现象

ps:如果你学有余力,对于gan的损失函数的理解,建议去找找视频看看,如果只是用,没必要学

作业:对于心脏病数据集,对于病人这个不平衡的样本用GAN来学习并生成病人样本,观察不用GAN和用GAN的F1分数差异。

对抗生成网络(GAN,Generative Adversarial Network)是一种深度学习模型架构,由生成器(Generator)和判别器(Discriminator)两部分组成,通过两个模型相互对抗、博弈,以达到生成高质量数据样本的目的。

工作原理
生成器 :负责从随机噪声中生成逼真的数据样本,如图像、文本等。它类似于一个伪劣艺术家,试图通过学习训练数据的分布,生成能够以假乱真的作品。判别器 :负责判断给定的数据样本是来自真实训练数据还是生成器生成的假数据。它就像一个专业的艺术评论家,通过不断地审视作品,给出真伪判断。对抗过程 :训练过程中,生成器和判别器相互博弈。生成器不断尝试生成更逼真的样本以欺骗判别器,而判别器则不断学习如何更准确地识别真假样本。在这一过程中,生成器逐渐学习到训练数据的分布规律,生成的样本质量越来越高,判别器的判别能力也越来越强,最终达到纳什均衡,此时生成器生成的样本几乎可以以假乱真。
网络结构
生成器结构 :通常以随机噪声作为输入,经过一系列的线性变换、激活函数等操作,逐步将噪声转化为具有一定结构和特征的数据样本,常见的结构有全连接层、反卷积层、批量归一化层等。例如,DCGAN(Deep Convolutional GAN)中的生成器采用反卷积层逐步上采样,将低维噪声映射到高维图像空间。
判别器结构 :一般是一个卷积神经网络(CNN),用于接收数据样本并输出其为真实数据的概率值。它通过卷积层、池化层等提取样本的特征,并经过全连接层和激活函数(如 sigmoid)得到概率输出。判别器的设计需要考虑如何有效地捕捉数据样本的真实特征,以便准确地区分真实数据和生成数据。
训练过程
初始化 :随机初始化生成器和判别器的网络参数。训练判别器 :固定生成器的参数,使用真实数据和生成器生成的假数据训练判别器,通过优化损失函数(如交叉熵损失)来调整判别器的参数,使其能够更好地判断数据的真伪。
训练生成器 :固定判别器的参数,使用生成器生成的假数据训练生成器,通过优化损失函数(通常也是基于判别器对假数据的判断结果)来调整生成器的参数,使生成器生成的样本更有可能被误判为真实数据。
迭代交替训练 :重复上述训练判别器和生成器的过程,直到达到一定的训练轮数或生成器生成的样本质量达到预期。
应用领域
图像生成与编辑 :可以用于生成高质量的图像,如人物肖像、风景图等;还可以进行图像的风格转换、超分辨率重建、图像修复等图像编辑任务。
文本生成 :在自然语言处理领域,GAN 可以用于文本生成,如生成新闻报道、故事、诗歌等,也可以用于文本到文本的转换任务,如机器翻译、文本摘要等。
语音生成与合成 :能够生成逼真的语音信号,实现语音合成、语音转换等功能,在语音助手、语音识别等应用中具有潜在价值。
数据增强 :通过生成与真实数据分布相似的样本,为其他机器学习任务提供更多的训练数据,提高模型的性能和泛化能力,尤其在数据稀缺的情况下具有重要意义。

GAN 自提出以来,不断涌现出各种改进和变体,如 WGAN(Wasserstein GAN)、CGAN(Conditional GAN)、StyleGAN 等,这些改进在不同方面提升了 GAN 的性能和应用效果。

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

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

相关文章

【Three.js】机器人管线包模拟

机器人管线包模拟 背景技术选型效果视频效果截图 最近在工业数字化项目中尝试用Three.js实现了一个机器人管线包的3D可视化模拟系统,记录一下开发过程和技术要点,希望能给同样在探索Web3D技术的同学一些灵感。 背景 管线包(Dress Pack&…

微軟將開始使用 Copilot Vision 監控 Windows 10 和 11 用戶的螢幕

這對於提供幫助是必要的,美國用戶已經可以欣賞這項創新。 微軟為其AI助理Copilot添加了新的Vision功能,使其能夠即時分析用戶螢幕上發生的事情並幫助解決當前的問題。 根據該公司介紹,Copilot Vision 能夠捕捉使用者所見內容,並可…

多模态大语言模型arxiv论文略读(123)

Enhancing Advanced Visual Reasoning Ability of Large Language Models ➡️ 论文标题:Enhancing Advanced Visual Reasoning Ability of Large Language Models ➡️ 论文作者:Zhiyuan Li, Dongnan Liu, Chaoyi Zhang, Heng Wang, Tengfei Xue, Weid…

【linux】Linux vs Android

文章目录 1、联系2、区别3、核心差异4、应用场景对比5、未来发展趋势6、参考附录——GNU 都说Android就是个装了UI的Linux,可到底和Linux有什么关系呢? 1、联系 内核基础 共享Linux内核:安卓基于Linux内核构建,继承了Linux的进程…

台积电(TSMC)工艺库命名规则

以标准单元库tcb_n12ffcll_bwp_6t_20_p96_cpd_lvt_tt0p8v25c_hm_lvf_p_ccs举例说明台积电工艺库命名规则。 文件名分段解析 字段含义补充说明tcbTSMC标准单元库(TCBN = TSMC Cell Library, Base Node)通常用于标识基础标准单元库,区别于IO库(tciobn)或模拟库(tcap)。n1…

飞算 JavaAI 模块化生成:重构效率与体验的双重升级

在 Java 老项目重构场景中,代码生成的颗粒度与可控性直接影响开发效率。飞算 JavaAI 创新推出的模块化智能生成机制,支持按接口、按模块粒度触发源码生成,通过任务拆解与渐进式交付模式,为开发者提供更灵活的重构节奏控制&#xf…

硬件-DAY02(按键、中断、定时器、蜂鸣器)

补充:1.变量前加code,从RAM区变成ROM区 2.三极管的原理就是PN结 3.裸机程序是单线程的,display时不能delay 一、独立按键 1.高电平没按,低电平按了 按键原理:轮询方式(poll)-->以消耗大量CP…

前端页面html开发案例入门实践、超链接标签、图片标签、常用站点

前端页面html开发案例入门实践 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>html案例</title> </head> <body><h1>web前端开发</h1><h2>HTML</h2><…

策略模式和模板方法模式的区别【面试题】

策略模式和模板方法模式的区别【面试题】 摘要&#xff1a; 策略模式和模板方法模式均属于行为设计模式&#xff0c;但核心差异显著。策略模式通过组合实现&#xff0c;支持运行时动态切换完整算法&#xff08;如支付方式切换&#xff09;&#xff0c;变化维度大&#xff1b;模…

从零打造前沿Web聊天室:消息系统

消息存储系统 聊天室设计&#xff0c;消息存储系统非常关键&#xff0c;因为一开始设计时使用MongoDB&#xff0c;所以后续使用schemma方式存储。 后端架构&#xff1a;express MongoDB 消息插入策略 在 MongoDB 中设计聊天消息存储时&#xff0c;插入策略的选择会影响性能…

[7-01-03].第03节:环境搭建 - 集群架构

RabbitMQ学习大纲 一、使用集群的原因 1.基于以下原因&#xff0c;需要搭建一个 RabbitMQ 集群来解决实际问题 单机版的&#xff0c;无法满足目前真实应用的要求。如果 RabbitMQ 服务器遇到内存崩溃、机器掉电或者主板故障等情况&#xff0c;会导致rabbitMQ无法提供服务单台 R…

【vivado】时序分析之Latch pins with no clock

问题&#xff1a; vivado打开时序报告&#xff0c;如下图 表示存在锁存器Latch 解决方法&#xff1a; 查看代码中是否存在状态机的状态没有写全&#xff0c;或者default中直接写了null。

如何将 MX Linux 的垂直任务栏面板移到底部

MX Linux 因其速度和较低的资源消耗&#xff0c;比同类其他 Linux 系统更快地获得了人气。它默认带有 Xfce 桌面环境&#xff0c;但任务栏在左侧且是垂直的&#xff0c;这对一部分人来说真的非常不舒服且令人烦恼。如果你也有同感&#xff0c;并且也想将 MX Linux 的任务栏自定…

python debug 监控双下划线的变量显示没有此变量

名称改写&#xff08;Name Mangling&#xff09; 在Python中&#xff0c;如果你在类中定义一个属性或方法时以双下划线开头&#xff08;例如__attribute&#xff09;&#xff0c;Python会自动对其进行名称改写。名称改写实际上是在属性或方法名前加上类名&#xff0c;以避免子…

list使用及模拟

01. list介绍 list是支持常数时间内任意位置插入删除的序列容器,具备双向迭代能力。其底层为双向链表结构,各元素存于独立节点,通过指针指向前后元素。与forward_list的主要区别:后者是单链表,仅支持单向迭代,结构更简单高效。相比array、vector、deque等序列容器,list在…

NLP基础与词嵌入:让AI理解文字(superior哥深度学习系列第13期)

13_NLP基础与词嵌入&#xff1a;让AI理解文字 superior哥深度学习系列第十三篇 从像素到文字&#xff0c;从视觉到语言——让AI跨越认知的桥梁 &#x1f3af; 前言&#xff1a;当AI学会"读懂"文字 各位小伙伴们&#xff0c;欢迎来到superior哥深度学习系列的第十三篇…

【时时三省】(C语言基础)关于变量的声明和定义

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 可能有些人弄不清楚定义与声明有什么区别&#xff0c;它们是否是一回事。有人认为声明就是定义&#xff0c;有人认为只有赋了值的才是定义。在C语言的学习中&#xff0c;关于定义与声明这两个…

Java 时间处理指南:从“踩坑”到“填坑”实战

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 场景问题&#xff1a;订单处理系统的时间计算 假设你正在开发一个电商订单系统&#xff0c;需要解决以下问题&#xff1a; 用户下单后&#xff0c;需在…

基于Java的Excel列数据提取工具实现

摘要&#xff1a;本文介绍了一个使用Java语言开发的Excel列数据提取工具&#xff0c;该工具借助Apache POI库实现对Excel文件的读取与特定列数据提取功能。通过用户输入文件路径与列名&#xff0c;程序可从指定Excel文件中提取相应列的数据并展示&#xff0c;同时详细阐述了关键…

关于人工智能未来的趋势

学而不思则罔 翻译&#xff1a;使用深度学习、强化学习却不用专家系统&#xff0c;就会产生幻觉。 思而不学则殆 翻译&#xff1a;只有专家系统逻辑推理&#xff0c;但是不用大模型更新知识&#xff0c;就无法发展下去了。 因此&#xff0c;未来智能的范式应该是&#xff1a; …