李宏毅机器学习笔记16 - 教程

news/2025/10/31 17:28:54/文章来源:https://www.cnblogs.com/yangykaifa/p/19180699

目录

摘要

Abstract

1.GAN的训练难点

2.判断generator好坏

3.评估途径

Inception score(IS)

Frechet inception Distance(FID)


摘要

本周继续学习李宏毅老师2025春季机器学习课程,本周学习内容是GAN在训练中会遇见的挑战及简便的解决方法,以及判断generator好坏会遇见的问题和评估好坏的方法。

Abstract

This week, I continued withProf. Hung-yi Lee's 2025 Spring Machine Learning Course. The learning content covered issues commonly encountered duringGAN trainingalong with basic solutions, as well as challenges in evaluating thegenerator's performanceand methods for assessing its quality.

1.GAN的训练难点

GAN有一个本质上困难的地方,discriminator做的事情是分辨真的图片与产生出来的图片也就是假的图片的差异,generator在做的事情是产生假的图片骗过discriminator,实际上这discriminator和generator是相互激励的,如果其中一个发生问题停止训练,那么另一个就会跟着停下。例如discriminator没有办法发现真假图片的差异,那么generator就失去了他进步的目标无法进步,那么generator无法进步,discriminator也就无法进步,最后陷入死循环都无法进步。

训练GAN最难的其实是用GAN产生文字,如果用GAN生成一段文字,该是最困难的。假设要生成一段文字看你会有一个sequence to sequence的model,有一个decoder,decoder会产生一段文字,sequence to sequence的model就是大家的generator。

generator负责产生一段文字,discriminator负责分辨这段文字是机器产生的还是真实的文字。他们看上去与影像类的GAN没什么不同,都是discriminator分辨真假,generator产生去骗过discriminator。

其实实际的难点在如果用gradient descent去训练decoder,让discriminator的分数越大越好,会发现做不到。为什么会做不到呢?假设decoder的参数有一点小小的变化时,输出的distribution也会有小小的变化,因为变化很小,所以他不会影响分数最大的那一个token(token是每次产生多少的单位),对于discriminator来说,输出的分数是一模一样的,故而decoder的参数有一点小小的变化时,discriminator输出是没有改变的,就根本没办法算微分。

通过目前也可以解决GAN在文字上训练的难题,最关键的就是调整看hyper parameter和其他很多tips,但是开始要有sequence GAN-step的技术,没有这个训练不起来的,接下来需要一个很大的batch size(通常是上千),和其他的需求,如上图种的条形图所示。有了这些就能够把GAN训练起来。

2.判断generator好坏

评估一个generator的好坏并没有那么容易,通常觉得人自己分辨就可以判断,但是这样显然不行。对于特定的任务,是有办法设计方法的。

通过例如生成动画人物的头像,这样我们行用动画人物的人脸侦测架构,观察系统能够侦测倒多少张脸,根据侦测到人脸的多少就行判断generator的好坏。

什么,那么影像系统会十分困惑,他的几率分布会非常平坦,分布极其平均。就是那么对于更一般的例子,我们也有一个方法,跑一个影像分类系统,把GAN产生的图片丢到里面,看他产生什么样的结果。影像分类平台输入是一张图片,输出是一个概率分布,越集中就代表生成的图片越好,虽然我们不知道产生的图片有什么东西,但是如果丢到影像分类系统以后,他输出来的分布非常集中就代表影像系统非常肯定他现在看到什么东西,就代表产生出来的图片也许是比较接近真实的图片,所以影像分类系统才能分辨出来。倘若产生了一个四不像的图片,根本看不出来

但是光用该手段是不行的,光用这个办法会被一个叫more collapse的问题骗过去。more collapse就是在训练GAN的时候,会遇到一个情况,假设蓝色的星星是真正的资料分布,黄色的星星是GAN生成的资料分布,会发现生成的图片一直就是那几张。这可能理解为discriminator的一个盲点,当generator 学会产生这种图片后,他就永远可以骗过discriminator,discriminator没办法看出这样的图片是假的,就发生了more collapse的状况。

