Looks like this is a classification problem as opposed to a regression problem. (The NN is trying to pick one output). You very likely want to use a cross entropy loss function, not MSE.
I think this is correct - binary cross-entropy on the sigmoid outputs should at least make the network easier to train and may as a consequence improve test performance.
Good point. I tried to use PyTorch’s cross_entropy function but I got this error: "multi-target not supported".
But the number of outputs is not fixed. What if the number of given points is 1000, or 10000?