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

郑州网站建设制作费用郑州中小企业网站制作

郑州网站建设制作费用,郑州中小企业网站制作,龙华网站建设方案表,wordpress 菜单标题属性文章目录 引言正文生成器损失函数最小二乘损失函数梅尔频谱图损失函数特征匹配损失函数生成器最终损失函数loss生成器loss对应代码 鉴定器损失函数鉴定器损失函数代码 总结引用 引言 这里翻译了HiFi-GAN这篇论文的具体内容#xff0c;具体链接。这篇文章还是学到了很多东西具体链接。这篇文章还是学到了很多东西从整体上说学到了生成对抗网络的构建思路包括生成器和鉴定器。细化到具体实现的细节如何 实现对于特定周期的数据处理在细化膨胀卷积是如何实现的这些通过文章仅仅是了解大概的实现原理但是对于代码的实现细节并不是很了解。如果要加深印象还是要结合代码来具体看一下实现的细节。本文主要围绕具体的代码实现细节展开对于相关原理只会简单引用和讲解。因为官方代码使用的是pytorch,所以是通过pytorch展开的。关于模型其他部分的介绍链接如下 论文代码学习1—HiFi-GAN——生成器generator代码论文代码学习—HiFi-GAN2——鉴别器discriminator代码 正文 关于模型的损失函数这里总共有两部分损失函数分别是生成器损失函数和鉴定器损失函数。其中生成器的损失函数有分为三部分分别是常规的对抗生成损失、针对特征匹配的损失函数和针对梅尔频谱图的损失函数后两者是作者自己的加上去的。 生成器损失函数 对于生成器损失函数作者分成了三个部分分别是基本损失函数、针对特征匹配的损失函数以及梅尔损失函数。 最小二乘损失函数 不同于一般的GAN网络使用交叉熵损失函数这里使用的是最小二乘损失函数借此来避免梯度丢失的现象。 最小二乘损失函数 用于衡量模型预测值和真实值的差异具体特点如下 平方项通过平方差异扩大误差模型更加关注于难以拟合的样本连续可微连续可微可以有效找到最小值非负损失函数的值始终非负 生成器的损失函数的目的是为了使得生成的数据经过鉴定器判定和真的差不多。具体的公式如下 s s s是梅尔频谱图输入的条件变量 x x x是真实数据 D ( x ) D(x) D(x)是鉴定器对于输入结果的评分越逼真越接近1 G ( s ) G(s) G(s)是生成器根据梅尔频谱图生成的结果 在上式子中损失函数越小越好生成器的效果越好鉴定器会将其分辨为1,做差越靠近零效果越好。 梅尔频谱图损失函数 除了考虑基本的损失函数这里还增加梅尔频谱图损失函数用来提高训练效果和生成音频的分辨率主要是抓住了梅尔频谱图对于感知能力的重视。定义 计算合成的波形图和实际波形图的对应采样点的L1距离 参数说明 ∅ \varnothing ∅表示将波形图转为mel频谱图 效果 帮助生成器生成和输入相关的实际波形是的对抗训练阶段能够快速稳定下来 特征匹配损失函数 特征匹配损失函数是用来衡量真实样本和生成样本在鉴定器上提取出来的特征的差异程度。不同于上一个mel频谱图的特征衡量这里是直接衡量鉴定器生成的中间特征的差异程度。 定义 计算真实样本和生成样本分别在鉴定器上生成的中间特征的L1距离 参数说明 T T T表示为鉴定器的层数 D i D^i Di和 N i N_i Ni​分别表示第i层的特征值和特征的数量。 效果 从鉴定器特征角度使得生成器的样本更加逼真 注意 这里并不是单单一个层的特征是鉴定器上每一层的输出特征的L1距离累加和的平均值。 生成器最终损失函数loss 生成器最终的损失函数是上述三个损失函数之和并且特征匹配损失函数和mel频谱图损失函数加上对应的权重具体如下 λ f m 2 \lambda_{fm} 2 λfm​2和 λ m e l 45 \lambda_{mel} 45 λmel​45 生成器loss对应代码 def feature_loss(fmap_r, fmap_g):# 特征损失函数# fmap_r是真实音频信号的特征图fmap_g是生成音频信号的特征图loss 0for dr, dg in zip(fmap_r, fmap_g):for rl, gl in zip(dr, dg):# 遍历每一层特征图计算特征损失做差求绝对值求均值loss torch.mean(torch.abs(rl - gl))# 根据经验特征损失函数的权重为10return loss*2def generator_loss(disc_outputs):# 生成器的损失函数# disc_outputs是鉴定器的输出loss 0gen_losses []for dg in disc_outputs:l torch.mean((1-dg)**2)gen_losses.append(l)loss l# loss是生成器的总损失用于反向传播来更新生成器的参数# gen_losses是生成器的损失列表用于记录鉴定器中每一个元素对应的损失可以用于调试设备return loss, gen_losses 结合代码来看并没有将mel频谱图损失记录在内这里仅仅包含了两个损失函数generator_loss实现了最小二乘损失函数feature_loss计算了鉴定器每一层的匹配的损失函数。 她是把mel频谱图损失定义在训练过程中了. 鉴定器损失函数 我们鉴定器的训练目标 能够将真实数据鉴定为真标记为1能够将生成器生成的数据鉴定为假标记为0 所以鉴定器的损失函数应该从两方面进行考虑分别是鉴定生成数据和鉴定真实数据。具体的公式如下 s s s是梅尔频谱图输入的条件变量 x x x是真实数据 D ( x ) D(x) D(x)是鉴定器对于输入结果的评分越逼真越接近1 G ( s ) G(s) G(s)是生成器根据梅尔频谱图生成的结果 鉴定器损失函数代码 def discriminator_loss(disc_real_outputs, disc_generated_outputs):# 鉴定器的损失函数# disc_real_outputs是真实音频信号的鉴定器的输出# disc_generated_outputs是生成音频信号的鉴定器的输出loss 0r_losses []g_losses []for dr, dg in zip(disc_real_outputs, disc_generated_outputs):# 计算真实音频信号的损失r_loss torch.mean((1-dr)**2)# 计算生成音频信号的损失g_loss torch.mean(dg**2)# 将两个损失相加loss (r_loss g_loss)# 记录各个鉴定器的损失r_losses.append(r_loss.item())g_losses.append(g_loss.item())return loss, r_losses, g_losses这个损失函数实现起来还是比较容易的只需要分别计算两种数据的损失然后累加求和即可 总结 总的来说这是第一次接触对抗生成学习知道了对于鉴定器和生成器要分别定义损失函数也是分别定义的。除此之外他们的损失函数也是相互调用的。值得学习。下部分将讲述关于train文件具体内容这个是模型的具体训练文件定义了模型的前向传播和反向传播的过程。 引用 chatGPT-plusHiFi-GAN demoHiFi-GAN: Generative Adversarial Networks for Efficient and High Fidelity Speech Synthesis
http://www.hkea.cn/news/14481182/