GAN生成的资料分布,产生的资料只有真实资料的一部分。如上图中的实例,各式各样的人脸都有,第一个没有什么问题,不过下一个产生出来的就能看出问题,来来去去只有那么几张脸。就是还有另一种与more collapse相似但是比more collapse更难侦测的问题叫more dropping,more dropping是这样的,同样蓝色的星星是真正的资料分布,黄色的星星

应对的办法是同样借助图像分类,把所有的图片丢进去,然后把得到的分布平均起来,看看平均的分布,如果平均的分布极其集中,就说明现在的多样性不够。

如果多样性足够,把所有的图片丢进去,得到平均的分布是非常平坦的。

3.评估办法

Inception score(IS)

用inception network量,假如quality高,diversity又大那么Inception score就比较大。就是Inception score

Frechet inception Distance(FID)

要是把生成的动画头像放入inception network里最后的输出他的类别会是人脸,但是大家在softmax之前的hidden layer的输出拿出来,可能是上千维的向量,用这个向量代表这张图片,假设橙色的点是真实的图片,蓝色的点是生成的图片,两组资料都是gaussian的分布,计算两组资料gaussian分布的Frechet Distance即可。结果越小意味着真实图像分布和生成图像分布极其接近。这表明生成的图像不仅质量高,而且多样性好。

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

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

相关文章

通过编写systemctl来控制二进制部署的MySQL服务

自己给自己看的 其他人做为参考[root@node1 ~]# vim /usr/lib/systemd/system/mysqld.service [Unit] Description=MySQL Documentation=https://www.mysql.com/cn/ # 依赖服务,仅当依赖的服务启动之后再启动自定义…

无法定位程序输入点于kernel32.dll?详解原因与5种有效修复方案

