sjoerdvansteenkiste / neural-em Goto Github PK
View Code? Open in Web Editor NEWCode for the "Neural Expectation Maximization" paper.
License: MIT License
Code for the "Neural Expectation Maximization" paper.
License: MIT License
Can I ask about the training time?
Thanks!
Hi,
I saw in your code that you used a univariate Gaussian (or univariate Bernoulli) distribution to compute the pixel probabilities.
I'm wondering if you used the univariate formulation because you assume that each pixel and each channel are independent?
If that is the case, and I want to extend the model to items with a d-dimensional embedding, should I use a d-variate distribution or it wouldn't change much from the univariate formulation?
Cheers,
Sandro
Hi! Fisrst of all, thanks for the codes.
I read the codes, and I found that you compute the pixelwise probabilities of prediction with bernoulli distribution as probs = pdata + (1-data)(1-p) (in function conpute_em_probabilities->class NEMCell->nem_model.py),.
I am not sure what this formula means. Is it the expection with the latent varialble z that would be further normalized in dimention k?
Hi, in the paper, you mentioned "RNN-EM naturally extends to sequential data", does it mean that RNN-EM works better (than N-EM) in the "flying" experiments? Why the result shows that RNN-EM also works better than N-EM in the static case?
Thank you.
Hello,
I have a question about the learning rate implemented in N-EM.
In section A.1 of the appendix of your paper, you mention that "[we] train an additional weight to implement the learning rate that is used to combine the gradient ascent updates into the current parameter estimate."
I assume from this that the learning rate of the GEM algorithm is learned instead of fixed, but there aren't any more details as to the what network outputs the learning rate at each EM iteration and what are its inputs to this network. Furthermore, I can't seem to locate where in this repo this learnable learning rate is implemented.
I would really appreciate your help.
Thanks in advance :)
Dear Sjoerd,
Currently, I am trying to work with your NEM framework.
However, I could not run it successfully.
The error I get is the following:
Traceback (most recent calls WITHOUT Sacred internals):
File "nem.py", line 336, in run
train_op, train_graph, valid_graph, debug_graph = build_graphs(train_inputs.output, valid_inputs.output)
File "nem.py", line 152, in build_graphs
train_graph = build_graph(train_inputs['features'], train_inputs['groups'])
File "nem.py", line 119, in build_graph
static_nem_iterations(features_corrupted, features, dataset['binary'])
File "D:\Unsupervised Learning\Neural-EM\nem_model.py", line 305, in static_nem_iterations
nem_cell = NEMCell(inner_cell, input_shape=(W, H, C), distribution=pixel_dist)
File "D:\Unsupervised Learning\Neural-EM\nem_model.py", line 50, in init
self.input_shape = input_shape
AttributeError: can't set attribute
Do you have any experience about it?
Thank you for your help!
Best,
Siming
Can someone please suggest how to create new dataset so that we can check on different image object.
Hi, thanks for your great work and I have a question on equation (4)
Equation(4) is calculating gradients of Q w.r.t , which is equation (2)
since is related with
in through
.
I know the first part is
and my question is how to calculate the gradient of the second part ?
Did you use to get the result? but still no equation for
Sorry to bother and I know this is really a basic question but I tried a long time but did not get the result
Thanks for your time and any help would be appreciated
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.