相关文章:

  • 寮步东莞网站建设网站开发技术 难点
  • 站内关键词自然排名优化高端室内设计工作室
  • 做网站找众展最好的免费建站网站
  • 邯郸网站建设选哪家企业管理咨询包括哪些内容
  • 怎样在外贸网站做业务如何建设社区网站首页
  • 做民宿加盟哪些网站比较好江苏住房和城乡建设厅官方网站
  • 定制网站+域名+企业邮箱品牌营销方案模板
  • 个人旅游网站模板滕州营销型网站建设
  • 心理网站的建设与维护最简单的软件开发工具
  • 跨境电商网站设计网站备案不能更新吗
  • 个人音乐网站源码搭建电脑中怎样安装wordpress
  • ip设计网站模板建站总公司
  • 备案时网站建设方案书国内人做韩国网站一般都卖什么东西
  • 网站怎么做支付宝付款二级域名能查到一级域名吗
  • 网站设计任务聊城做网站的公司
  • 微信小程序一键生成免费东莞网站优化排名
  • 网站视频解析做卫浴软管的网站
  • 深圳中国网站制作哪家公司好网站建设推广咨询平台
  • php技术的网站开发大型车产品网站建设
  • 用jquery做网站软件培训内容怎么写
  • 个人建网站首选什么域名好营销伎巧
  • 高端建设网站建设专业管道疏通网站建设图片
  • 网站如何连接微信支付设计家官网室内设计
  • 028网站建设中文域名指向同一个网站
  • 医疗机构网站备案专做特卖的网站
  • 职业学校查询网站易货网站开发
  • 中国各大网站开发语言岳阳手机网站制作
  • 重庆大渡口营销型网站建设价格一流的天津网站建设
  • 美工网站设计收费哪里有营销策划培训班
  • 礼品兑换网站怎么做seo优化网站教程