math - Strange behavior when implementing Back propagation in DBN -


Currently I'm trying to implement Deep Trust Network. But I have met a very strange problem. My source code can be found here:

I first applied RBM using CD and it works perfectly (using Gong's concurrency feature is very fast). Then I start implementing a normal feed forward network with diffusion and then it is strange. It looks very unstable when I run it with the Ether gate test, it sometimes fails, when I set the hidden layer nodes of 10 or more, it never fails.

Step 2: Calculate all activations with bias

Step 2: Calculate the output error

Step 3: Promote the back error of each node

Step 4: Calculate Delta weight and bias with speed for each node

Step 1 to step 4 I make a full batch and these delta weight and bias Yoga <

Step 5: Apply on the average delta weight and bias

I have found the tutorial

And this usually works if I give it more hidden layer nodes. My test code is here

So I think this should work and RMB and DBN should be implemented by adding normal NN. However, the result gets very bad. It can not even learn an Xor gate in 1000 travels. And sometimes it goes completely wrong. I tried to debug it, then I rebuilt a DBN after Pretren. Most of the time rebuilding looks good, but the previous campaign fails even when the pretren result is correct.

I do not really know what is wrong with the previous publicity. I should be misunderstood the algorithm or make some major mistakes in the implementation.

If possible, please run the test code and you will see how strange it is. The code itself is quite readable, any sign will be very helpful. Thank you in advance

I remember that you are saying Hinton that you do not train RMB on XOR There is something about the vector space, which does not allow two layer networks to work. Deep networks have fewer linear properties which allow it to work.

Comments

Popular posts from this blog

Java - Error: no suitable method found for add(int, java.lang.String) -

java - JPA TypedQuery: Parameter value element did not match expected type -

c++ - static template member variable has internal linkage but is not defined -