这段代码定义了三个 OpflowQNN 对象:gen_opqnndisc_fake_opqnndisc_real_opqnn

gen_opqnn 是生成器 (generator) 的 OpflowQNN 对象。它使用 gendisc_op 作为量子电路,前 N_DPARAMS 个参数作为输入参数 (即鉴别器的权重),后面的参数 (不可区分的权重,即生成器的权重) 作为可微分的权重,使用 expval 作为期望值函数,gradient 作为梯度函数,qi_sv 作为量子状态向量。

disc_fake_opqnn 是鉴别器 (discriminator) 对生成器生成的样本的 OpflowQNN 对象。它使用 gendisc_op 作为量子电路,后 N_DPARAMS 个参数 (生成器的权重) 作为输入参数,前面的参数 (不可区分的权重,即鉴别器的权重) 作为可微分的权重,使用 expval 作为期望值函数,gradient 作为梯度函数,qi_sv 作为量子状态向量。鉴别器希望最大化这个期望值,以区分生成器生成的样本。

disc_real_opqnn 是鉴别器对真实样本的 OpflowQNN 对象。它使用 realdisc_op 作为量子电路,没有输入参数,前 N_DPARAMS 个参数 (鉴别器的权重) 作为可微分的权重,使用 expval 作为期望值函数,gradient 作为梯度函数,qi_sv 作为量子状态向量。鉴别器希望最小化这个期望值,以区分真实样本。

这段代码主要是为了定义生成器和鉴别器的 OpflowQNN 对象,并设置它们的期望值函数、梯度函数和量子状态向量。

使用 OpflowQNN 实现生成对抗网络 (GAN) 的量子电路

原文地址: https://www.cveoy.top/t/topic/qkQj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录