运行程序时弹出“无法定位程序输入点于动态链接库 KERNEL32.dll 上”的错误提示?这是 Windows 系统常见的兼容性或系统文件异常问题。本文从原理、成因到具体解决步骤,带你逐步排查问题源头,并提供 5 种可行方案(含…

普法学习: 劳动关系的认定

@目录1 什么是劳动关系1.2 劳动关系的认定标准1.3 从属性标准也是认定劳动关系的一种2. 案例2.1 案例摘要2.2 案例简述 1 什么是劳动关系[1]劳动关系是劳动者与用人单位之间实现社会化劳动的过程中产生的社会关系,对劳…

Python 类继承 _ 老鼠的儿子会打洞

Python 类继承 _ 老鼠的儿子会打洞class Employee: def __init__(self, name, id): self.name = name self.id = id def print_info(self): print(f"员工名字:{self.name},工号:{sel…

C++ 中的 Meyer‘s Singleton

目录1. 什么是 Singleton 模式?2. 传统的 Singleton 实现及其问题3. Meyer‘s Singleton:现代而优雅的解决方案实现代码4. Meyer’s Singleton 的工作原理与关键特性5. 使用方法6. 优点7. 潜在缺点与注意事项总结全局…

java 比较数组数据大小

三目运算方式 public class 比较数组大小 {public static void main(String[] args) {int[] arr ={5,15,20,25,1000};for (int i = 0; i < arr.length-1; i++) { // System.out.println(Arrays.toStri…

lua+nginx用户鉴权脚本--get方法

需求: 一个应用暴露在外网,对登录用户做鉴权,相当于白名单用户. 原理: 用户在应用首页登录的时候会有get请求,在请求头中会有一串加密的base64字符串,经过jwt在线解码之后可以看到令牌过期时间,用户名以及其他信息,通过…

2025 年算法备案咨询服务公司最新推荐榜,技术实力与合规能力双维度权威测评解析

引言 2025 年算法备案进入 “双轨监管深化期”,《生成式人工智能服务管理暂行办法》等新规实施后,企业备案材料增至 8 项核心模块,双级审核流程使平均备案周期延长 40% 以上,合规难度显著提升。为精准筛选优质服务…

windows系统生成当日的时间戳文件脚本

@ECHO OFF echo.>"%date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%-%time:~3,2%-%time:~6,2%.txt"生成的格式 2022-11-13 15:11:23.txt 用法 新建一个bat文件 把内容拷贝进去即可 用途:我的日报一般在电…

docker中 Created和Exited状态容器导致磁盘空间爆满的处理的方式

完整的停止docker 容器服务docker stop 镜像运行id docker rm 镜像运行id当未对停止运行之后的容器进行rm之后 会占用大量磁盘空间 通过命令找到Created 和Exited状态的容器 并删除他们. for i in `docker ps -a |egre…

智能感应倒液器微波雷达方案和红外方案的优势和劣势

智能感应倒液器其实市面上一直都有,直到近些年才开始慢慢的进行规模性的普及。主要原因是一些公共场所的倒液器通过红外或者微波雷达做成智能无接触的会比较干净卫生。 以公共厕所为例无接触和有接触对比 手动公厕:你…

读完《代码大全2》

《代码大全2》快读完了,最后的部分在讲代码调整、系统和集成。读到这里,我对这本书的理解更深了一层。它教会我的不只是一些知识点,而是一种观念的转变:从“写代码”到“构建软件”。 “写代码”可能只关心一个函数…

2025 年闭式冷却塔,玻璃钢冷却塔,方形冷却塔,圆形冷却塔厂家最新推荐,实力品牌深度解析采购无忧之选!

引言 随着工业领域对冷却设备专业化、高效化需求的不断提升,闭式、玻璃钢、方形、圆形等不同类型冷却塔的市场关注度持续走高。为帮助企业精准筛选优质厂家,本次推荐榜单由制冷空调工业协会联合行业权威检测机构共同…

2025 年湖南冷却塔,长沙冷却塔,封闭式冷却塔,测试设备配套冷却塔厂家最新推荐,聚焦资质、案例、售后的五家机构深度解读

引言 随着湖南地区工业生产、中央空调及测试设备领域的快速发展,对冷却塔尤其是封闭式冷却塔、测试设备配套冷却塔的需求日益增长。为帮助企业精准筛选优质厂家,本次推荐榜单由制冷空调工业协会联合湖南省节能环保产…

2025年口碑好的积分球公司排名前十推荐:合肥金水木光电科技

文章摘要 随着光电检测技术的快速发展,积分球作为光学均匀化与光辐射测量的核心设备,在LED测试、光谱分析等领域需求持续增长。本文基于技术参数、市场口碑、服务能力等维度,对2025年国内积分球厂商进行综合排名,为…

积分球公司的信赖之选:十大好评如潮的靠谱厂家排行榜

文章摘要 随着光电检测技术的快速发展,积分球作为光学测量领域的核心设备,其市场需求持续增长。本文基于技术参数、市场口碑、服务能力等维度,对2025年国内积分球供应商进行综合评估,为行业用户提供选购参考。合肥…

在linux上使用perf火焰图

下载与解压 wget https://github.com/brendangregg/FlameGraph/archive/master.zip && unzip master.zip 或者 yum list perf yum -y install perf.x86_64出图perf record -F 99 -p 14623 -a -g -- sleep 60 …

Windows的hyper-v虚拟机设置静态IP,使用一段时间或者宽带网络变化后,出现宝塔面板页面时好时坏,有时正常,有时无法打开问题,bt status查看宝塔状态又是正常的

这个问题有两个原因,一是: 原来的"新建虚拟交换机"配置文件损坏,导致:ARP 表异常 宿主机与虚拟机之间二层通信中断 网络时好时坏解决方案:重建虚拟交换机 ✅ 1.新建一个虚拟交换机 +2.将虚拟机的网络适…

HT-LFCG-3800+

HT-LFCG-3800+HT-LFCG-3800+ 就是 Mini-Circuits 那颗 LFCG-3800+ 的国产肉身,LTCC 工艺把 DC 到 3.9 GHz 的通带做得像镜面一样平,4.5 GHz 处突然竖起 30 dB 的墙,2.4 GHz 插损低到 0.5 dB 出头,回波在通带里全程…

基础排序算法(六)希尔排序

基础排序算法(六)希尔排序一 希尔排序 希尔排序是一种非常独特且高效的排序算法,它通过一种“先宏观,后微观”的策略来提升效率 1.1 算法特性 1.2 算法原理 1.3 复杂度分析 1.4 使用场景 1.5 代码实现 1.6 常用算法…