Giter Club home page Giter Club logo

normalized-autoencoders's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

normalized-autoencoders's Issues

VAE Comparison

Hi Sangwoong @swyoon ,

Just for curiosity, it may not be related to the main work.

Thanks for releasing scripts of 2D experiments. I saw you are using a VAE with a learnable std for comparisons. Just wondering, won't it lead to posterior collapse? Since the std can constantly be increasing to reduce the total loss. Did you use any technique to avoid this? Thanks.

loglik = const - 0.5 * ((x - decoder_out)**2).view((x.shape[0], -1)).sum(dim=1) / (sig ** 2)

vae = VAE(encoder, decoder, sigma_trainable=True, use_mean=False)

some key word missing

안녕하세요. 저번에 말씀드린 부분 중 일부가 수정이 되지 않은 것 같습니다.
train.py 57 line의 clip_grad와 nae.py 39 line의 small_lr_D 부분은 아직 남아있는데, yml파일에는 두 keyword가 존재하지 않아 run이 안되고 있습니다.

안녕하세요. 최근에 딥러닝을 공부하고있는 직장인입니다. 로스함수 관련 궁금한게 있어 문의드립니다.

안녕하십니까

성남에서 검사관련 회사에서 일하고있는 직장인입니다.
딥러닝에 관심이 많아 최근에 딥러닝을 이용하여 anomality detection모델을 개인적으로 공부하면서 이것저것 찾다가
tensorflow kr 페이스북에서 해당 사이트 링크를 타고 들어와서 논문을 보게되었습니다.

현재 제가 anomality 검출 모델을 공부하는 중에 시도해본 모델은 일반적인 컨볼루션 오토인코더를 이용해서
입력 대비 출력간의 편차를 이용하여 검출해보고자 했었습니다. 하지만 논문에서도 말씀하셨다시피 이물, 혹은 outliear 데이터에 대해 defeat 부분이 필터링되지 않고 출력으로 나오는 경우가 있어 고민중에 있었습니다.

작성하신 논문에서는 이부분을 큰 수정없이 획기적으로 개선한것 같아보여(유투브 동영상을 시청했었습니다.)
이를 참고해서 개인적으로 공부를 해보고자 하는데

image

동영상에서도 말씀하신 minimize reconstruction error부분은 일반적인 mean square error로 보이고
Enforcing normalization 텀쪽의 오메가 쪽 부분을 보면 exponential에 -E0(mean square error)를 넣고 모든 픽셀에 대해서 sum을 한 이후 (integral) 이를 log에 넣고 minimize reconstruction error항과 더해서 최종 토탈 loss를 구하신것으로 이해했습니다.

image

하지만 실제 keras로 구현하여 학습해보았을때 loss가 0로 나오고 학습이 되지않아 제가 이해한 것이 맞는지
여쭤보기 위해서 이렇게 질문드립니다. 토치 버전의 trainer 쪽 코드도 참고하였으나 동영상에서 언급하신 log(오메가)항이 없고
다르게 코드가 구현되어있는것 같아 혼란스럽습니다. 제가 만약 틀리게 이해를 한것으라면 혹시 팁을 주실수있으실가요?

image

Some Keyword missed and unexpected in .yml files

안녕하세요. Sample Code를 돌려보다 몇가지 에러가 발생해서 여쭤봅니다.

  1. python train.py --config configs/mnist_ood_nae/z32.yml --logdir results/mnist_ood_nae/ --run run --device 0
    실행시 'unexpected keyword argument' 에러가 발생하는데, yml파일에 쓰여진 deterministic, sigma, sigma_trainable이 models/init.py의 NAE 생성자에 없는 것으로 보입니다.

  2. 위의 keyword 3개를 yml파일에서 삭제하고 실행했을 때 omegaconf.errors.ConfigKeyError: Missing key clip_grad 에러가 발생합니다. 논문을 바탕으로 yml파일의 training: 하위에 clip_grad: 0.01 를 작성하고 실행해도 omegaconf.errors.ConfigKeyError: Missing key small_D_lr 에러가 발생합니다.

에러에 대해 제가 잘못 실행한 점이 있거나 수정방안을 알려주시면 감사하겠습니다!


Hello :)
Some error occurred while running the sample code.

  1. When i run python train.py --config configs/mnist_ood_nae/z32.yml --logdir results/mnist_ood_nae/ --run run --device 0, 'unexpected keyword argument' is printed and an error occurs. it sems to be missing some keyword(deterministic, sigma) in the yml file.

  2. When 3 keywords are deleted and running, 'omegaconf.errors.ConfigKeyError: Missing key clip_grad' is printed and error occurs.

I would appreciate it if you could let me know if there was something wrong with the error or how to correct it!

Divergence of CD/PCD

Hi Sangwoong @swyoon ,

As you reported the results of CD/PCD counterparts (e.g., Table 1), did you successfully tune to train the EBMs by these algorithms? I cannot make it. The model diverges soon. How did you make it?

Just after several hundred iterations, the energy is like (white one),

image

the sample is like,

image

Thanks.

where is cifar10_trainval_idx.npy?

안녕하세요. TFKR 글을 통해 좋은 논문을 읽게 되었습니다.

논문이 흥미로워서 sample code를 돌려보려했는데, datasets/cifar10_trainval_idx.npy가 존재하지 않아 정상 실행이 되지 않고있습니다.

파일이 추후 공유되는지, 혹은 제가 잘못한 점이 있는지 알려주시면 감사하겠습니다.😊


I tried to run this sample code, but cifar10_trainval_idx.npy file does not exist, so it dosn't run.

Please let me know if the file will be shared later or if there is anything I did wrong.

Some unexpected keyword augments when constructing the model

Hi,

Thanks for great work and share. May I ask if it seems to have some problems with the provided .yml files? Like for CelebA64, delta, deterministic, etc.

Traceback (most recent call last):
  File "train.py", line 109, in <module>
    run(cfg, writer)
  File "train.py", line 45, in run
    model = get_model(cfg).to(device)
  File "normalized-autoencoders/models/__init__.py", line 226, in get_model
    model = model(**model_dict)
  File "normalized-autoencoders/models/__init__.py", line 210, in get_nae
    ae = NAE(encoder, decoder, **model_cfg["nae"])
TypeError: __init__() got an unexpected keyword argument 'delta'

pos_out > neg_out

Hi SW @swyoon ,

As far as I know, the expectation of EBM training at least should be pos_out <= neg_out, right? However, I found in the exp of CelebA 64, we end up early where pos_out > neg_out.

image

model_best VS. Training from Scratch

Hi SW,

May I check, model_best is not necessary to be the last checkpoint of AE training, right? I mean, it may be an early-stopping one? Because I found that NAE training from model_best.pth is quite different from that from scratch (e.g., ae_epoch=30). Thanks.

E.g., for neg_e,
image

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.