郭震 AI公众号:郭震AI

4 GAN的基本原理之生成器和判别器的角色

发布日期:

最近更新:

分类: GAN网络从零教程

预计阅读: 4 分钟

阅读次数: 0

预计阅读4 分钟
结构重点6 个
图文要点6 张
正文规模1.7k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 6 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

GAN的基本原理之生成器和判别器的角色结构图查看大图
GAN的基本原理之生成器和判别器的角色结构图

GAN 的关键是生成器和判别器互相推动,学习时要同时看结构、训练和样本质量。阅读时可以按「生成器的角色 -> 案例:GAN生成手写数字 -> 判别器的角色 -> 案例:判别手写数字」建立结构,再回到正文里的代码、案例或指标做验证。

GAN的基本原理之生成器和判别器的角色核对图查看大图
GAN的基本原理之生成器和判别器的角色核对图

读完后,用一个真实小任务复查:输入是什么,处理环节在哪里,输出是否可验收;失败时先查「生成器的角色」,再查「案例:GAN生成手写数字」。

在上一篇文章中,我们介绍了生成对抗网络(GAN)的应用领域,涵盖了GAN在图像生成、图像修复、风格迁移等方面的广泛应用。这一篇将深入探讨GAN的基本组成部分——生成器(Generator)和判别器(Discriminator),并分析它们各自的角色与相互作用。

生成器的角色

生成器的主要任务是从随机噪声中生成尽量真实的数据实例。具体来说,生成器接受一个随机向量(通常从均匀分布或正态分布中采样),并将其转换为与真实数据相似的样本。生成器的目标是生成“看起来真实”的数据,以便迷惑判别器。

GAN生成器判别器判断卡查看大图
GAN生成器判别器判断卡

理解生成器和判别器时,先看它们各自输入什么、输出什么、怎样更新。两方互动清楚后,对抗训练才容易理解。

案例:GAN生成手写数字

我们以生成手写数字的GAN为例。生成器的输入是一个随机噪声向量z\mathbf{z},它的输出是一个手写数字的图像G(z)\mathbf{G}(\mathbf{z}),其中G\mathbf{G}表示生成器。损失函数中,生成器的目标是最大化判别器对生成图像的判断结果,即生成图像被判别器认为是真实的概率。

import numpy as np

def generator(z):
    # 假设这是一个简单的生成器函数
    # 其输出是经过处理的图像
    return np.tanh(np.dot(z, weights_g) + bias_g)

判别器的角色

与生成器相对,判别器的任务是判断输入的数据是“真实的”还是“生成的”。判别器接受真实数据样本和生成样本,并输出它们被判断为真实的概率。判别器的目标是尽可能准确地将真实数据与生成数据区分开来。

生成对抗网络方法落地卡查看大图
生成对抗网络方法落地卡

《GAN的基本原理之生成器和判别器的角色》这类内容容易被细节带偏。先看图里的主线,再回到正文核对环境、输入、输出和判断标准。

案例:判别手写数字

在我们的手写数字生成器案例中,判别器的输入是一个图像(可能是来自真实的MNIST数据集,或是生成器产生的图像),它输出一个概率值pD(x)p_{D}(\mathbf{x}),表示该图像是“真实”的概率。

def discriminator(x):
    # 假设这是一个简单的判别器函数
    # 输出为该样本是“真实”的概率
    return sigmoid(np.dot(x, weights_d) + bias_d)

生成器与判别器的对抗过程

生成器和判别器相互对抗,生成器努力生成让判别器无法区分的样本,而判别器则致力于提高其区分真实与生成样本的能力。这一过程可以用以下的优化目标表示:

  • 生成器的目标
minGmaxDV(D,G)=Expdata[logD(x)]+Ezpz[log(1D(G(z))]\min_G \max_D V(D, G) = \mathbb{E}_{\mathbf{x} \sim p_{\text{data}}}[\log D(\mathbf{x})] + \mathbb{E}_{\mathbf{z} \sim p_{z}}[\log(1 - D(G(\mathbf{z}))]
  • 判别器的目标
minDV(D,G)=Expdata[logD(x)]Ezpz[log(1D(G(z))]\min_D V(D, G) = -\mathbb{E}_{\mathbf{x} \sim p_{\text{data}}}[\log D(\mathbf{x})] - \mathbb{E}_{\mathbf{z} \sim p_{z}}[\log(1 - D(G(\mathbf{z}))]

在这些公式中,x\mathbf{x}表示真实样本,G(z)G(\mathbf{z})为生成的样本。生成器和判别器的对抗过程会逐步提升它们的表现能力,使得生成器生成更真实的数据。

GAN的基本原理之生成器和判别器的角色应用复盘卡查看大图
GAN的基本原理之生成器和判别器的角色应用复盘卡

读到这里,可以把《GAN的基本原理之生成器和判别器的角色》整理成一张复盘表:先说清主线,再拿一个小任务检查结果。

GAN的基本原理之生成器和判别器的角色应用检查卡查看大图
GAN的基本原理之生成器和判别器的角色应用检查卡

读完《GAN的基本原理之生成器和判别器的角色》后,可以先挑一个小样例走完整流程,再判断哪些步骤已经能独立完成。

小结

在这一篇中,我们深入探讨了GAN中生成器和判别器的角色,以及它们是如何通过对抗学习提升各自性能的。在下一篇文章中,我们将关注GAN的基本原理中的损失函数的定义,探讨如何通过损失函数有效地训练生成器与判别器。通过深入理解这些基本概念,我们可以更好地掌握GAN的实现与应用。

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

GAN的基本原理之生成器和判别器的角色适合谁读?

这是 GAN 网络教程 系列第 4 / 21 篇,适合正在学习GAN 网络教程,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇GAN 网络教程要多久?

按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...