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

网站建设的现状和未来专门做美食的网站6

网站建设的现状和未来,专门做美食的网站6,网站域名的设置,网站店铺的图片怎么做的文章目录 1 什么是GAN#xff1f;2 GAN存在的问题3 训练的经验 3.1 不要纠结于损失函数的选择3.2 关于增加模型的容量3.3 尝试改变标签3.4 尝试使用 batch normalization3.5 尝试分次训练3.6 最好不要提早结束3.7 关于k的选择3.8 关于学习率3.9 增加噪声3.10 不要使用性能太好…文章目录 1 什么是GAN2 GAN存在的问题3 训练的经验 3.1 不要纠结于损失函数的选择3.2 关于增加模型的容量3.3 尝试改变标签3.4 尝试使用 batch normalization3.5 尝试分次训练3.6 最好不要提早结束3.7 关于k的选择3.8 关于学习率3.9 增加噪声3.10 不要使用性能太好的判别器3.10 可以尝试最新的multi-scale gradient方法3.11 可以尝试使用TTUR3.12 使用Spectral Normalization4 正常的损失函数波动情况参考 自从 GAN 提出后它变得越来越火热吸引了众多的爱好者前来学习实践。 但是只要你自己去从无到有写出一个 GAN 模型并运行除非你运气太好大多数情况下你都会发现自己的GAN并不能很好地 work 。 下面首先对 GAN 进行简要的介绍然后整理了我自己在 GAN 的设计网络结构、调整参数等方面的经验。 1 什么是GAN GAN 是一种生成模型由知名的学者 Ian Goodfellow 首先提出并给出了实验结果和理论推导 https://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf 。 它以造假币为例对 GAN 的工作原理进行解释生成器Generator就像造假币的人判别器Discriminator就像警察原始数据的分布类比于真钱生成的数据分布类比于假钱。 造假币的人不断模仿真钱去造假币造出来的钱混入真钱一同交给警察去判断。造假币的人的目的是让自己造出来的假币不断逼近于真钱而警察既需要认出假钱、又不能冤枉真钱。 两者以此方式不断地对抗提升自己造假和打假的能力最终理想的结果是使得造假币的人能造出几乎无法辨识的假钱成功迷惑警察。 2 GAN存在的问题 训练不稳定损失值波动幅度大判别器收敛迅速损失值快速降到零生成器无能为力损失函数不断增大 3 训练的经验 3.1 不要纠结于损失函数的选择 刚开始你可能会认为损失函数对结果会产生较大的影响但是实践证明一般来说其对结果的影响一般并没有你想象的那样大。 因此对于 GAN 理论入门不久正在打开实践大门的人我的建议是选择最简单的损失函数就可以开始实验了。 因为后续还有好多事情值得你去头疼微调损失函数可以留到最后一步再考虑。 3.2 关于增加模型的容量 当GAN生成的图像不够准确、清晰时可尝试增加卷积层中的卷积核的大小和数量特别是初始的卷积层。 卷积核的增大可以增加卷积的视野域平滑卷积层的学习过程使得训练不过分快速地收敛。 增加卷积核数特别是生成器可以增加网络的参数数量和复杂度增加网络的学习能力。 但同时也可能存在增加生成器的模型 capacity 但是对于它快速被判别器打败的事实无济于事的情况每个人都使用不同的模型和数据会有不同的情况需要具体问题具体分析。 3.3 尝试改变标签 如果使用的是真实数据标签为1生成数据标签为0的分配方法可将其交换为真实数据标签为0生成数据标签为1。 这个小技巧会帮助网络在早期快速进行梯度计算帮助稳定训练过程。 此外还可使用软标签和带噪声的标签。 所谓软标签指不是使用0和1作为标签而是使用和0或1接近的小数来标记这样会减弱梯度的传播速度稳定训练。 而使用带噪声的标签指对少数的标签进行随机的扰动这也是一个帮助训练的小技巧。 3.4 尝试使用 batch normalization 我在实践的过程中使用 batch normalization 发现对结果的提升具有明显的帮助它在每一层都对数据进行归一化有利于防止数据发散进而保护训练的过程与结果的稳定性。 3.5 尝试分次训练 对于一般的 GAN 模型和多分类问题最好分次训练一次只训练一个类别以降低网络训练的难度并提高准确性。 而对于条件 GAN 等比如可以将类比标签一同作为输入以类别为先验条件的 GAN 可适度增大训练的难度。 3.6 最好不要提早结束 有时候我们会看到自己模型的损失函数在几个batch训练过后就停止波动了但是这个时候先不要为了节省时间而提前停止训练实践证明这个时候网络很可能仍然在不断地调整结构中。 有时候损失函数也可能突然出现很大的异常波动这个时候也不要马上提前停止训练多观察一会儿。 非常建议在训练的过程中通过保存等方式不断记录当前时刻下的训练结果。通过对结果图像的观察分析来判断训练的过程损失函数可能会一时蒙蔽双眼结果应该不会。 因此除非损失马上收敛到接近于0否则耐心地等待网络训练完再评估结果调整网络结构和参数。 3.7 关于k的选择 原论文中的 k 指每优化一次生成器的损失函数优化判别器的损失函数 k 次。 但是在实验中经常出现判别器迅速打败生成器的情况即判别器的损失函数快速下降生成器快速上升。 于是常规的思路就是增加生成器的训练次数。没训练一次判别器训练k次生成器。这样可以增加生成器的学习次数使得训练在开始时稍稳定。 然而实践证明如果判别器真的比生成器强太多这种调节k只是让结果崩溃来的晚一些。或者说只是相当于节省了少训练几次判别器的时间稍稍提升了结果。 我个人不建议出问题就改k的习惯还是应该从网络结构本身找问题所在才是治本的关键。 3.8 关于学习率 调整学习率是解决生成器崩溃的一剂良方。 当出现崩溃时尝试降低学习率可能会带来意想不到的效果。 3.9 增加噪声 与标签噪声相似还可在数据中引入一定量的噪声大多数情况下都能 work 。 3.10 不要使用性能太好的判别器 WGAN论文提到过若使用性能过好的判别器可能会使得判别器的损失函数在训练一开始就降到非常低后续对抗无法继续进行或者使得训练出来的生成器性能不够好。 3.10 可以尝试最新的multi-scale gradient方法 https://arxiv.org/abs/1903.06048 对于稳定训练帮助很大。 3.11 可以尝试使用TTUR https://arxiv.org/abs/1706.08500 对于生成器和判别器使用不同的学习率看似简单的 trick 对结果的提升却有奇效。 3.12 使用Spectral Normalization https://arxiv.org/abs/1802.05957 对卷积核使用Spectral Normalization极力安利。 4 正常的损失函数波动情况 目前来看正常的损失函数应该是 训练初始生成器和判别器的损失函数快速波动但是大致都分别朝着增大或减小的方向。趋于稳定后生成器和判别器的损失函数在小的范围内做上下波动此时模型趋于稳定。
http://www.tj-hxxt.cn/news/217660.html

