李宏毅机器学习笔记17

目录

摘要

1.不成对的资料

2.如何使用GAN

[Cycle GAN](#Cycle GAN)


摘要

本篇文章继续学习李宏毅老师2025春季机器学习课程,学习内容是GAN的应用及Cycle GAN的相关原理。

1.不成对的资料

什么叫不成对的资料呢?通常我们训练出来就是一个x对应一个y,我们需要他们是成对的资料才能训练,但是现在我们有一堆x和一堆y,他们是不成对的,这样没有成对的资料就称为unlabel的资料即没有标注的资料。

什么情况下没有任何成对的资料呢?例如上图的影像风格转换,从真实的人物头像转换为二次元的人物头像,这就可能没有任何的成对的资料。这种状况下就需要GAN帮助我们,输入一个x产生一个y

2.如何使用GAN

沿用上一个例子,我们需要一个输入是x区域的图片分布(真实的人物头像),输出是y区域的图片分布,如果可以做到我们的训练就结束了。

我们可以套用原来GAN的想法,我们只要改成可以从x区域sample就可以了。假设我们从x区域随机挑选一张人脸出来,放入generator里产生另一个分布的图片,那怎么变为y区域的图片呢?这个就需要一个discriminator,这个discriminator看过很多y区域的图,如果是y区域的图就给高分,如果不是就给低分。

但是只是这样套用是不够的,generator他可以产生二次元人物的头像但是他跟输入的真实照片没有什么特别的关系,这个不是我们要的。

Cycle GAN

这个问题我们就会用到cycle GAN,在cycle GAN中我们会训练两个generator,第一个的工作是把x区域的图变为y区域的图,第二个的工作是看到y区域的图把他还原为x区域的图。

在训练时,我们增加额外的一个目标,从x区域的图变为y区域的图后我们要能还原回x区域的图。两张图片就是两个向量,我们希望这两个向量的距离越接近越好。这样对于第一个generator来说,就无法随便产生图片,需要让产生的图片与真实图片有关联才能让第二个generator成功还原。

同时也可以做双向的训练,就是在cycle GAN增加两个generator,一个的工作是把y区域的图变为x区域的图,另个的工作是看到x区域的图把他还原为y区域的图,除此之外还要再增加一个discriminator,他是用于分辨x区域图片的discriminator。这个就是cycle GAN。

相关推荐
字节跳动视频云技术团队10 小时前
每两家头部手机厂商就有一家选它:火山引擎如何成为 AI 手机助手的“隐形底座”?
人工智能
泯泷10 小时前
像项目经理一样指挥 AI 团队:管理者模式
人工智能·llm·agent
京东云开发者10 小时前
双11囤Token火了:京东搜索量暴涨7倍,AI生产力成新刚需
人工智能
ahccqw11 小时前
OpenCV 车辆数量统计
人工智能·opencv·计算机视觉
人工智能AI技术11 小时前
LangGraph 本地 build 频频翻车,最终在服务器跑通流式对话
人工智能
Flynn Liang11 小时前
同一需求三套写法:用 Spring AI、LangChain4j、AgentScope Java 各实现一个带工具调用的 RAG 助手(实战对比)
java·人工智能·大模型·架构设计·spring ai·langchain4j·agentscope
汤姆宝库11 小时前
构建一个能用的RAG系统:切块、嵌入、混合检索与融合排序
人工智能
Dawson Zhu11 小时前
【LLM推理与Serving⑪】MoE推理与MLA:DeepSeek-V3架构下的显存与通信权衡
人工智能·语言模型·架构·aigc·agi
github_is_geeksKai12 小时前
50 个 AI 与开源工具怎么选:从实际用途到实现边界
人工智能