AI学习记录 - 对抗性神经网络

有用点赞哦

学习机器学习到一定程度之后,一般会先看他的损失函数是什么,看他的训练集是什么,训练集是什么,代表我使用模型的时候,输入是什么类型的数据。

对抗神经网络其实可以这样子理解,网上一直说生成器和判别器的概念,没有触及到本质。

我有一种看法:假如当前场景是输入模糊图片,然后输出高质量图片。当判别器和生成器本来就是一个模型,在不把判别器生成器拆开的时候,我输入一张图片,这个模型输出的是0和1,那这个整体模型的作用就是判断这个图片是不是高清图片,训练集是【模糊图片,0】,【高清图片,1】,通过这种方式进行反向传播。但是现在的目的不是判断他是不是高质量图片,而是要他给我生成高质量图片,所以要在中间切开变成两份,前一份模型修改一下输出,让他输出的是一张图片的格式矩阵,后一份模型修改一下输入,让他输入的是一张图片的格式矩阵,就像个协议一样前一半后一半规格一样就可以接起来,你可能会说我不改变他的输入输出本来的规格也一样啊,但是我说了规格变成一张图片,那人不就是看懂了吗,原来中间切开的输出,人看不懂啊,也不符合我要实现输入模糊图片,输出高清图片的目的。

判别器:判别器是单独训练

训练集就是【真实图片, 1】,【虚假图片, 0】,一个批次有2种训练集,大概如下

第一种:【【真实图片, 1】,【真实图片, 1】,【真实图片, 1】,【真实图片, 1】】

第二种:【【虚假图片, 0】,【虚假图片, 0】,【虚假图片, 0】,【虚假图片, 0】】

所以会产生两种损失:

真实图片的损失
python 复制代码
	discriminator.train()
	d_loss1 = discriminator(images, real_targets)
利用生成器生成图片,然后丢到判别器
python 复制代码
	 with torch.no_grad():
	     generated_images = generator(batch_size)
	
	 # Loss with generated image inputs and fake_targets as labels
	 d_loss2 = discriminator(generated_images, fake_targets)
两种损失加起来,然后反向传播
python 复制代码
	d_loss = d_loss1 + d_loss2
	d_optimizer.zero_grad()
	d_loss.backward()
	d_optimizer.step()

生成器:生成器的训练是将 生成器 和 判别器 整合一起训练,我还没完全理解,后续再看看

反向传播的过程,使用损失值对生成器的参数进行反向传播,更新生成器的权重。判别器的权重在这一步保持不变。

单独创建两个优化器,用哪个优化器,就更新哪个模型的权重,这里有两个模型
python 复制代码
# Optimizers
	g_optimizer = torch.optim.Adam(generator.parameters(), lr=g_lr)
	d_optimizer = torch.optim.Adam(discriminator.parameters(), lr=d_lr)
单独更新
python 复制代码
    # Generate images in train mode
    generator.train()
    generated_images = generator(batch_size)

    # Loss with generated image inputs and real_targets as labels
    g_loss = discriminator(generated_images, real_targets)

    # Optimizer updates the generator parameters
    g_optimizer.zero_grad()
    g_loss.backward()
    g_optimizer.step()  # 更新生成器权重
相关推荐
accept 99%11 分钟前
拆开Jev 的原理和本地跑法 Jev科普(二)
人工智能·机器学习
johnsong15 分钟前
125B模型装上桌面:AI推理主权革命与治理悖论
人工智能
库拉镜像AI牛牛19 分钟前
漫剧工作室量产方案:依托知漫剧 AI 短剧降本增效
大数据·服务器·前端·人工智能·语音识别
狂野小白兔21 分钟前
AI游戏制作04——Codex 搭配 Godot MCP 全流程教程
人工智能·游戏·godot
skywalk816325 分钟前
deepseek harness 官方已经更新到新版:v0.2.1-alpha.1 Pre-release请把咱们的FreeBSD版本也同步更新到新版本!
人工智能·freebsd·实践·deepseek·harness
kaixin_啊啊27 分钟前
彩谱FS-13高光谱相机学习笔记
图像处理·笔记·学习·高光谱相机
软件派30 分钟前
2026国外主流AI工具Top5深度对比!含官网、优缺点、适用场景与定价(干货收藏)
人工智能
Better Bench31 分钟前
从摸石头过河到看录像学习:强化学习与离线RL的进化故事
学习·强化学习·贝尔曼方程·离线强化学习·在线强化学习·q值
思考着亮33 分钟前
15.向量数据库和普通数据库的选型
人工智能
mtouch33333 分钟前
视频与三维场景融合投射系统解析:从地图标定到镜头参数调校的完整流程
人工智能·机器人·虚拟现实·电子沙盘·数字沙盘