PyTorch生成式人工智能——生成对抗网络数值数据生成
0. 前言
在本节中,构建并训练生成对抗网络 (Generative Adversarial Network
, GAN
),生成一个包含 10
个整数的序列,这些整数在 0
到 99
之间,并且都是 5
的倍数。主要步骤与生成指数增长曲线类似,唯一的区别是训练集不是数据点 (x, y)
,而是一个包含所有介于 0
到 99
之间且为 5 的倍数的整数序列。
在本节,首先学习如何将训练数据转换为神经网络能够理解的格式——独热编码 (one-hot encoding
)。然后,将独热编码变量转换回 0
到 99
之间的整数,便于人类理解。换句话说,实际上是在将数据在可读格式与模型所需的格式之间进行转换。之后,将创建一个判别器和一个生成器,并训练 GAN
,使用提前停止方法来判断训练何时结束。训练完成后,丢弃判别器,使用已训练好的生成器生成具有所需模式的整数序列。
1. 独热编码 (One-hot Encoding)
独热编码是一种在机器学习和数据预处理过程中用于将分类数据表示为二进制向量的技术。分类数