Coder Social home page Coder Social logo

dr-gzsl's Introduction

baseline: CADA-VAE

基于CADA—VAE实现AAAI2021将解耦用于GZSL的文章。 image

实现细节

  • 目前shuffle classification loss的权重因子设为5,学习率为0.01,然后训练解耦VAE。
  • 训练好VAE后,再训练最终分类器,最高可达0.535
  • 训练最终分类器时,GZSL上的精度变化:
  • 开始时,大概前15个epoch,unseen acc和seen acc会一起提高,
  • 随着训练的进行,unseen acc降低,seen acc提高。

一些需要调参的地方

  1. warm up阶段对损失权重因子的调整。这个比较难调整,先不调。

alpha, beta这些权重因子超参数,文章都没给出

  1. 辅助分类器,输出可见类数量还是所有类别数量,目前是输出所有类别数量
  2. 训练轮次
  • VAE训练轮次,尝试了100,150,200,最后算到200
  • GZSL分类器训练轮次,尝试了23、40、60,最后设为60,事实上到30左右时H值就差不多达到最高了
  1. 不同权重因子的变化策略。
  • 尝试了1,5,10,目前shuffle classification的factor设置为10效果最好
  1. CADA中,测试集数据,reparameter=False,不知为何

关于训练VAE的时候损失最后仍然较大的问题

  • 其实能稳定到一个点即可,即能达到稳定状态。因为最后并不是用VAE做分类,而是要另外训练一个分类器。

另外,VAE中的重构损失项具有较大的损失。

  • CADA-VAE训练100轮后,损失为13000左右,训练200轮,仍然在13000左右。

dr-gzsl's People

Contributors

callmenumber1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

dr-gzsl's Issues

调节随机种子

首先感谢大佬的复现,因为个人能力有限,对文章中的一些细节一直留有疑惑,也一直没能找到disentanglement-VAE的复现。
我昨天跑了一下你的代码,我这边在CUB上最好是0.538,这个主要是随机种子带来的增益,我测试了几个,发现设为1287最好。

我有个疑问,就目前你复现的模型来看,我发现作者提出的shuffle的过程对最终结果的增益似乎并不大,跑出来和CADA-VAE差不多(目前只是就CUB而言)

作者原文中提到的cat(z_p, z_t)实际上真的就是简单的相加吗?这样做真的是有效的decouple吗?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.