That’s strange. I ran your code with random input and targets and the model seems to learn.
After some epochs I get:
('target', ' 1  1  0  0')
('predct', ' 1  1  0  0')
Loss: 0.496161192656

What kind of input data are you using? Is the loss moving at all?