首页 > 其他分享 >ALPN复现记录. GAN WGAN .Bilevel Optimization

ALPN复现记录. GAN WGAN .Bilevel Optimization

时间:2024-12-02 16:22:15浏览次数:4  
标签:--- 判别 样本 Bilevel GAN Optimization def WGAN

title

  • ALPN 复现流程
  • GAN与WGAN
  • 二阶优化

1 这篇文章是一篇用于高频遥感图分类的应用型文章,公开数据集程序开源,难度友好,代码清晰程度较好。用'IP'数据集说明,其他类似

class AEDataset (Datapath, transform)
def getitem()
def len()
--->输出用于生成学习无标签的数据
pytorch中Dataset类是将原始数据封装成统一的数据接口,通过索引的方式访问数据。

class MYDataset(labelpath,transform)
def init(Datapath,Labelpath)
def getitem()
def len()
---> 输出用于监督学习的数据与标签

def generate_(batch_size,dim)
---->生成dim维度,batch_size数量的样本

--筛选样本--选了16*2=32个
循环随机选出固定个数样本到RequestX.npy RequestY.npy

Enc_AAE 编码器--使用上述32个
(channel,output_dim,windowSize,output_units)--->(feature,out)

SaveFeatures_AAE 保存无监督编码器提取的特征 所有样本
调用Enc_AAE.eval
(modelpath,XPath,Patch_channel=,windowSiz,encoded_dim,batch_size=, output_units)--->Patch_Features

---筛选样本--
SelectSamples 筛选样本
semi_kMeans 半监督选出离中心最近的
newCent 使用32个样本筛选出初始16个中心-->centroids
--- 循环将每个样本分配到聚类中心,计算每个类的中心,记录离聚类中心最近的样本加入RequestArray 现在是32+16=48

TrainWholeNet
调用Enc.train 48个训练一下model2 输出Train Loss
再调用SaveFeatures_AAE保存model2的eval提取的10249个特征

Test
使用1029-48剩下的测试

将分类结果写入CSv

总结 通过48个样本有监督+10249个样本无监督 完成。48个样本是首先随机选32 再Kmeans迭代选16。这篇只是很简单是AC思想 PN思想 不是传统的N-way K-shot 小样本

实验部分:控制变量取在 网络不同backbone 带不带主动学习筛选样本 单网络加上PCA
每类打标签样本变化表现
虽然不是每类都最优 但是总的OA AA 和Kappa是最优的

2 知识点

分类性能可以调官方APIclassification_report直接报告很多性能
3D卷积处理图像 WHD*C 捕捉数据在时间和空间维度的特征 视频图像 具有深度信息的图像数据 3D卷积更合适 so用于MFL反演上看看?

3 代码复现遇到的问题

train = 0,1 开关打开
.detech()函数 梯度脱离

*GAN

从数学散度角度看待GAN

然后会有collapse现象发生
如果一个判别器是完美的,那么我们将有
D(x)=1,x\in x_r
D(x)=0,x\in x_g

首先,将一个DCGAN分别训练1,10,25个epochs.然后,将训练好的生成器固定,从头开始训练一个判别器,记录损失函数的梯度变化情况.我们可以看到梯度的范数衰减非常快.在最好的情况下,经过4000次迭代,范数衰减了5个数量级.因此损失函数会降至0,进而导致我们将没有梯度用于更新损失. 图展示了当判别器表现愈发出色时,梯度消失愈快.

在训练过程中,生成器可能会崩溃,持续生成相同的输出.这是在训练GAN过程中经常出现的失败情况,一般被称作模式崩溃(Mode collapse).尽管生成器仍然可能能够欺骗相应的判别器,它已经失去了学习复杂的现实世界数据分布的能力.生成对抗网络并没有天生自带能够指示训练进程的目标函数.如果没有一个好的评估指标,无异于盲人摸象:既没有人告诉我们训练什么时候停止,也无法比较不同模型之间的好坏.

对collapse有两种探索
第一种探索 见图片
第二种探索加噪声 见图片

第三种Wasserterin Gan

与原本的GAN算法对比,WGAN有以下变化:

  • 在每次目标函数进行梯度更新后,限制参数在一个小区间中变化,操作上是绝对值截断到不超过一个固定常数c。

  • 使用了一个从Wasserstein距离中推导而来的新的损失函数,同时判别器模型也不再直接进行判别,而是用于帮助估计真实和生成数据分布之间的距离,操作上是将判别器最后一层去掉sigmoid。**这个pN中是不是可以模仿 实际上是回归拟合

  • 采用RMSProp优化器,而非一些基于动量的优化器如Adam等对损失函数进行优化,因为这样会导致在模型训练过程中的不稳定

令人遗憾的是,WGAN仍然不是完美的.就连WGAN的作者也在论文中提到,通过Weight clipping强行保持Lipschitz连续性显然是一个糟糕的方法.WGAN仍然面临训练不稳定,在Weight clipping后收敛速度太慢(如果cliping window太大),梯度消失(如果cliping window太小)等问题.

引用 https://zhuanlan.zhihu.com/p/25071913
https://zhuanlan.zhihu.com/p/692221825
https://zhuanlan.zhihu.com/p/34287744

*Bilevel Optimization 二阶层优化
GAN 和 Meta 都可以用BOL链接起来

https://zhuanlan.zhihu.com/p/619072227
https://www.cnblogs.com/kailugaji/p/15433024.html

标签:---,判别,样本,Bilevel,GAN,Optimization,def,WGAN
From: https://www.cnblogs.com/gegege/p/18556025

相关文章

  • Azure DevOps Server:使用甘特图Gantt展示需求进度
    自从AzureDevOpsServer取消与ProjectServer的集成后,许多用户都在关注如何使用甘特图来展示项目进度。在AzureDevOpsServer开放扩展Extension功能后,许多开发者或专业开发团队做了很多甘特图Gantt相关的开发工作,使用比较多的是(GANTTchart-VisualStudioMarketplace)。用户......
  • Cloud Mongodb中organization和project和cluster和databases的关系。
    一个集群(cluster)是多个数据库的集合,这多个数据库的集合共同服务于一个项目。本质上就是把需要的数据按照类别划分成不同的部分,然后分别存储在不同的数据库中。集群虽然是多个数据库的集合,但集群本身就是一个数据库,可以理解为一个服务器程序。但在使用时,可以把一个集群中的一个数据......
  • [Vue] Vue optimization
    TableofcontentUse keyFeezeobjectUsecompositionfunction(Vue2)Usecomputedlazyv-modelv-model保持对象引用稳定Usev-showinsteadofv-ifdeferkeep-alive长列表优化打包体积优化UsekeyNormallyuse keywhenyouhave v-for,andthis keyshould......
  • Symbolic Discovery of Optimization Algorithms
    目录概Lion代码ChenX.,LiangC.,HuangD.,RealE.,WangK.,LiuY.,PhamH.,DongX.,LuongT.,HsiehC.,LuY.andLeQ.V.Symbolicdiscoveryofoptimizationalgorithms.NeurIPS,2024.概本文搜索出了一个优雅的,且经验上似乎更好的优化器:Lion.Lion......
  • 安装appx文件,安装Ganache
    windowserver https://archive.trufflesuite.com/ganache/#  Add-AppxPackage-Path.\Ganache-2.7.1-win-x64.appx windows11参考链接:https://www.sysgeek.cn/manually-install-appx-windows/https://www.cnblogs.com/lianshuiwuyi/p/1818......
  • COMP2611: Computer Organization
    COMP2611:ComputerOrganizationFall2024ProgrammingProject:AircraftWar(Deadline11:55pm,Dec1,SundayviaCanvas)Copyright:Allprojectrelatedmaterials(thisprojectdescription,modifiedMARS,projectskeleton)isforpersonalusageofstudent......
  • POLIR-Society-Organization-Psychology-Training: The Junto Institute: {Relationsh
    POLIR-Society-Organization-Psychology-Emotionhttps://www.thejuntoinstitute.com/Emotionalintelligencetrainingformanagers&leadersintheremoteworkplace.HowYourCompanyBenefitsBettermanagersforimprovedemployeeperformanceHighermanag......
  • POLIR-Society-Organization-Psychology-Values:价值
    https://www.verywellmind.com/speaking-about-values-in-your-relationship-5191152SkiptocontentSearchRelationshipsStrengtheningRelationshipsHowtoTalkAboutYourValuesinaRelationshipByElizabethPlumptreUpdatedonFebruary19,2024Reviewedb......
  • nfs-ganesha对比NFS最佳实践
    概述随着业务规模的不断扩大和数据访问需求的日益增长,现有的文件共享服务面临着诸多挑战,如性能瓶颈、扩展性不足等问题。为了有效解决这些问题,我们考虑引入NFS-Ganesha作为新一代的高性能网络文件系统解决方案。NFS-Ganesha是一款基于用户空间的高性能网络文件系统服务器,......
  • 项目管理中进度管理工具——甘特图(Gantt Chart)
    这道题目考查的是关于项目管理中进度管理工具——甘特图(GanttChart)的知识点。甘特图是一种用于项目进度管理的条形图,它通过水平条形图来展示项目中各个任务的开始时间、结束时间和持续时间,以及任务之间的依赖关系。甘特图的主要特点和用途包括:任务时间线的可视化:甘特图可以清......