Zhu J., Park T., Isola P. & Efros A. Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. ICCV, 2017.
概

以往的图片到图片的转换(或者图片到文字, 文字到图片等等), 往往需要成对的数据集, 本文提出了一种方法, 只需给出两种不同的数据集, 就能学习到风格之间的转换.
主要内容

倘若我们想将数据集X的图片的图片转换为Y类型的图片, 很自然的, 构造一个生成器G
G(X):X→Y,
为了达到类型转换的目的, 需要添加一个判别器DY, 判断输入是否为Y类型的图片. 如果仅仅如此是不够的, 因为
- 一个图片到另一个图片的转化是很多的;
- 仅仅有G和DY往往会导致mode collapse.
于是作者又引入了生成器F:Y→X和判别器GX, 这是一个逆操作, 并且引入cycle一致损失,
Lcyc(G,F)=Ex∼pdata(x)[∥F(G(x))−x∥1]+Ey∈pdata(y)[∥G(F(y))−y∥1].
即, 我们希望F(G(X))≈X, G(F(Y))≈Y, 非常直接却很有意思的想法.
最后的损失是
L(G,F,DX,DY)=LGAN(G,DY,X,Y)+LGAN(F,DX,Y,X)+λ⋅Lcyc(G,F).
注: 仅仅有Lcyc也是不足以进行图片转换的, 这是很直观的.
代码
原文代码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix