李宏毅机器学习笔记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。

相关推荐
心无旁骛~4 小时前
PIL与OpenCV图像读取的颜色格式陷阱:RGB vs BGR
人工智能·opencv·计算机视觉
aramae4 小时前
数据结构与算法(递归)
开发语言·经验分享·笔记·算法
程序员大雄学编程4 小时前
「深度学习笔记1」深度学习全面解析:从基本概念到未来趋势
人工智能·笔记·深度学习
聪明的笨猪猪4 小时前
Java 面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
sensen_kiss4 小时前
INT305 Machine Learning 机器学习 Pt.4
人工智能·机器学习
WWZZ20254 小时前
快速上手大模型:机器学习1
人工智能·深度学习·机器学习·计算机视觉·机器人·slam
TwoAnts&DingJoy4 小时前
数据分析-泊松分布
python·机器学习·数据挖掘·数据分析·统计学·泊松分布
骁的小小站5 小时前
Learn C the Hardway学习笔记和拓展知识(一)
c语言·开发语言·c++·经验分享·笔记·学习·bash
沫儿笙5 小时前
川崎焊接机器人弧焊气体节约
人工智能·机器人