位置: IT常识 - 正文

对抗生成网络(GAN)中的损失函数(对抗生成网络算法)

编辑:rootadmin
对抗生成网络(GAN)中的损失函数

目录

GAN的训练过程:

L1和L2损失函数的区别

基础概念

相同点

差异


GAN的训练过程:

推荐整理分享对抗生成网络(GAN)中的损失函数(对抗生成网络算法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:对抗生成网络,对抗生成网络赵晶,对抗生成网络赵晶,对抗生成网络GAN,对抗生成网络GAN,对抗生成网络,对抗生成网络,对抗生成网络赵晶,内容如对您有帮助,希望把文章链接给更多的朋友!

1、先定义一个标签:real = 1,fake = 0。当然这两个值的维度是按照数据的输出来看的。再定义了两个优化器。用于生成器和判别器。

2、随机生成一个噪声z。将z作为生成器的输入,输出gen_imgs(假样本)。

3、计算生成器的损失

定义:生成器的损失为g_loss。损失函数为adverisal_loss()。判别器为discriminator()。g_loss = adverisal_loss(discriminator(gen_imgs), real)g_loss.backward()optimizer_G.step()

可以看出来,g_loss是根据一个输出(将生成的样本作为输入的判别器的输出)与real的一个损失。

1)discriminator(gen_imgs) 的输出是个什么? 既然是判别器,意思就是判别gen_imgs是不是真样本。如果是用softmax输出,是一个概率,为真样本的概率。

2)g_loss = adverisal_loss(discriminator(gen_imgs), real) 计算g_loss就是判别器的输出与real的差距,让g_loss越来越小,就是让gen_imgs作为判别器的输出的概率更接近valid。就是让gen_imgs更像真样本。

3)要注意的是,这个g_loss用于去更新了生成器的权重。这个时候,判别器的权重并没有被更新。

4、分别把假样本和真样本都送入到判别器。

real_loss = adverisal_loss(discriminator(real_imgs), real)fake_loss = adverisal_loss(discriminator(gen_imgs.detach()), fake)d_loss = (real_loss + fake_loss) / 2d_loss.backward()optimizer_D.step()

real_loss是判别器去判别真样本的输出,让这个输出更接近与real。

对抗生成网络(GAN)中的损失函数(对抗生成网络算法)

fake_loss是判别器去判别假样本的输出,让这个输出更接近与fake。

d_loss是前两者的平均。

损失函数向后传播,就是为了让d_loss ---> 0。也就是让:

real_loss ---> 0 ===> 让判别器的输出(真样本概率)接近 real

fake_loss ---> 0 ===> 让判别器的输出(假样本概率)接近 fake

也就是说,让判别器按照真假样本的类别,分别按照不同的要求去更新参数。

5、损失函数的走向?

g_loss 越小,说明生成器生产的假样本作为判别器的输入的输出(概率)越接近real,就是生成的假样本越像真样本。

d_loss越小,说明判别器越能够将识别出真样本和假样本。

所以,最后是要让g_loss更小,d_loss更接近0.5。以至于d_loss最后为0.5的时候,达到最好的效果。这个0.5的意思就是:判别器将真样本全部识别正确,所以real_loss=0。把所有的生成的假样本识别错误(生成的样本很真),此时fake_loss = 1。最后的d_loss = 1/2。

补充:

L1和L2损失函数的区别基础概念

    L1损失函数又称为MAE(mean abs error),即平均绝对误差,也就是预测值和真实值之间差值的绝对值。     L2损失函数又称为MSE(mean square error),即平均平方误差,也就是预测值和真实值之间差值的平方。

相同点

    因为计算的方式类似,只有一个平方的差异,因此使用的场合都很相近,通常用于回归任务中。

