当前位置: 首页 > news >正文

襄阳门户网站建设公司名字寓意好的字

襄阳门户网站建设,公司名字寓意好的字,营销策略ppt,wordpress和seo权重导 读 生成对抗网络#xff08;GAN#xff09;因其生成图像的能力而变得非常受欢迎#xff0c;而语言模型#xff08;例如 ChatGPT#xff09;在各个领域的使用也越来越多。这些 GAN 模型可以说是人工智能/机器学习目前主流的原因#xff1b; 因为它向每个人#xff0…导 读 生成对抗网络GAN因其生成图像的能力而变得非常受欢迎而语言模型例如 ChatGPT在各个领域的使用也越来越多。这些 GAN 模型可以说是人工智能/机器学习目前主流的原因 因为它向每个人尤其是该领域之外的人展示了机器学习所具有的巨大潜力。网上已经有很多关于 GAN 模型的资源但其中大多数都集中在图像生成上。这些图像生成和语言模型需要复杂的空间或时间复杂性这增加了额外的复杂性使读者更难理解 GAN 的真正本质。 为了解决这个问题并使 GAN 更容易被更广泛的受众所接受在本文的 GAN 模型示例中我们将采取一种不同的、更实用的方法重点关注生成数学函数的合成数据。 除了出于学习目的的简化之外合成数据生成本身也变得越来越重要。数据不仅在业务决策中发挥着核心作用而且数据驱动方法的用途也越来越多比第一原理模型更受欢迎。 比如天气预报第一个原理模型包括通过数值求解的纳维-斯托克斯方程的简化版本。然而深度学习研究中进行天气预报的尝试在捕捉天气模式方面非常成功并且一旦经过训练运行起来会更容易、更快。 有需要的朋友关注公众号【小Z的科研日常】获取更多内容。 01、生成模型与判别模型 在机器学习中理解判别模型和生成模型之间的区别非常重要因为它们是 GAN 的关键组成部分 判别模型 判别模型侧重于将数据分类为预定义的类别例如将狗和猫的图像分类为各自的类别。这些模型不是捕获整个分布而是辨别不同类别的边界。它们输出 P(y|x)类别概率给定输入数据的 yx即它们回答给定数据点属于哪个类别的问题。 生成模型 生成模型旨在理解数据的底层结构。与区分类别的判别模型不同生成模型学习数据的整个分布。这些模型输出 p(x|y)即它们回答了给定指定类生成该特定数据点的可能性有多大的问题。 这两个模型之间的相互作用构成了 GAN 的基础。 02、GAN—结构和组件 GAN 的关键组件包括噪声向量、生成器和鉴别器。 生成器生成真实数据 为了生成合成数据生成器使用随机噪声向量作为输入。为了欺骗鉴别器生成器的目的是学习真实数据的分布并生成无法与真实数据区分开的合成数据。这里的一个问题是对于相同的输入它总是会产生相同的输出想象一个图像生成器产生真实的图像但总是相同的图像这不是很有用。随机噪声向量将随机性注入到过程中从而提供生成的输出的多样性。 鉴别器辨别真假 鉴别器就像一位受过训练来区分真实数据和虚假数据的艺术评论家。它的作用是仔细检查收到的数据并为工作真实性分配概率分数。如果合成数据看起来与真实数据相似则鉴别器分配高概率否则分配低概率分数。 对抗性训练动态决斗 生成器努力学习生成鉴别器无法与真实数据区分开的合成数据。同时鉴别器还学习并提高区分真实与合成的能力。这种动态的训练过程促使两个模型提高技能。这两个模型总是相互竞争因此被称为对抗性并且通过这种竞争两个模型都在各自的角色中变得非常出色。 03、Pytorch实现GAN 在此示例中我们在 pytorch 中实现了一个可以生成合成数据的模型。对于训练我们有一个具有以下形状的 6 参数数据集所有参数都绘制为参数 1 的函数。每个参数都经过精心选择具有显着不同的分布和形状以增加数据集的复杂性并模仿真实世界的数据。 定义 GAN 模型组件生成器和判别器 import torch from torch import nn from tqdm.auto import tqdm from torch.utils.data import DataLoader import matplotlib.pyplot as plt import torch.nn.init as init import pandas as pd import numpy as np from torch.utils.data import Dataset# 定义单块功能 def FC_Layer_blockGen(input_dim, output_dim):single_block  nn.Sequential(nn.Linear(input_dim, output_dim),nn.ReLU())return single_block# 定义 GENERATOR class Generator(nn.Module):def __init__(self, latent_dim, output_dim):super(Generator, self).__init__()self.model  nn.Sequential(nn.Linear(latent_dim, 256),nn.ReLU(),nn.Linear(256, 512),nn.ReLU(),nn.Linear(512, 512),nn.ReLU(),nn.Linear(512, output_dim),nn.Tanh()  )def forward(self, x):return self.model(x)#定义单个判别块 def FC_Layer_BlockDisc(input_dim, output_dim):return nn.Sequential(nn.Linear(input_dim, output_dim),nn.ReLU(),nn.Dropout(0.4))# 定义判别器class Discriminator(nn.Module):def __init__(self, input_dim):super(Discriminator, self).__init__()self.model  nn.Sequential(nn.Linear(input_dim, 512),nn.ReLU(),nn.Dropout(0.4),nn.Linear(512, 512),nn.ReLU(),nn.Dropout(0.4),nn.Linear(512, 256),nn.ReLU(),nn.Dropout(0.4),nn.Linear(256, 1),nn.Sigmoid())def forward(self, x):return self.model(x)#定义训练参数 batch_size  128 num_epochs  500 lr  0.0002 num_features  6 latent_dim  20# 模型初始化 generator  Generator(noise_dim, num_features) discriminator  Discriminator(num_features)# 损失函数和优化器 criterion  nn.BCELoss() gen_optimizer  torch.optim.Adam(generator.parameters(), lrlr) disc_optimizer  torch.optim.Adam(discriminator.parameters(), lrlr) 模型初始化和数据处理 file_path  SamplingData7.xlsx data  pd.read_excel(file_path) X  data.values X_normalized  torch.FloatTensor((X - X.min(axis0)) / (X.max(axis0) - X.min(axis0)) * 2 - 1) real_data  X_normalizedclass MyDataset(Dataset):def __init__(self, dataframe):self.data  dataframe.values.astype(float)self.labels  dataframe.values.astype(float)def __len__(self):return len(self.data)def __getitem__(self, idx):sample  {input: torch.tensor(self.data[idx]),label: torch.tensor(self.labels[idx])}return sample# 创建数据集实例 dataset  MyDataset(data)# 创建数据加载器 dataloader  DataLoader(dataset, batch_sizebatch_size, shuffleTrue, drop_lastTrue)def weights_init(m):if isinstance(m, nn.Linear):init.xavier_uniform_(m.weight)if m.bias is not None:init.constant_(m.bias, 0)pretrained  False if pretrained:pre_dict  torch.load(pretrained_model.pth)generator.load_state_dict(pre_dict[generator])discriminator.load_state_dict(pre_dict[discriminator]) else:# 应用权重初始化generator  generator.apply(weights_init)discriminator  discriminator.apply(weights_init) 模型训练 model_save_freq  100latent_dim 20 for epoch in range(num_epochs):for batch in dataloader:real_data_batch  batch[input]real_labels  torch.FloatTensor(np.random.uniform(0.9, 1.0, (batch_size, 1)))disc_optimizer.zero_grad()output_real  discriminator(real_data_batch)loss_real  criterion(output_real, real_labels)loss_real.backward()fake_labels  torch.FloatTensor(np.random.uniform(0, 0.1, (batch_size, 1)))noise  torch.FloatTensor(np.random.normal(0, 1, (batch_size, latent_dim)))generated_data  generator(noise)output_fake  discriminator(generated_data.detach())loss_fake  criterion(output_fake, fake_labels)loss_fake.backward()disc_optimizer.step()valid_labels  torch.FloatTensor(np.random.uniform(0.9, 1.0, (batch_size, 1)))gen_optimizer.zero_grad()output_g  discriminator(generated_data)loss_g  criterion(output_g, valid_labels)loss_g.backward()gen_optimizer.step()print(fEpoch {epoch}, D Loss Real: {loss_real.item()}, D Loss Fake: {loss_fake.item()}, G Loss: {loss_g.item()}) 模型评估和可视化结果 import seaborn as snssynthetic_data  generator(torch.FloatTensor(np.random.normal(0, 1, (real_data.shape[0], noise_dim))))# 绘制结果 fig, axs  plt.subplots(2, 3, figsize(12, 8)) fig.suptitle(Real and Synthetic Data Distributions, fontsize16)for i in range(2):for j in range(3):sns.histplot(synthetic_data[:, i * 3  j].detach().numpy(), bins50, alpha0.5, labelSynthetic Data, axaxs[i, j], colorblue)sns.histplot(real_data[:, i * 3  j].numpy(), bins50, alpha0.5, labelReal Data, axaxs[i, j], colororange)axs[i, j].set_title(fParameter {i * 3  j  1}, fontsize12)axs[i, j].set_xlabel(Value)axs[i, j].set_ylabel(Frequency)axs[i, j].legend()plt.tight_layout(rect[0, 0.03, 1, 0.95]) plt.show()#创建 2x3 网格的子绘图 fig, axs  plt.subplots(2, 3, figsize(15, 10)) fig.suptitle(Comparison of Real and Synthetic Data, fontsize16)# Define parameter names param_names  [Parameter 1, Parameter 2, Parameter 3, Parameter 4, Parameter 5, Parameter 6]# 各参数的散点图 for i in range(2):for j in range(3):param_index  i * 3  jsns.scatterplot(real_data[:, 0].numpy(), real_data[:, param_index].numpy(), labelReal Data, alpha0.5, axaxs[i, j])sns.scatterplot(synthetic_data[:, 0].detach().numpy(), synthetic_data[:, param_index].detach().numpy(), labelGenerated Data, alpha0.5, axaxs[i, j])axs[i, j].set_title(param_names[param_index], fontsize12)axs[i, j].set_xlabel(fReal Data - {param_names[param_index]})axs[i, j].set_ylabel(fReal Data - {param_names[param_index]})axs[i, j].legend()plt.tight_layout(rect[0, 0.03, 1, 0.95]) plt.show()
http://www.pierceye.com/news/538132/

