How can a Neural Network be Fine-Tuned?

In fine-tuning a neural network, does that solely rely on…

1)…adjusting the training weights?

2)…reducing or increasing the hidden layers?

3)…a method to prune neurons from the neural network? (if possible… Since a neural network is said to mimic the human brain there are some useless neurons that would be discarded, right?)

4)…all of the above-mentioned factors?

Source: Windows Questions C++