差异

    1)L2没有L1鲁棒,直观来说,L2会将误差平方,如果误差大于1,则误差会被放大很多,因此模型会对异常样本更敏感,这样会牺牲许多正常的样本。当训练集中含有更多异常值的时候,L1会更有效。     2)如果是图像重建任务,如超分辨率、深度估计、视频插帧等,L2会更加有效,这是由任务特性决定了,图像重建任务中通常预测值和真实值之间的差异不大,因此需要用L2损失来放大差异,进而指导模型的优化。     3)L1的问题在于它的梯度在极值点会发生跃变,并且很小的差异也会带来很大的梯度,不利于学习,因此在使用时通常会设定学习率衰减策略。而L2作为损失函数的时候本身由于其函数的特性,自身就会对梯度进行缩放,因此有的任务在使用L2时甚至不会调整学习率,不过随着现在的行业认知,学习率衰减策略在很多场景中依然是获得更优模型的手段。  

本文链接地址:https://www.jiuchutong.com/zhishi/297739.html 转载请保留说明!

上一篇:GRU时间序列数据分类预测(时间序列garch)

下一篇:【Linux】rm 命令:删除文件/文件夹(linux rm 命令)

  • 个体工商户怎么年报
  • 出口退税通俗理解
  • 一般纳税人结转销售成本怎么算
  • 公司自有房产自用要交房产税吗
  • 出租车发票可以重新开吗
  • 领用包装物的会计分录
  • 个体工商户可以开建筑劳务发票吗?
  • 成立日期是注册日期吗
  • 固定资产加速折旧税收优惠政策
  • 营改增以前土地交易应交税费
  • 股权转让如何避免土地增值税
  • 从联营企业分回利润可以在税前扣除吗
  • 收到供应商发票的会计处理怎么做?
  • 教育费附加减免政策
  • 免抵退税系统操作流程
  • 认缴制需要多久交完
  • 销项已开进项还没有收到分录如何处理?
  • 营改增后房屋出租税率
  • 收到银行承兑汇票计入什么科目
  • 未达到起征点销售额会计分录
  • 房地产公司需要和哪些部门打交道
  • 无形资产管理的基本流程包括无形资产的
  • 存货入库后的仓储费记录
  • 软件产品合同
  • 增资后工商怎么变更
  • 货物劳务和应税收入区别
  • 城市垃圾处理项目
  • 基地建设费归哪个会计科目
  • 不动产租金收入缴纳增值税
  • 坏账准备冲回是借方还是贷方
  • 餐饮业成本核算明细表
  • 3%减按2%征收增值税政策
  • 历史时间线怎么写
  • 如何防止win10自动重启
  • 怎么认定是否为包工头
  • 公司买了一辆二手汽车,怎么入账
  • win10如何设置开机声音
  • php 实例
  • 固定资产折旧需要减去减值准备吗
  • 其他免税销售额>0时,免税性质代码不能为空是什么意思
  • framework教程
  • 应收账款保理会计处理相关会计准则
  • 钱进公账怎么转账给别人
  • 根据不同资产涉及的税有哪些
  • 金税盘 解锁
  • 帝国cms调用api接口
  • 织梦面包屑导航最后的分隔符大于号去掉方法
  • <四>2:掌握Const 与一二级指针结合应用
  • 发票上密码区数字什么意思
  • 专项扣除三险一金是哪三险
  • 固定资产入账原值含税价吗
  • 环保企业会计分录
  • 待抵扣进项税额是二级还是三级
  • 转出多交增值税账务处理
  • 无偿调出固定资产应计入什么
  • 商贸企业增值税税负率低于1%则存在涉税问题
  • 工程物资主要包括建筑材料
  • 充卡送礼品送些什么好
  • 免税的会计分录有哪些
  • 公户的利息收入账务处理咋处理
  • 行政单位合并财务怎么办
  • 并购贷款是固定资产贷款吗
  • 减免税款月末是否结平
  • windows自带安全
  • yum更新所有软件
  • win10开机出现microsoft
  • 用简洁的语言推荐一本书
  • perl判断字符串相等
  • javascript中this的用法
  • jquery 延迟执行方法
  • 搭建简单的spike课程
  • windows安装python pip
  • 创业要看的书
  • javascript基础教程答案
  • class在js中的实际运用
  • ADB not responding. You can wait more,or kill"abd.exe" process manually and click 'Restar
  • 广西税务申报增值税时为什么打开表格时总是加载中
  • 中医药文化进校园活动
  • 课税对象与征税对象一样吗
  • 新疆税务总局网站官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设