kweonwooj / papers

summary of ML papers I've read
318 stars 34 forks source link

Neural Discrete Representation Learning #94

Open kweonwooj opened 6 years ago

kweonwooj commented 6 years ago

Abstract

Details

Introduction

Related Work

VQ-VAE

screen shot 2018-03-22 at 3 38 25 pm

Experiments

Personal Thoughts

Link : https://arxiv.org/pdf/1711.00937.pdf Authors : van den Oord et al. 2017

evanthebouncy commented 5 years ago

pretty cool notes.

i think to train it you just have 2 kind of losses:

1) normal auto-encoder loss 2) clustering loss, i.e. embed input z(x), compute the closest code-vector e, and minimize |z(x) - e|

In the paper they used 2 different loss for 2), one moves e toward z(x), and other moved z(x) toward e:

|sg[z(x)] - e|

and

|z(x) - sg[e]|

where you can think of stop gradient "sg" as turning z(x) into a constant.

should be straight forward in pytorch

edoardogiacomello commented 5 years ago

I'm trying to implement this in tensorflow 2.0 but I've still got some doubts about the training phase. How can can the latent space (also called codebook in later papers) can be learnt if it is supposed to be discrete? They also propose to use an exponential moving average, which would generate a latent space which is no more discrete. I would like to see some code examples of this work

mahendrathapa commented 2 years ago

Isn't the loss function is 1