相关文章:

  • 一个网站如何做seo优化卖书网站开发的背景
  • jsp网站开发源码实例广州网站优化排名推广
  • 网站建设中网站需求分析报告百度网盘电脑版下载
  • 爱做网站网址工商网站注册公司
  • 住房和城乡建设部网站下载魔改wordpress主题
  • dremrever怎么做网站阿里云php网站建设教程
  • 网站建设课程旅行社手机网站建设方案
  • 书店网站建设策划书总结关于外贸公司的网站模板
  • 张家港市规划建设网站房地产估价师
  • 创建网站有什么用南京做网站优化的企业
  • 网站seo设置是什么怎么知道网站被百度k了
  • 个人网站开发的意义自己建设网站需要什么手续
  • 网站的建设流程怎样使用仿站小工具做网站
  • 佛山企业模板建站企业微信管理系统
  • 百度推广登录网站网站开发需要什么技术人员
  • 有关网站升级建设的申请书中国工业设计公司
  • 线上销售怎么做优化网站哪家好
  • 成都网站建设备案audio player wordpress 使用
  • 做网站设计的公司上海装修公司名字
  • 处理器优化软件se 网站优化
  • 网站制作公司汉狮网络电子商务网站建设评估的指标有哪些?
  • asp网站伪静态教程网站建设多少钱实惠湘潭磐石网络
  • wordpress 外贸网站建设wordpress模板安装
  • 中国精准扶贫网站建设现状惠安规划局建设局网站
  • 营销型网站制作建设网络营销推广技巧
  • 哪里有做网站推广的宁波招聘网站开发
  • 建站工具帝国双语网站开发
  • 呼和浩特企业网站建设赞叹天河网站建设公司
  • 新郑做网站公司吉林省建设项目招标网
  • 深圳做网站哪里最好南宁seo外包平台