相关文章:

  • 网站的一般制作流程html电影网站模板下载
  • 用asp做网站怎么美观建设部评职称网站
  • 电子商务网站建设实训室简介石家庄网站建设方案
  • 东莞网推广网站建设html底部友情链接代码
  • 电子商务平台 网站 建设方式短链接生成器下载
  • 网站新闻审核怎么做咸阳高端网站建设
  • 零基础做网站网站制作设计收费标准
  • wordpress 导航站949公社招聘信息
  • 单位门户网站怎么做wordpress docker中文
  • 网咯鸟深圳网站建设衡水企业网站建设费用
  • 一诺千金 网站建设wordpress设置关站
  • 做网站挣钱打擦边球wordpress主题模仿
  • 电子商务网站建设课程的心得如何做关于网站推广的培训
  • html5 网站开发wordpress djd site post
  • 网站排名优化提升快速网站建设找谁做
  • 个人网站建设安全怎么做广告图片设计
  • 商丘企业网站建设公司北京网站建设上石榴汇
  • 东营市城乡建设局网站在线网站建设课程
  • 深圳网站建设公司哪里有广告设计网站都有哪些
  • 山东济南网站建设公司排名三位数的域名网站
  • 濮阳网站开发刷关键词排名seo
  • 网站搭建哪里找有名气做网站图片用什么格式最好
  • 做家政网上推广网站网站的整体风格包括
  • 外贸网站推广方法毕业设计指导网站开发
  • 哪里有做网站的团购网站怎么推广
  • 织梦 蓝色 个人网站博客网站源码怎么分析网站设计
  • 做网站定金是多少重庆建设招标网站
  • 电商网站开发教材网站为什么突然访问不了
  • 网页制作素材库哪个网站龙口网站制作多少钱
  • 饰品网站设计方案网页设计需要考什么证