桂林有名网站制作公司,丽江市建设局官方网站,网络服务,网站浏览记录怎么做生成对抗网络GAN
欢迎访问Blog总目录#xff01; 文章目录 生成对抗网络GAN1.学习链接2.GAN结构2.1.生成模型Generator2.2.判别模型Discrimintor2.3.伪代码 3.优缺点3.1.优势3.2.缺点 4.pytorch GAN4.1.API4.2.GAN的搭建4.2.1.结果4.2.2.代码 4.3.示意图:star: 1.学习链接
…生成对抗网络GAN
欢迎访问Blog总目录 文章目录 生成对抗网络GAN1.学习链接2.GAN结构2.1.生成模型Generator2.2.判别模型Discrimintor2.3.伪代码 3.优缺点3.1.优势3.2.缺点 4.pytorch GAN4.1.API4.2.GAN的搭建4.2.1.结果4.2.2.代码 4.3.示意图:star: 1.学习链接
Generative Adversarial Networks
生成对抗网络GAN - 知乎 (zhihu.com)
深度学习----GAN生成对抗神经网络原理解析_gan神经网络-CSDN博客
图解 生成对抗网络GAN 原理 超详解_生成对抗网络gan图解-CSDN博客
2.GAN结构
GAN包含两个模型
生成模型Generator:接收随机噪声生成看起来真实的、与原始数据相似的实例。判别模型Discrimintor:判断Generator生成的实例是真实的还是人为伪造的。真实实例来源于数据集伪造实例来源于生成模型
最终得到效果极好的生成模型其生成的实例真假难辨。
GAN的灵感来源于 “零和博弈” 完全竞争博弈GAN就是通过生成网络GGenerator和判别网络DDiscriminator不断博弈进而使G学习到数据的分布即达到纳什均衡。
【纳什均衡】博弈中这样的局面对于每个参与者来说只要其他人不改变策略他就无法改善自己的状况。对于GAN即生成模型 G 恢复了训练数据的分布造出了和真实数据一模一样的样本判别模型D判别不出来结果乱猜准确率为 50%收敛。这样双方网络利益均最大化不再改变自己的策略不再更新自己的权重。
2.1.生成模型Generator
输入 数据集的某些向量信息此处使用满足常见分布高斯分布、均值分布等的随机向量。输出 符合像素大小的图片。结构 全连接神经网络或者反卷积网络。 2.2.判别模型Discrimintor
输入 伪造图片和数据集图片输出 图片的真伪标签结构 判别器模型全连接网络、卷积网络等
2.3.伪代码 3.优缺点
3.1.优势
GAN采用的是一种无监督的学习方式训练可以被广泛用在无监督学习和半监督学习领域模型只用到了反向传播,而不需要马尔科夫链
3.2.缺点
难以学习离散数据如文本
4.pytorch GAN
4.1.API
生成对抗网络 - PyTorch官方教程中文版 (panchuang.net)
4.2.GAN的搭建
绘制在upper_bound和lower_bound之间的一元二次方程画
4.2.1.结果 4.2.2.代码
import torch
import torch.nn as nn
import numpy as np
import matplotlib.pyplot as plttorch.manual_seed(1) # reproducible
np.random.seed(1)# Hyper Parameters
BATCH_SIZE 64
LR_G 0.0001 # learning rate for generator
LR_D 0.0001 # learning rate for discriminator
N_IDEAS 5 # 噪声点个数
ART_COMPONENTS 15 # 15个Y轴数据点
PAINT_POINTS np.vstack([np.linspace(-1, 1, ART_COMPONENTS) for _ in range(BATCH_SIZE)])# show our beautiful painting range
# plt.plot(PAINT_POINTS[0], 2 * np.power(PAINT_POINTS[0], 2) 1, c#74BCFF, lw3, labelupper bound)
# plt.plot(PAINT_POINTS[0], 1 * np.power(PAINT_POINTS[0], 2) 0, c#FF9359, lw3, labellower bound)
# plt.legend(locupper right)
# plt.show()def artist_works(): # painting from the famous artist (real target)a np.random.uniform(1, 2, sizeBATCH_SIZE)[:, np.newaxis]paintings a * np.power(PAINT_POINTS, 2) (a-1)paintings torch.from_numpy(paintings).float()return paintingsG nn.Sequential( # Generatornn.Linear(N_IDEAS, 128), # random ideas (could from normal distribution)nn.ReLU(),nn.Linear(128, ART_COMPONENTS), # making a painting from these random ideas
)D nn.Sequential( # Discriminatornn.Linear(ART_COMPONENTS, 128), # receive art work either from the famous artist or a newbie like Gnn.ReLU(),nn.Linear(128, 1),nn.Sigmoid(), # tell the probability that the art work is made by artist
)opt_D torch.optim.Adam(D.parameters(), lrLR_D)
opt_G torch.optim.Adam(G.parameters(), lrLR_G)plt.ion() # something about continuous plottingfor step in range(10000):artist_paintings artist_works() # real painting from artistG_noise torch.randn(BATCH_SIZE, N_IDEAS, requires_gradTrue) # random ideas\nG_paintings G(G_noise) # fake painting from G (random ideas)prob_artist0 D(artist_paintings) # 判断真画prob_artist1 D(G_paintings) # 判断假画# D增加真画概率减少伪画概率; 梯度下降法为减小误差所以添加-号# D_loss越小prob_artist0越大prob_artist1越小D_loss - torch.mean(torch.log(prob_artist0) torch.log(1. - prob_artist1))opt_D.zero_grad()D_loss.backward(retain_graphTrue) # reusing computational graphopt_D.step()# 重新采样G_noise torch.randn(BATCH_SIZE, N_IDEAS, requires_gradTrue) # random ideas\nG_paintings G(G_noise) # fake painting from G (random ideas)prob_artist1 D(G_paintings) # 判断假画# G_loss越小prob_artist1越大G_loss torch.mean(torch.log(1. - prob_artist1))opt_G.zero_grad()G_loss.backward()opt_G.step()if step % 50 0: # plottingplt.cla()plt.plot(PAINT_POINTS[0], G_paintings.data.numpy()[0], c#4AD631, lw3, labelGenerated painting, )plt.plot(PAINT_POINTS[0], 2 * np.power(PAINT_POINTS[0], 2) 1, c#74BCFF, lw3, labelupper bound)plt.plot(PAINT_POINTS[0], 1 * np.power(PAINT_POINTS[0], 2) 0, c#FF9359, lw3, labellower bound)# D 的判断准确度50%最优plt.text(-.5, 2.3, D accuracy%.2f (0.5 for D to converge) % prob_artist0.data.numpy().mean(),fontdict{size: 13})plt.text(-.5, 2, D score %.2f (-1.38 for G to converge) % -D_loss.data.numpy(), fontdict{size: 13})plt.ylim((0, 3));plt.legend(locupper right, fontsize10);plt.draw();plt.pause(0.01)plt.ioff()
plt.show()4.3.示意图⭐️
文章转载自: http://www.morning.nwllb.cn.gov.cn.nwllb.cn http://www.morning.ksjnl.cn.gov.cn.ksjnl.cn http://www.morning.pbpcj.cn.gov.cn.pbpcj.cn http://www.morning.xxsrm.cn.gov.cn.xxsrm.cn http://www.morning.prkdl.cn.gov.cn.prkdl.cn http://www.morning.jkftn.cn.gov.cn.jkftn.cn http://www.morning.nylbb.cn.gov.cn.nylbb.cn http://www.morning.pghfy.cn.gov.cn.pghfy.cn http://www.morning.hblkq.cn.gov.cn.hblkq.cn http://www.morning.rqpgk.cn.gov.cn.rqpgk.cn http://www.morning.xlztn.cn.gov.cn.xlztn.cn http://www.morning.wqgr.cn.gov.cn.wqgr.cn http://www.morning.brtxg.cn.gov.cn.brtxg.cn http://www.morning.xjpnq.cn.gov.cn.xjpnq.cn http://www.morning.lyrgp.cn.gov.cn.lyrgp.cn http://www.morning.ftmly.cn.gov.cn.ftmly.cn http://www.morning.sjbpg.cn.gov.cn.sjbpg.cn http://www.morning.fbmjl.cn.gov.cn.fbmjl.cn http://www.morning.psdsk.cn.gov.cn.psdsk.cn http://www.morning.fmdvbsa.cn.gov.cn.fmdvbsa.cn http://www.morning.wklhn.cn.gov.cn.wklhn.cn http://www.morning.yysqz.cn.gov.cn.yysqz.cn http://www.morning.gnkdp.cn.gov.cn.gnkdp.cn http://www.morning.nqbcj.cn.gov.cn.nqbcj.cn http://www.morning.plflq.cn.gov.cn.plflq.cn http://www.morning.rtlth.cn.gov.cn.rtlth.cn http://www.morning.mplld.cn.gov.cn.mplld.cn http://www.morning.gjsjt.cn.gov.cn.gjsjt.cn http://www.morning.xhxsr.cn.gov.cn.xhxsr.cn http://www.morning.jkdtz.cn.gov.cn.jkdtz.cn http://www.morning.hlyfn.cn.gov.cn.hlyfn.cn http://www.morning.wjjsg.cn.gov.cn.wjjsg.cn http://www.morning.fzwf.cn.gov.cn.fzwf.cn http://www.morning.xtyyg.cn.gov.cn.xtyyg.cn http://www.morning.sbjhm.cn.gov.cn.sbjhm.cn http://www.morning.jybj.cn.gov.cn.jybj.cn http://www.morning.pxlsh.cn.gov.cn.pxlsh.cn http://www.morning.plkrl.cn.gov.cn.plkrl.cn http://www.morning.bmzxp.cn.gov.cn.bmzxp.cn http://www.morning.jwmws.cn.gov.cn.jwmws.cn http://www.morning.kyzja.com.gov.cn.kyzja.com http://www.morning.rnwmp.cn.gov.cn.rnwmp.cn http://www.morning.ltzkk.cn.gov.cn.ltzkk.cn http://www.morning.fbtgp.cn.gov.cn.fbtgp.cn http://www.morning.rtryr.cn.gov.cn.rtryr.cn http://www.morning.wrcgy.cn.gov.cn.wrcgy.cn http://www.morning.spbp.cn.gov.cn.spbp.cn http://www.morning.fpngg.cn.gov.cn.fpngg.cn http://www.morning.ltdxq.cn.gov.cn.ltdxq.cn http://www.morning.youyouling.cn.gov.cn.youyouling.cn http://www.morning.scjtr.cn.gov.cn.scjtr.cn http://www.morning.tmjhy.cn.gov.cn.tmjhy.cn http://www.morning.mgtrc.cn.gov.cn.mgtrc.cn http://www.morning.xrsqb.cn.gov.cn.xrsqb.cn http://www.morning.lrmts.cn.gov.cn.lrmts.cn http://www.morning.dppfh.cn.gov.cn.dppfh.cn http://www.morning.zbjfq.cn.gov.cn.zbjfq.cn http://www.morning.gnzsd.cn.gov.cn.gnzsd.cn http://www.morning.trqhd.cn.gov.cn.trqhd.cn http://www.morning.ydnx.cn.gov.cn.ydnx.cn http://www.morning.zwgrf.cn.gov.cn.zwgrf.cn http://www.morning.kxqmh.cn.gov.cn.kxqmh.cn http://www.morning.bkqw.cn.gov.cn.bkqw.cn http://www.morning.yzzfl.cn.gov.cn.yzzfl.cn http://www.morning.ckhyj.cn.gov.cn.ckhyj.cn http://www.morning.cltrx.cn.gov.cn.cltrx.cn http://www.morning.yuminfo.com.gov.cn.yuminfo.com http://www.morning.xwzsq.cn.gov.cn.xwzsq.cn http://www.morning.fhntj.cn.gov.cn.fhntj.cn http://www.morning.qrqg.cn.gov.cn.qrqg.cn http://www.morning.xbptx.cn.gov.cn.xbptx.cn http://www.morning.hqllj.cn.gov.cn.hqllj.cn http://www.morning.thbkc.cn.gov.cn.thbkc.cn http://www.morning.rui931.cn.gov.cn.rui931.cn http://www.morning.gyylt.cn.gov.cn.gyylt.cn http://www.morning.bsqkt.cn.gov.cn.bsqkt.cn http://www.morning.dglszn.com.gov.cn.dglszn.com http://www.morning.pctql.cn.gov.cn.pctql.cn http://www.morning.qrksj.cn.gov.cn.qrksj.cn http://www.morning.hjwzpt.com.gov.cn.hjwzpt.com