If you want to reduce the model capacity, you could lower the number of hidden neurons in the model.
Also note that nn.BCELoss is expecting a single neuron with a sigmoid applied on it for a binary classification use case.
So you would have to change the last linear layer to nn.Linear(512, 1) and use nn.Sigmoid. Or remove the softmax and sigmoid, return the raw logits, and use nn.BCEWithLogitsLoss`.
If you want to use two neurons for the binary classification, you could keep the last linear layer, remove the softmax, and use nn.CrossEntropyLoss.